public async Task <IActionResult> Add([FromBody] ProcedureDto dto) { if (dto == null) { return(BadRequest()); } if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var user = await _userManager.GetUserAsync(User); var procedure = dto.MapToProcedure(user.Id); using (var uow = _unitOfWork.Create()) { try { _procedureService.Add(procedure); uow.Commit(); } catch (DbUpdateException) { return(new StatusCodeResult(StatusCodes.Status409Conflict)); } catch (RecordNotFoundException ex) { return(NotFound(ex.Message)); } } return(Ok(procedure)); }
public async Task <IActionResult> Update(int id, [FromBody] ProcedureDto dto) { if (id == 0 || dto == null) { return(BadRequest()); } if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var authorizationResult = await _authorizationService.Authorize(User, id); if (!authorizationResult) { return(Forbid()); } var newProcedure = dto.MapToProcedure(); using (var uow = _unitOfWork.Create()) { try { _procedureService.Update(id, newProcedure); uow.Commit(); } catch (RecordNotFoundException) { return(NotFound()); } } return(NoContent()); }