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);
            }
        }