public IActionResult AddRange([FromBody] FinancialYearRangeModel model) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var response = financialYearService.AddRange(model); if (!response.Success) { return(BadRequest(response.Message)); } return(Ok(response.ReturnedId)); }
public ActionResponse AddRange(FinancialYearRangeModel model) { using (var unitWork = new UnitOfWork(context)) { ActionResponse response = new ActionResponse(); IMessageHelper mHelper; try { if (model.StartingYear > model.EndingYear && model.EndingYear != 0) { mHelper = new MessageHelper(); response.Message = mHelper.StartingYearGreaterThanEnding(); response.Success = false; return(response); } int startingYear = model.StartingYear, endingYear = model.EndingYear; int startingMonth = model.StartingMonth, endingMonth = model.EndingMonth; if (startingYear != 0) { if (startingMonth <= 6) { if (endingYear == 0) { endingYear = startingYear; } startingYear = (startingYear - 1); } else if (startingMonth > 6) { if (endingYear == 0) { endingYear = (startingYear + 1); } } } if (endingYear != 0) { if (startingYear == 0) { startingYear = endingYear; } if (endingMonth > 6) { endingYear = ++endingYear; } else if (endingMonth <= 6) { if (startingYear == endingYear) { startingYear = (endingYear - 1); } } } var financialYears = unitWork.FinancialYearRepository.GetProjection(y => y.Id != 0, y => y.FinancialYear); for (int year = startingYear; year <= endingYear; year++) { var financialYearExists = (from fy in financialYears where fy == year select fy).FirstOrDefault(); if (financialYearExists < 1) { string yearLabel = "FY " + (year - 1) + "/" + (year); unitWork.FinancialYearRepository.Insert(new EFFinancialYears() { FinancialYear = year, Label = yearLabel }); } } unitWork.Save(); } catch (Exception ex) { response.Success = false; response.Message = ex.Message; } return(response); } }