private void ValidateUpdateRequest(UpdateUserGroupRequest request)
        {
            if (request.Id == null || request.Id == Guid.Empty)
            {
                throw new ValidationException("security.addOrUpdateUserGroup.validation.idIsInvalid");
            }

            IUserGroupRepository repository = IoC.Container.Resolve <IUserGroupRepository>();

            if (repository.GetById(request.Id.ToString()) == null)
            {
                throw new ValidationException("security.addOrUpdateUserGroup.validation.itemNotExist");
            }

            if (string.IsNullOrWhiteSpace(request.Name))
            {
                throw new ValidationException("security.addOrUpdateUserGroup.validation.nameIsRequire");
            }

            UserGroup itemByName = repository.GetByName(request.Name);

            if (itemByName != null && itemByName.Id != request.Id)
            {
                throw new ValidationException("security.addOrUpdateUserGroup.validation.nameAlreadyExist");
            }

            string    key       = App.Common.Helpers.UtilHelper.ToKey(request.Name);
            UserGroup itemByKey = repository.GetByKey(key);

            if (itemByKey != null && itemByKey.Id != request.Id)
            {
                throw new ValidationException("security.addOrUpdateUserGroup.validation.keyAlreadyExisted");
            }
        }
        public void UpdateUserGroup(Guid id, UpdateUserGroupRequest request)
        {
            request.Id = id;
            IUserGroupService roleService = IoC.Container.Resolve <IUserGroupService>();

            roleService.Update(request);
        }
示例#3
0
        /// <summary>
        /// 修改
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public async Task <ApiResult <string> > UpdateAsync(UpdateUserGroupRequest request)
        {
            return(await ExecuteResultAsync(async query =>
            {
                var rsp = new ApiResult <string>();
                var entity = await query.FirstOrDefaultAsync(p => p.Id == request.Id);
                if (entity == null)
                {
                    rsp.Message = "找不到要修改的信息.";
                    return rsp;
                }

                entity.Name = request.Name;
                entity.Remarks = request.Remarks;
                entity.Status = request.Status;
                // 修改
                RegisterDirty(entity);
                // 提交
                var flag = await CommitAsync();

                rsp.Message = flag ? "更新成功" : "更新失败";
                rsp.Success = flag;
                rsp.Data = entity.Id;
                return rsp;
            }));
        }
示例#4
0
        public async Task UpdateUserGroup(UpdateUserGroupRequest request)
        {
            Tracer.TraceEnter($"request = <{JsonConvert.SerializeObject(request)}>");
            await _userRepository.UpdateUserGroup(request);

            Tracer.TraceExit();
        }
示例#5
0
        public async Task <UpdateUserGroupResponse> UpdateUserGroup(UpdateUserGroupRequest o)
        {
            var result = new UpdateUserGroupResponse(o.RequestId);

            result.Application = o.Application;
            result.Updated     = await Server.UpdateUserGroup(o.Id, o.Name, o.Description);

            return(result);
        }
        private void RemoveRemovedPermissions(UserGroup existedItem, UpdateUserGroupRequest request, IUnitOfWork uow)
        {
            if (existedItem.Permissions.Count == 0)
            {
                return;
            }
            IList <Guid>       existPers    = existedItem.Permissions.Select(item => item.Id).ToList();
            IEnumerable <Guid> removedItems = existPers.Except(request.PermissionIds);

            foreach (Guid item in removedItems)
            {
                Permission per = existedItem.Permissions.FirstOrDefault(perItem => perItem.Id == item);
                existedItem.Permissions.Remove(per);
            }
        }
示例#7
0
        public async Task UpdateUserGroup(UpdateUserGroupRequest request)
        {
            var parameters = new DynamicParameters();

            parameters.Add("@id", request.Id);
            parameters.Add("@name", request.Name);

            using (IDbConnection conn = new SqlConnection(ConnectionString))
            {
                await conn.ExecuteAsync(
                    StoredProcedures.UpdateUserGroup,
                    parameters,
                    commandType : CommandType.StoredProcedure);
            }
        }
        private void AddAddedPermission(UserGroup existedItem, UpdateUserGroupRequest request, IUnitOfWork uow)
        {
            if (request.PermissionIds.Count == 0)
            {
                return;
            }
            IList <Guid>          existPers  = existedItem.Permissions.Select(item => item.Id).ToList();
            IEnumerable <Guid>    addedItems = request.PermissionIds.Except(existPers);
            IPermissionRepository perRepo    = IoC.Container.Resolve <IPermissionRepository>(uow);

            foreach (Guid item in addedItems)
            {
                Permission per = perRepo.GetById(item.ToString());
                existedItem.Permissions.Add(per);
            }
        }
        public void Update(UpdateUserGroupRequest request)
        {
            this.ValidateUpdateRequest(request);
            using (IUnitOfWork uow = new UnitOfWork(RepositoryType.MSSQL))
            {
                IUserGroupRepository repository  = IoC.Container.Resolve <IUserGroupRepository>(uow);
                UserGroup            existedItem = repository.GetById(request.Id.ToString(), "Permissions");
                existedItem.Name        = request.Name;
                existedItem.Key         = App.Common.Helpers.UtilHelper.ToKey(request.Name);
                existedItem.Description = request.Description;

                this.RemoveRemovedPermissions(existedItem, request, uow);
                this.AddAddedPermission(existedItem, request, uow);
                repository.Update(existedItem);
                uow.Commit();
            }
        }
        public IResponseData <string> UpdateUserGroup(Guid id, UpdateUserGroupRequest request)
        {
            request.Id = id;
            IResponseData <string> response = new ResponseData <string>();

            try
            {
                IUserGroupService roleService = IoC.Container.Resolve <IUserGroupService>();
                roleService.Update(request);
            }
            catch (ValidationException ex)
            {
                response.SetErrors(ex.Errors);
                response.SetStatus(System.Net.HttpStatusCode.PreconditionFailed);
            }
            return(response);
        }
        public async Task <IActionResult> Put([FromRoute] Request route, [FromBody] UpdateUserGroupRequest request)
        {
            IActionResult result = null;

            var updated = await Server.UpdateUserGroup(request.Id, request.Name, request.Description);

            if (updated)
            {
                result = Factory.CreateSuccessResponse(updated);
            }
            else
            {
                result = Factory.CreateNoContentResponse();
            }

            return(result);
        }
示例#12
0
 public async Task UpdateUserGroup(UpdateUserGroupRequest request)
 {
     await _userRepository.UpdateUserGroupAsync(request);
 }
示例#13
0
 public async Task <ApiResult <string> > Update([FromBody] UpdateUserGroupRequest request)
 {
     return(await _userGroupService.UpdateAsync(request));
 }