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