예제 #1
0
        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;
            

        }
예제 #2
0
        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;
            

        }