/// <summary> /// Add or update contact /// </summary> public static int SaveNewEvent(NewEventItemModel theEvent) { using (var db = new EventManagerDBContext()) { // We are creating a new event entry with default values if (AppLevelModel.ViewModel.NewEventId < 0) { var newEventModel = new Meeting { EventTitle = theEvent.EventTitle, Venue = theEvent.Venue, Description = theEvent.Description, EventStart = theEvent.EventBegin, EventEnd = theEvent.EventEnd, ImagePath = theEvent.ImagePath, VenueContactEmail = theEvent.VenueContactEmail, VenueContactPhone = theEvent.VenueContactPhone }; db.Events.Add(newEventModel); db.SaveChanges(); theEvent.ID = newEventModel.MeetingID; AppLevelModel.ViewModel.NewEventId = newEventModel.MeetingID; return(newEventModel.MeetingID); } else { // We are saving new event. Event no longer new. var query = from event1 in db.Events where event1.MeetingID == AppLevelModel.ViewModel.NewEventId select event1; var returnedEvent = query.FirstOrDefault(); returnedEvent.EventTitle = theEvent.EventTitle; returnedEvent.Venue = theEvent.Venue; returnedEvent.Description = theEvent.Description; returnedEvent.EventStart = theEvent.EventBegin; returnedEvent.EventEnd = theEvent.EventEnd; returnedEvent.ImagePath = theEvent.ImagePath; returnedEvent.VenueContactEmail = theEvent.VenueContactEmail; returnedEvent.VenueContactPhone = theEvent.VenueContactPhone; db.Events.Update(returnedEvent); db.SaveChanges(); theEvent.ID = returnedEvent.MeetingID; AppLevelModel.ViewModel.NewEventId = -1; return(returnedEvent.MeetingID); } } }
private void CalendarGridView_ItemClick(object sender, ItemClickEventArgs e) { var model = e.ClickedItem as CalendarDayModel; if (model.IsValidDay) { var date = new DateTime( calendarModel.CurrentDate.Year, calendarModel.CurrentDate.Month, model.Day, DateTime.Now.Hour, DateTime.Now.Minute < 30 ? 0 : 30, 0); var newEvent = NewEventItemModel.GetNewEvent(date, true); calendarModel.AppViewModel.GoTo(typeof(EventItemPage), newEvent); } }
private EventItemModel ConvertEvent(NewEventItemModel newEvent) { var convertedEvent = new EventItemModel(AppViewModel, newEvent.EventBegin, newEvent.NavFromCalendar) { EventTitle = newEvent.EventTitle, Venue = newEvent.Venue, Description = newEvent.Description, EventBegin = newEvent.EventBegin, EventEnd = newEvent.EventEnd, ImagePath = newEvent.ImagePath, VenueContactEmail = newEvent.VenueContactEmail, VenueContactPhone = newEvent.VenueContactPhone, ID = newEvent.ID }; convertedEvent.GuestListModel = newEvent.GuestListModel; return(convertedEvent); }
public static NewEventItemModel GetNewEvent(DateTime eventStartDate, bool navFromCalendar) { if (AppLevelModel.ViewModel.NewEventId == -1 || newEvent == null) { newEvent = new NewEventItemModel( AppLevelModel.ViewModel, eventStartDate, navFromCalendar); } else { newEvent.ResetEvent(); } if (newEvent.ID == -1) { newEvent.ID = AppLevelModel.ViewModel.NewEventId; } newEvent.EditEvent = true; return(newEvent); }
/// <summary> /// Retrieve new event from database or create one if doesn't exist. /// </summary> public static void RetriveNewEvent(NewEventItemModel newEventContainer, bool retrieveTempEvent = false) { using (var db = new EventManagerDBContext()) { if (AppLevelModel.ViewModel.NewEventId < 0) { var newEvent = new Meeting { EventTitle = newEventContainer.EventTitle, Venue = newEventContainer.Venue, Description = newEventContainer.Description, EventStart = newEventContainer.EventBegin, EventEnd = newEventContainer.EventEnd, ImagePath = newEventContainer.ImagePath, VenueContactEmail = newEventContainer.VenueContactEmail, VenueContactPhone = newEventContainer.VenueContactPhone }; db.Events.Add(newEvent); db.SaveChanges(); newEventContainer.ID = newEvent.MeetingID; AppLevelModel.ViewModel.NewEventId = newEvent.MeetingID; } else { var query = from event1 in db.Events where event1.MeetingID == AppLevelModel.ViewModel.NewEventId select event1; var result = query.FirstOrDefault(); if (result == null) { // No events found. Shouldn't occur. AppLevelModel.ViewModel.NewEventId = -1; RetriveNewEvent(newEventContainer); result = query.FirstOrDefault(); } newEventContainer.ID = result.MeetingID; if (retrieveTempEvent) { newEventContainer.EventTitle = result.EventTitle; newEventContainer.Venue = result.Venue; newEventContainer.Description = result.Description; newEventContainer.EventBegin = result.EventStart; newEventContainer.EventEnd = result.EventEnd; newEventContainer.ImagePath = result.ImagePath; newEventContainer.VenueContactEmail = result.VenueContactEmail; newEventContainer.VenueContactPhone = result.VenueContactPhone; } else { // Delete guest list var guestQuery = from eventGuest in db.EventGuests where eventGuest.MeetingID == result.MeetingID select eventGuest; foreach (var guest in guestQuery) { db.EventGuests.Remove(guest); } db.SaveChanges(); } } } }