using System.Collections.Generic;
public static void Main()
startDate: '2018-1-01T00:00:00',
endDate: '2020-8-29T00:00:00',
startDate: '2018-1-01T00:00:00',
endDate: '2020-8-29T00:00:00',
startDate: '2018-9-01T00:00:00',
endDate: '2020-8-29T00:00:00',
List<OrgIn> orgsIn = JsonConvert.DeserializeObject<List<OrgIn>>(inputJSON);
List<OrgOut> outs = new List<OrgOut>();
foreach (OrgIn orgIn in orgsIn)
int minYear = orgIn.StartDate.Year;
int maxYear = orgIn.EndDate.Year;
o.CalenderYears = GetListOfYears(minYear, maxYear);
if (orgIn.StartDate.Month > orgIn.FiscalYearEnd )
if (orgIn.EndDate.Month > orgIn.FiscalYearEnd )
o.FiscalYears = GetListOfYears(minYear, maxYear);
string jsonOut = JsonConvert.SerializeObject(outs);
public static List<int> GetListOfYears(int minYear, int maxYear)
List<int> years = new List<int>();
for (int y = minYear; y <= maxYear; y++ )
public int OrgId { get; set; }
public DateTime StartDate { get; set; }
public DateTime EndDate { get; set; }
public int FiscalYearEnd { get; set; }
public int OrgId { get; set; }
public IList<int> CalenderYears { get; set; }
public IList<int> FiscalYears { get; set; }