基于Layui框架的NET后台管理系统

类图:

这里写图片描述

CategoryController.cs

using System.Data.Entity;
using System.Data.Entity.Infrastructure;
using System.Linq;
using System.Net;
using System.Web.Http;
using System.Web.Http.Description;
using Layui.Models;

namespace Layui.WebApiControllers
{
    public class CategoryController : ApiController
    {
        private readonly Entities db = new Entities();

        // GET api/Category
        public IQueryable<Category> GetCategorys()
        {
            return db.Categorys;
        }

        // GET api/Category/5
        [ResponseType(typeof (Category))]
        public IHttpActionResult GetCategory(int id)
        {
            Category category = db.Categorys.Find(id);

            if (category == null)
            {
                return NotFound();
            }

            return Ok(category);
        }

        // PUT api/Category/5
        public IHttpActionResult PutCategory(int id, Category category)
        {
            if (!ModelState.IsValid)
            {
                return BadRequest(ModelState);
            }

            if (id != category.Id)
            {
                return BadRequest();
            }

            db.Entry(category).State = EntityState.Modified;

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!CategoryExists(id))
                {
                    return NotFound();
                }
                throw;
            }

            return StatusCode(HttpStatusCode.NoContent);
        }

        // POST api/Category
        [ResponseType(typeof (Category))]
        public IHttpActionResult PostCategory(Category category)
        {
            if (!ModelState.IsValid)
            {
                return BadRequest(ModelState);
            }

            db.Categorys.Add(category);
            db.SaveChanges();

            return CreatedAtRoute("DefaultApi", new {id = category.Id}, category);
        }

        // DELETE api/Category/5
        [ResponseType(typeof (Category))]
        public IHttpActionResult DeleteCategory(int id)
        {
            Category category = db.Categorys.Find(id);
            if (category == null)
            {
                return NotFound();
            }

            db.Categorys.Remove(category);
            db.SaveChanges();

            return Ok(category);
        }

        protected override void Dispose(bool disposing)
        {
            if (disposing)
            {
                db.Dispose();
            }
            base.Dispose(disposing);
        }

        private bool CategoryExists(int id)
        {
            return db.Categorys.Count(e => e.Id == id) > 0;
        }
    }
}

UserController.cs


using System.Collections.Generic;
using System.Linq;
using System.Web.Http;
using Layui.Models;
using Layui.ViewModels;
using Microsoft.AspNet.Identity;
using Microsoft.AspNet.Identity.EntityFramework;

namespace Layui.WebApiControllers
{
    public class UserController : ApiController
    {
        private readonly ApplicationDbContext db = new ApplicationDbContext();

        public UserController() : this(new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(new ApplicationDbContext())))
        {
        }

        public UserController(UserManager<ApplicationUser> userManager)
        {
            UserManager = userManager;
        }

        public UserManager<ApplicationUser> UserManager { get; private set; }

        // GET api/user
        public IEnumerable<UserViewModel> Get()
        {
            IQueryable<UserViewModel> users = from u in db.Users
                select new UserViewModel
                {
                    Id = u.Id,
                    UserName = u.UserName,
                    Alias = u.Alias,
                    Comments = u.Comments,
                    Articles = u.Articles,
                    Email = u.Email,
                    Intro = u.Intro,
                    IP = u.IP,
                    Meta = u.Meta,
                    Pages = u.Pages,
                    PostTime = u.PostTime,
                    Template = u.Template,
                    Uploads = u.Uploads
                };
            return users;
        }

        // GET api/user/5
        public UserViewModel Get(string userId)
        {
            ApplicationUser u = UserManager.FindById(userId);
            var user = new UserViewModel
            {
                Id = u.Id,
                UserName = u.UserName,
                Alias = u.Alias,
                Comments = u.Comments,
                Articles = u.Articles,
                Email = u.Email,
                Intro = u.Intro,
                IP = u.IP,
                Meta = u.Meta,
                Pages = u.Pages,
                PostTime = u.PostTime,
                Template = u.Template,
                Uploads = u.Uploads,
                RoleId = string.Empty
            };

            List<IdentityUserRole> r = u.Roles.ToList();
            if (r.Count() > 0)
            {
                user.RoleId = r[0].RoleId;
            }
            return user;
        }

        // POST api/user
        public void Post([FromBody] UserViewModel user)
        {
            var u = new ApplicationUser {UserName = user.UserName};
            IdentityResult result = UserManager.Create(u, "asdkjfi2n@sdklsadiopas$ed8asdkAfq2kf"); //随机初始密码
            UserManager.Update(u);
        }

        // PUT api/user/5
        public IHttpActionResult Put(string userId, [FromBody] UserViewModel user)
        {
            ApplicationUser u = UserManager.FindById(user.Id);
            u.UserName = user.UserName;
            u.Alias = user.Alias;
            u.Comments = user.Comments;
            u.Articles = user.Articles;
            u.Email = user.Email;
            u.Intro = user.Intro;
            u.IP = user.IP;
            u.Meta = user.Meta;
            u.Pages = user.Pages;
            u.PostTime = user.PostTime;
            u.Template = user.Template;
            u.Uploads = user.Uploads;
            if (!string.IsNullOrEmpty(user.RoleId))
            {
                UserManager.AddToRole(user.Id, "超级管理员");
            }
            IdentityResult result = UserManager.Update(u);

            return Ok(result);

        }


        // DELETE api/user/5
        public void Delete(string userId)
        {
            ApplicationUser user = UserManager.FindById(userId);
        }

        protected override void Dispose(bool disposing)
        {
            if (disposing && UserManager != null)
            {
                UserManager.Dispose();
                db.Dispose();
                UserManager = null;
            }
            base.Dispose(disposing);
        }
    }
}

运行结果如图:

这里写图片描述


这里写图片描述


这里写图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值