Esempio n. 1
0
        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());
            }
        }
Esempio n. 2
0
        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));
            }
        }