public Result Create(AdminRoleDto dto) { var validator = new AdminRoleValidator(); var result = validator.ValidateResult(dto); if (!result.Success) { return(result); } var entity = Mapper.Map <AdminRole>(dto); entity.SystemName = _adminRoleRepository.GenerateUniqueSlug(entity.Name, slugFieldName: "SystemName"); _adminRoleRepository.Insert(entity); foreach (var permissionId in dto.Permissions) { entity.Permissionses.Add(_adminPermissionRepository.Find(permissionId)); } _unitOfWork.Commit(); AdminRoleCacheManager.ClearCache(); result.Id = entity.Id; return(result.SetSuccess("Record has been successfully saved.")); }
public Result Edit(AdminRoleDto dto) { var validator = new AdminRoleValidator(); var result = validator.ValidateResult(dto); if (!result.Success) { return(result); } var entity = _adminRoleRepository.AsNoTracking .Include(i => i.Permissionses) .FirstOrDefault(s => s.Id == dto.Id); if (entity == null) { return(new Result().SetBlankRedirect()); } Mapper.Map <AdminRole>(dto, entity); entity.SystemName = _adminRoleRepository.GenerateUniqueSlug(entity.Name, slugFieldName: "SystemName", id: dto.Id); _adminRoleRepository.Update(entity); ChildRoleUpdate(entity, dto); _unitOfWork.Commit(); AdminRoleCacheManager.ClearCache(); return(result.SetSuccess("Record has been successfully saved.")); }
public JsonResult Edit(AdminRoleDto dto) { var result = _adminRoleService.Edit(dto); if (result.IsRedirect) { result.Redirect = Url.Action("Index"); } return(ToJsonResult(result)); }
public JsonResult Create(AdminRoleDto dto) { var result = _adminRoleService.Create(dto); if (result.Success) { result.Redirect = Url.Action("Edit", new { id = result.Id }); } return(ToJsonResult(result)); }
public static void Init() { Mapper.AddMap <AdminRole, AdminRoleDto>(src => { var adminUserViewModel = new AdminRoleDto(); adminUserViewModel.InjectFrom(src); adminUserViewModel.Permissions = src.Permissionses.Select(s => s.Id).ToList(); return(adminUserViewModel); }); Mapper.AddMap <AdminRoleDto, AdminRole>((from, to) => { var existing = to as AdminRole ?? new AdminRole(); existing.InjectFrom(new LoopInjection(new[] { "Permissions" }), from); return(existing); }); }
private void ChildRoleUpdate(AdminRole entity, AdminRoleDto dto) { var currentRecords = entity.Permissionses.Select(s => s.Id).ToList(); var addedRecords = dto.Permissions.Except(currentRecords).ToList(); foreach (var record in addedRecords) { entity.Permissionses.Add(_adminPermissionRepository.Find(record)); } var deletedRecords = currentRecords.Except(dto.Permissions).ToList(); foreach (var record in deletedRecords) { entity.Permissionses.Remove(entity.Permissionses.First(w => w.Id == record)); } }