Beispiel #1
0
        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));
        }
Beispiel #2
0
        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());
        }