private IEnumerable <DjangoTimeEntry> ParseEntries(ResourceCalendar calendar)
 {
     foreach (var day in calendar.Days)
     {
         foreach (var res in day.Resources)
         {
             DateTime?startTime = null;
             foreach (var tick in res.Timeslots)
             {
                 if (tick.IsSelected)
                 {
                     if (!startTime.HasValue)
                     {
                         startTime = new DateTime(calendar.Year, calendar.Month, day.DayNro, tick.Minutes / 60, tick.Minutes % 60, 0, DateTimeKind.Utc);
                     }
                 }
                 else
                 {
                     if (startTime.HasValue)
                     {
                         var endTime = new DateTime(calendar.Year, calendar.Month, day.DayNro, tick.Minutes / 60, tick.Minutes % 60, 0, DateTimeKind.Utc);
                         var dc      = new DjangoTimeEntry()
                         {
                             CompanyID = calendar.CompanyId, Start = startTime.Value, End = endTime, Used = true
                         };
                         startTime = null;
                         yield return(dc);
                     }
                 }
             }
             if (startTime.HasValue)
             {
                 var endTime = new DateTime(calendar.Year, calendar.Month, day.DayNro, 23, 59, 0, DateTimeKind.Utc);
                 var dc      = new DjangoTimeEntry()
                 {
                     CompanyID = calendar.CompanyId, Start = startTime.Value, End = endTime, Used = true
                 };
                 startTime = null;
                 yield return(dc);
             }
         }
     }
 }
        private void FillReserved(DjangoTimeEntry reserved, ResourceCalendar calendar)
        {
            var dayNro   = reserved.Start.Day;
            var beginDay = new DateTime(reserved.Start.Year, reserved.Start.Month, reserved.Start.Day);
            var day      = calendar.Days.First(row => row.DayNro == dayNro);
            int startMin = (int)((reserved.Start - beginDay).TotalMinutes);
            int endMin   = (int)((reserved.End - beginDay).TotalMinutes);

            foreach (var res in day.Resources)
            {
                foreach (var ts in res.Timeslots)
                {
                    if (ts.Minutes >= startMin && ts.Minutes < endMin)
                    {
                        ts.IsSelected = true;
                    }
                }
            }
        }