Exemple #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."));
        }
Exemple #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."));
        }