public static void UpdateDiaryEvent(int id, string NewEventStart, string NewEventEnd) { // EventStart comes ISO 8601 format, eg: "2000-01-10T10:00:00Z" - need to convert to DateTime using (HotelEntities ent = new HotelEntities()) { var rec = ent.AppointmentDiary.FirstOrDefault(s => s.ID == id); if (rec != null) { DateTime DateTimeStart = DateTime.Parse(NewEventStart, null, DateTimeStyles.RoundtripKind).ToLocalTime(); // and convert offset to localtime rec.DateTimeScheduled = DateTimeStart; if (!String.IsNullOrEmpty(NewEventEnd)) { TimeSpan span = DateTime.Parse(NewEventEnd, null, DateTimeStyles.RoundtripKind).ToLocalTime() - DateTimeStart; rec.AppointmentLength = Convert.ToInt32(span.TotalMinutes); } ent.SaveChanges(); } } }
public static bool CreateNewEvent(string Title, string NewEventDate, string NewEventTime, string NewEventDuration) { try { HotelEntities ent = new HotelEntities(); AppointmentDiary rec = new AppointmentDiary(); rec.Title = Title; rec.DateTimeScheduled = DateTime.ParseExact(NewEventDate + " " + NewEventTime, "dd/MM/yyyy HH:mm", CultureInfo.InvariantCulture); rec.AppointmentLength = Int32.Parse(NewEventDuration); ent.AppointmentDiary.Add(rec); ent.SaveChanges(); } catch (Exception) { return(false); } return(true); }
public static bool InitialiseDiary() { // init connection to database HotelEntities ent = new HotelEntities(); try { for (int i = 0; i < 30; i++) { AppointmentDiary item = new AppointmentDiary(); // record ID is auto generated item.Title = "Appt: " + i.ToString(); item.SomeImportantKey = i; item.StatusENUM = GetRandomValue(0, 3); // random is exclusive - we have three status enums if (i <= 5) // create a few appointments for todays date { item.DateTimeScheduled = GetRandomAppointmentTime(false, true); } else // rest of appointments on previous and future dates { if (i % 2 == 0) { item.DateTimeScheduled = GetRandomAppointmentTime(true, false); // flip/flop between date ahead of today and behind today } else { item.DateTimeScheduled = GetRandomAppointmentTime(false, false); } } item.AppointmentLength = GetRandomValue(1, 5) * 15; // appoiment length in blocks of fifteen minutes in this demo ent.AppointmentDiary.Add(item); ent.SaveChanges(); } } catch (Exception) { return(false); } return(ent.AppointmentDiary.Count() > 0); }