using System.Collections.Generic;
using System.Data.SqlClient;
public DateTime StartTime;
public int CountOfEmployees;
public static void Main()
var forecast = new Forecast[16];
forecast[0] = new Forecast { LocationId = 1, DepartmentId = 1, StartTime = new DateTime(2018, 10, 1, 06, 00, 00), EndTime = new DateTime(2018, 10, 01, 06, 15, 0), CountOfEmployees = 2 };
forecast[1] = new Forecast { LocationId = 1, DepartmentId = 1, StartTime = new DateTime(2018, 10, 1, 06, 15, 00), EndTime = new DateTime(2018, 10, 01, 06, 30, 0), CountOfEmployees = 1 };
forecast[2] = new Forecast { LocationId = 1, DepartmentId = 1, StartTime = new DateTime(2018, 10, 1, 06, 30, 00), EndTime = new DateTime(2018, 10, 01, 06, 45, 0), CountOfEmployees = 3 };
forecast[3] = new Forecast { LocationId = 1, DepartmentId = 1, StartTime = new DateTime(2018, 10, 1, 06, 45, 00), EndTime = new DateTime(2018, 10, 01, 07, 00, 0), CountOfEmployees = 1 };
forecast[4] = new Forecast { LocationId = 1, DepartmentId = 1, StartTime = new DateTime(2018, 10, 1, 07, 00, 00), EndTime = new DateTime(2018, 10, 01, 07, 15, 0), CountOfEmployees = 2 };
forecast[5] = new Forecast { LocationId = 1, DepartmentId = 1, StartTime = new DateTime(2018, 10, 1, 07, 15, 00), EndTime = new DateTime(2018, 10, 01, 07, 30, 0), CountOfEmployees = 2 };
forecast[6] = new Forecast { LocationId = 1, DepartmentId = 1, StartTime = new DateTime(2018, 10, 1, 07, 30, 00), EndTime = new DateTime(2018, 10, 01, 07, 45, 0), CountOfEmployees = 5 };
forecast[7] = new Forecast { LocationId = 1, DepartmentId = 1, StartTime = new DateTime(2018, 10, 1, 07, 45, 00), EndTime = new DateTime(2018, 10, 01, 08, 00, 0), CountOfEmployees = 3 };
forecast[8] = new Forecast { LocationId = 2, DepartmentId = 2, StartTime = new DateTime(2018, 10, 1, 06, 00, 00), EndTime = new DateTime(2018, 10, 01, 06, 15, 0), CountOfEmployees = 2 };
forecast[9] = new Forecast { LocationId = 2, DepartmentId = 2, StartTime = new DateTime(2018, 10, 1, 06, 15, 00), EndTime = new DateTime(2018, 10, 01, 06, 30, 0), CountOfEmployees = 1 };
forecast[10] = new Forecast { LocationId = 2, DepartmentId = 2, StartTime = new DateTime(2018, 10, 1, 06, 30, 00), EndTime = new DateTime(2018, 10, 01, 06, 45, 0), CountOfEmployees = 3 };
forecast[11] = new Forecast { LocationId = 2, DepartmentId = 2, StartTime = new DateTime(2018, 10, 1, 06, 45, 00), EndTime = new DateTime(2018, 10, 01, 07, 00, 0), CountOfEmployees = 1 };
forecast[12] = new Forecast { LocationId = 2, DepartmentId = 2, StartTime = new DateTime(2018, 10, 1, 07, 00, 00), EndTime = new DateTime(2018, 10, 01, 07, 15, 0), CountOfEmployees = 2 };
forecast[13] = new Forecast { LocationId = 2, DepartmentId = 2, StartTime = new DateTime(2018, 10, 1, 07, 15, 00), EndTime = new DateTime(2018, 10, 01, 07, 30, 0), CountOfEmployees = 2 };
forecast[14] = new Forecast { LocationId = 2, DepartmentId = 2, StartTime = new DateTime(2018, 10, 1, 07, 30, 00), EndTime = new DateTime(2018, 10, 01, 07, 45, 0), CountOfEmployees = 5 };
forecast[15] = new Forecast { LocationId = 2, DepartmentId = 2, StartTime = new DateTime(2018, 10, 1, 07, 45, 00), EndTime = new DateTime(2018, 10, 01, 08, 00, 0), CountOfEmployees = 3 };
StartTime = new DateTime(_.StartTime.Year,
EndTime = new DateTime(_.StartTime.Year,
_.StartTime.Hour + 1, 0, 0, 0)
CountOfEmployees = x.Sum(y=>y.CountOfEmployees)});
foreach (var item in result)
Console.WriteLine(string.Format("LocationId : {0} StartTime : {1} EndTime : {2} CountOfEmployees : {3}", item.LocationId, item.StartTime, item.EndTime, item.CountOfEmployees));