Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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;
        }
Esempio n. 3
0
        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);
        }