public async Task <IActionResult> CreatePermission([FromBody] PermissionAddDto permission) { try { if (permission == null) { _logger.LogError("Permission object sent from client is null."); return(BadRequest("Permission object is null")); } if (!ModelState.IsValid) { _logger.LogError("Invalid permission object sent from client."); return(BadRequest("Invalid model object")); } var permissionEntity = _mapper.Map <Permission>(permission); _repository.Permission.Create(permissionEntity); await _repository.SaveAsync(); var createdPermission = _mapper.Map <PermissionDto>(permissionEntity); return(CreatedAtRoute("PermissionById", new { id = createdPermission.Id }, createdPermission)); } catch (Exception ex) { _logger.LogError($"Something went wrong inside CreatePermission action: {ex.Message}"); return(StatusCode(500, "Internal server error")); } }
public async Task <IActionResult> AddPermission( PermissionAddDto dto ) { try { var responsePayload = await _permissionsService.AddPermissionAsync(dto); return(Ok(responsePayload)); } catch (Exception ex) { return(BadRequest(new { ex.Message })); } }
public async Task <PermissionReturnDto> AddPermissionAsync(PermissionAddDto dto) { var roleInDb = await(await _permissionService.GetAllAsync(d => d.Name == dto.PermissionName)) .FirstOrDefaultAsync(); if (roleInDb != null) { throw new ObjectAlreadyExistException("Permission with such name already added."); } var userForDb = new Permission { Name = dto.PermissionName, }; var user = (await _permissionService.InsertAsync(userForDb)); return(user.ToPermissionReturnDto()); }