public async ValueTask <IActionResult> Post([FromBody] BaseCheck model) { if (ModelState.IsValid) { var checker = await _repo.Item().Where(c => c.Name == model.Name && c.CategoryId == model.CategoryId).FirstOrDefaultAsync(); if (checker != null) { return(BadRequest(new ErrorDTO { Message = "Check already exists" })); } Check check = model.Convert <BaseCheck, Check>(_mapper); (bool succeeded, Check addedCheck, string error) = await _repo.Add(check); if (succeeded) { return(Ok(addedCheck.Convert <Check, BaseCheck>(_mapper))); } return(BadRequest(new ErrorDTO { Message = error })); } return(BadRequest(new ErrorDTO { Errors = ModelState.Values.SelectMany(e => e.Errors).ToList() })); }
public async ValueTask <IActionResult> Put([FromBody] BaseCheck model) { if (ModelState.IsValid) { if (model.Id != 0) { Check check = model.Convert <BaseCheck, Check>(_mapper); (bool succeeded, Check updatedCheck, string error) = await _repo.Update(check, model.Id); if (succeeded) { return(Ok(updatedCheck.Convert <Check, BaseCheck>(_mapper))); } return(NotFound(new ErrorDTO { Message = error })); } } return(BadRequest(new ErrorDTO { Errors = ModelState.Values.SelectMany(e => e.Errors).ToList() })); }