Ejemplo n.º 1
0
        public async Task <ApiResponse> UpdateAsync([FromBody] RoleData data)
        {
            if (!ModelState.IsValid)
            {
                throw new ApiException(ModelState.AllErrors());
            }

            var role = await _roleService.GetRoleByIdAsync(data.Id, new IncludeStringConstants().RolePermissionIncludeList.ToArray()).ConfigureAwait(false);

            if (role == null)
            {
                throw new ApiException(MessageBuilder.NotFound, StatusCodes.Status404NotFound);
            }
            if (!role.IsEditable)
            {
                throw new ApiException(MessageBuilder.NotEditable);
            }

            if (data.Name != role.Name &&
                await _roleService.IsExistAsync(c => c.Name == data.Name).ConfigureAwait(false))
            {
                throw new ApiException(MessageBuilder.AlreadyExist(data.Name), StatusCodes.Status409Conflict);
            }


            //update
            _mapper.Map <RoleData, Role>(data, role);
            role.DateModified = DateTime.Now;
            await _roleService.UpdateAsync(role).ConfigureAwait(false);

            return(await GetAsync(role.Id).ConfigureAwait(false));
        }
Ejemplo n.º 2
0
        public async Task <ApiResponse> CreateAsync([FromBody] RoleData data)
        {
            if (!ModelState.IsValid)
            {
                throw new ApiException(ModelState.AllErrors());
            }


            if (await _roleService.IsExistAsync(c => c.Name == data.Name).ConfigureAwait(false))
            {
                throw new ApiException(MessageBuilder.AlreadyExist(data.Name), StatusCodes.Status409Conflict);
            }

            var role = _mapper.Map <RoleData, Role>(data);

            role.Id          = Guid.NewGuid().ToString();
            role.DateCreated = DateTime.Now;
            await _roleService.CreateAsync(role).ConfigureAwait(false);

            return(await GetAsync(role.Id).ConfigureAwait(false));
        }