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',
var exampleClasses = JsonConvert.DeserializeObject<List<ExampleClass>>(inputJSON);
var orgCalendarYearsList = new List<exampleYears>();
foreach(var exampleClass in exampleClasses)
var fyStart = (exampleClass.startDate.Month > exampleClass.fiscalYearEnd ? exampleClass.startDate.Year+1:exampleClass.startDate.Year);
var fyEnd = (exampleClass.endDate.Month > exampleClass.fiscalYearEnd ? exampleClass.endDate.Year+1:exampleClass.endDate.Year);
var sampleYears = new exampleYears()
orgId = exampleClass.orgId,
calendarYears = Enumerable.Range(exampleClass.startDate.Year, (exampleClass.endDate.Year+1)-exampleClass.startDate.Year).ToList(),
fiscalYears = Enumerable.Range(fyStart, (fyEnd+1)-fyStart).ToList()
orgCalendarYearsList.Add(sampleYears);
var outputJSON = JsonConvert.SerializeObject(orgCalendarYearsList);
Console.WriteLine(outputJSON);
public class ExampleClass
public int orgId {get;set;}
public string sampleString {get;set;}
public DateTime startDate {get;set;}
public DateTime endDate {get;set;}
public int fiscalYearEnd {get;set;}
public class exampleYears
public int orgId {get;set;}
public List<int> calendarYears {get;set;}
public List<int> fiscalYears {get;set;}