public PostResult<int> Post(UserDetails user)
 {
     var result = GetDefault<PostResult<int>>();
     if (isHas(user.Name, user.Id))
     {
         result.Message = "USER_NAME_HAS_EXIST";
         result.StateCode = 0x00302;
         return result;
     }
     var model = new User()
     {
         CreateTime = DateTime.Now,
         Password = "",
         Email = user.Email,
         State = user.State,
         RealName = user.RealName,
         Name = user.Name
     };
     DbEntities.Users.Add(model);
     DbEntities.SaveChanges();
     result.Id = model.Id;
     result.IsCreated = true;
     return result;
 }
 public PutResult Put(UserDetails user)
 {
     var result = GetDefault<PutResult>();
     var model = DbEntities.Users.FirstOrDefault(x => x.Id == user.Id);
     if (isHas(user.Name, user.Id))
     {
         result.Message = "USER_NAME_HAS_EXIST";
         result.StateCode = 0x00302;
         return result;
     }
     if (model == null)
     {
         result.Message = "USER_NOT_EXIST";
         result.StateCode = 0x00303;
         return result;
     }
     model.RealName = user.RealName;
     model.Name = user.Name;
     model.State = user.State;
     model.Email = user.Email;
     DbEntities.SaveChanges();
     result.IsSaved = true;
     return result;
 }
 public PutResult PutRoles(UserDetails userDetails)
 {
     var result = GetDefault<PutResult>();
     var model = DbEntities.Users.FirstOrDefault(x => x.Id == userDetails.Id);
     if (model == null)
     {
         result.Message = "USE_NOT_EXIST";
         result.StateCode = 0x00402;
         return result;
     }
     var list = model.UserToUserRoles.ToList();
     if (userDetails.Roles != null)
     {
         foreach (var item in userDetails.Roles)
         {
             if (!list.Exists(x => x.UserRoleId == item.Id))
             {
                 model.UserToUserRoles.Add(new UserToUserRole() { UserRoleId = item.Id, UserId = model.Id });
             }
         }
         foreach (var item in list)
         {
             if (!userDetails.Roles.Exists(x => x.Id == item.UserRoleId))
             {
                 model.UserToUserRoles.Remove(item);
             }
         }
         DbEntities.SaveChanges();
     }
     result.IsSaved = true;
     return result;
 }
        public PutResult RolesPut(UserDetails user)
        {
            var result = GetDefault<PutResult>();
            var model = DbEntities.Users.FirstOrDefault(x => x.Id == user.Id);
            if (model == null)
            {
                result.Message = string.Format("当前编辑的用户“{0}”已经不存在", user.Name);
                return result;
            }

            var list = model.UserToUserRoles.ToList();
            DbEntities.UserToUserRoles.RemoveRange(list.Where(x => !user.Roles.Exists(z => z.Id == x.UserRoleId)));
            var appends = user.Roles.Where(x => !list.Exists(z => z.UserRoleId == x.Id));
            DbEntities.UserToUserRoles.AddRange(appends.Select(x => new UserToUserRole()
            {
                UserId = user.Id,
                UserRoleId = x.Id
            }));
            DbEntities.SaveChanges();
            result.IsSaved = true;
            return result;
        }
 public PutResult PwdPut(UserDetails user)
 {
     var result = GetDefault<PutResult>();
     var model = DbEntities.Users.FirstOrDefault(x => x.Id == user.Id);
     if (model == null)
     {
         result.Message = string.Format("当前编辑的用户“{0}”已经不存在", user.Name);
         return result;
     }
     model.Password = user.Password;
     DbEntities.SaveChanges();
     result.IsSaved = true;
     return result;
 }
 public ResultBase Put(UserDetails user)
 {
     return Service.Put(user);
 }