public ActionResult Delete([DataSourceRequest] DataSourceRequest request, UserViewModel user) { if (user != null && ModelState.IsValid) { var currentUser = this.Data.GetRepository<ApplicationUser>().All().FirstOrDefault(u => u.Id == user.Id); currentUser.IsDeleted = true; this.Data.GetRepository<ApplicationUser>().Update(currentUser); this.Data.Save(); } return Json(new[] { user }.ToDataSourceResult(request), JsonRequestBehavior.AllowGet); }
public static UserViewModel ConvertFrom(ApplicationUser user) { UserViewModel userViewModel = new UserViewModel() { Id = user.Id, Email = user.Email, IsDeleted = user.IsDeleted, Name = user.Name, Phone = user.Phone, UserName = user.UserName, Roles = user.Roles.AsQueryable().Select(RoleViewModel.FromUserRole).ToList() }; return userViewModel; }
public ActionResult Update([DataSourceRequest] DataSourceRequest request, UserViewModel user) { var newRoles = new List<UserRole>(); if (user != null && ModelState.IsValid) { var currentUser = this.Data .GetRepository<ApplicationUser>() .All() .Include(u => u.Roles) .FirstOrDefault(u => u.Id == user.Id); if (user.Roles != null) { foreach (var role in user.Roles) { string current = role.Id; var currentRole = this.Data .GetRepository<Role>() .All() .FirstOrDefault(r => r.Id == current); var newUserRole = new UserRole() { Role = currentRole, RoleId = currentRole.Id, User = currentUser, UserId = currentUser.Id }; newRoles.Add(newUserRole); } } currentUser.IsDeleted = user.IsDeleted; currentUser.UserName = user.UserName; currentUser.Name = user.Name; currentUser.Phone = user.Phone; currentUser.Email = user.Email; currentUser.Roles = newRoles; this.Data.GetRepository<ApplicationUser>().Update(currentUser); this.Data.Save(); user = UserViewModel.ConvertFrom(currentUser); } return Json(new[] { user }.ToDataSourceResult(request), JsonRequestBehavior.AllowGet); }