public List<SaveData> LoadAllAppointmentsInDateRange(double start, double end) { var fromDate = ConvertFromUnixTimestamp(start); var toDate = ConvertFromUnixTimestamp(end); IEnumerable<Event> rslt = db.Events;// Where(s => s.EventStart >= fromDate && s.EventStart <= toDate); // var rslt = db.Events.Where(s => s.EventStart >= fromDate && s.EventStart <= toDate); List<SaveData> result = new List<SaveData>(); foreach (var item in rslt) { SaveData rec = new SaveData(); rec.ID = item.Id; rec.StartDateString = item.EventStart.ToString("s"); // "s" is a preset format that outputs as: "2009-02-27T12:12:22" rec.EndDateString = item.EventStart.AddMinutes(item.EventDuration).ToString("s"); // field AppointmentLength is in minutes rec.Title = item.Title + " - " + item.EventDuration.ToString() + " mins"; rec.StatusColor = "#01DF3A:ENQUIRY";//Enums.GetEnumDescription<AppointmentStatus>(rec.StatusString); string ColorCode = rec.StatusColor.Substring(0, rec.StatusColor.IndexOf(":")); rec.ClassName = rec.StatusColor.Substring(rec.StatusColor.IndexOf(":") + 1, rec.StatusColor.Length - ColorCode.Length - 1); rec.StatusColor = ColorCode; result.Add(rec); } return result; }
public List<SaveData> LoadAppointmentSummaryInDateRange(double start, double end) { var fromDate = ConvertFromUnixTimestamp(start); var toDate = ConvertFromUnixTimestamp(end); Event ent = new Event(); var rslt = db.Events.Where(s => s.EventStart >= fromDate && s.EventStart <= toDate) .GroupBy(s => System.Data.Objects.EntityFunctions.TruncateTime(s.EventStart)) .Select(x => new { DateTimeScheduled = x.Key, Count = x.Count() }); List<SaveData> result = new List<SaveData>(); int i = 0; foreach (var item in rslt) { SaveData rec = new SaveData(); rec.ID = i; //we dont link this back to anything as its a group summary but the fullcalendar needs unique IDs for each event item (unless its a repeating event) rec.SomeImportantKeyID = -1; string StringDate = string.Format("{0:yyyy-MM-dd}", item.DateTimeScheduled); rec.StartDateString = StringDate + "T00:00:00"; //ISO 8601 format rec.EndDateString = StringDate + "T23:59:59"; rec.Title = "Booked: " + item.Count.ToString(); result.Add(rec); i++; } return result; }