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',
Org[] orgs = JsonConvert.DeserializeObject<Org[]>(inputJSON);
List<OrgOutput> orgs2 = new List<OrgOutput>();
foreach (Org org in orgs) {
OrgOutput o = new OrgOutput();
o.calendarYears = new List<int>();
o.fiscalYears = new List<int>();
for (int y=org.startDate.Year; y<=org.endDate.Year; y++) {
int fiscalStartYear=org.startDate.Year;
if (org.fiscalYearEnd <= org.startDate.Month) {
int fiscalEndYear=org.endDate.Year;
if (org.endDate.Month > org.fiscalYearEnd) {
for (int y=fiscalStartYear; y<=fiscalEndYear; y++) {
string jsonOutput = JsonConvert.SerializeObject(orgs2);
Console.WriteLine(jsonOutput);
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 List<int> calendarYears {get;set;}
public List<int> fiscalYears {get; set;}