public ActionResult <FiscalYearDTO> Put([FromBody] FiscalYearDTO fiscalYearDto) { try { if (!ModelState.IsValid) { _logger.LogError("Invalid model state."); return(BadRequest()); } else { var fiscalYear = _mapper.Map <FiscalYear>(fiscalYearDto); _fiscalYearRepo.UpdateFiscalYear(fiscalYear); _fiscalYearRepo.Save(); return(Ok(fiscalYearDto)); } } catch (Exception e) { _logger.LogError("Exception occurred while attempting to update a Fiscal Year.\nError: " + e.Message); return(BadRequest()); } }
public async Task <ActionResult <FiscalYearVM> > UpdateFiscalYear(int id, FiscalYearVM fiscalyearVM) { try { if (id != fiscalyearVM.FiscalYear.Id) { return(BadRequest("FiscalYear ID mismatch")); } // Add custom model validation error FiscalYear fiscalyear = await fiscalyearRepository.GetFiscalYearByname(fiscalyearVM.FiscalYear); if (fiscalyear != null) { ModelState.AddModelError("Name", $"FiscalYear name: {fiscalyearVM.FiscalYear.Name} already in use"); return(BadRequest(ModelState)); } var fiscalyearToUpdate = await fiscalyearRepository.GetFiscalYear(id); if (fiscalyearToUpdate == null) { return(NotFound($"FiscalYear with Id = {id} not found")); } await fiscalyearRepository.UpdateFiscalYear(fiscalyearVM); return(CreatedAtAction(nameof(GetFiscalYear), new { id = fiscalyearVM.FiscalYear.Id }, fiscalyearVM)); } catch (DbUpdateException Ex) { return(StatusCode(StatusCodes.Status500InternalServerError, Ex.InnerException.Message)); } }