/// <summary> /// Delete event /// </summary> public static void DeleteEvent(BaseEventItemModel eventToDelete) { if (eventToDelete == null) { throw new ArgumentNullException(); } using (var db = new EventManagerDBContext()) { var query = from event1 in db.Events where event1.MeetingID == eventToDelete.ID select event1; var result = query.FirstOrDefault(); if (result != null) { db.Events.Remove(result); // Delete attendance var queryGuest = from event1 in db.EventGuests where event1.MeetingID == eventToDelete.ID select event1; db.EventGuests.RemoveRange(queryGuest); db.SaveChanges(); } } }
private void HideEvent(BaseEventItemModel eventToHide) { // Find and delete event from collection foreach (var day in CalendarDays) { foreach (var event1 in day.DayEvents) { if (event1.Event.ID == eventToHide.ID) { day.DayEvents.Remove(event1); break; } } } }
protected override void OnNavigatedTo(NavigationEventArgs e) { base.OnNavigatedTo(e); theEvent = e?.Parameter as BaseEventItemModel; allContacts = theEvent.AppViewModel.AllContacts; if (allContacts.Contacts.Items.Count == 0) { NavigateToNewContactsListPanel.Visibility = Visibility.Visible; zoom.Visibility = Visibility.Collapsed; AcceptChangesPanel.Visibility = Visibility.Collapsed; } else { NavigateToNewContactsListPanel.Visibility = Visibility.Collapsed; zoom.Visibility = Visibility.Visible; AcceptChangesPanel.Visibility = Visibility.Visible; theEvent.ImplimentsSearch = true; theEvent.SearchTermChanged += (sender, searchTerm) => { allContacts.Contacts.SearchTerm = searchTerm; }; allContacts.Contacts.CollectionChanged += (s, e2) => { zoom.InvalidateArrange(); contactSource.Source = allContacts.Contacts.ItemsByCategory; (zoom.ZoomedOutView as ListViewBase).ItemsSource = contactSource.View.CollectionGroups; }; contactSource.Source = allContacts.Contacts.ItemsByCategory; (zoom.ZoomedOutView as ListViewBase).ItemsSource = contactSource.View.CollectionGroups; foreach (var contact in allContacts.Contacts.Items) { if (theEvent.GuestListModel.GuestList.ContainsContact(contact.ID)) { GuestGridViewIn.SelectedItems.Add(contact); } } } }
protected override void OnNavigatedTo(NavigationEventArgs e) { base.OnNavigatedTo(e); EventsModel = e?.Parameter as BaseEventItemModel; if (EventsModel.EditEvent) { editButton.Visibility = Visibility.Collapsed; SaveCancelPanel.Visibility = Visibility.Visible; EventsModel.EditEventCommand.Execute(); } else if (!EventsModel.IsNewEvent) { editButton.Visibility = Visibility.Visible; SaveCancelPanel.Visibility = Visibility.Collapsed; } eventGuestFrame.Navigate(typeof(EventGuestListPage), EventsModel.GuestListModel); }
public static IEnumerable <int> GrabDates(BaseEventItemModel item, int month, int year) { var date = new DateTime(item.EventBegin.Year, item.EventBegin.Month, item.EventBegin.Day); while (true) { if (date.Month == month && date.Year == year) { yield return(date.Day); } if (date.Month == item.EventEnd.Month && date.Day == item.EventEnd.Day) { break; } date = date.AddDays(1); } }
/// <summary> /// Get contacts for event /// </summary> public EventGuestListModel( AppLevelModel appViewModel, BaseEventItemModel eventModel) : base(appViewModel) { IconCode = "People"; PageTitle = Q.Resources.EventAttendance_PageTitle; MainMenu = appViewModel.GuestMenuForEventContacts; MainMenuIndex = 0; SubMenu.Add(new MenuItem <AppLevelModel>(Q.Resources.Event_AcceptChanges, "Accept", AcceptAttendanceChanges)); SubMenuIndex = -1; ResetSubMenuIndexOnNavigation = true; // Set bottom menu BottomMenu = new ObservableCollection <MenuItem <AppLevelModel> >() { new MenuItem <AppLevelModel>( appViewModel.Settings.AboutViewModel, typeof(AboutPage)) }; BottomMenuIndex = -1; ResetBottomMenuIndexOnNavigation = true; ImplimentsSearch = true; }
/// <summary> /// Should be called from event to be deleted. /// </summary> /// <param name="newEvent"></param> public void DeleteEvent(BaseEventItemModel eventToDelete) { SqLiteManager.DeleteEvent(eventToDelete); HideEvent(eventToDelete); }
/// <summary> /// Add event to calendar for display /// </summary> public void AddOrUpdateEvent(BaseEventItemModel theEventItemModel) { EventItemModel eventItemModel; if (theEventItemModel is NewEventItemModel) { SqLiteManager.SaveNewEvent(theEventItemModel as NewEventItemModel); eventItemModel = ConvertEvent(theEventItemModel as NewEventItemModel); } else { SqLiteManager.UpdateExistingEvent(theEventItemModel as EventItemModel); eventItemModel = theEventItemModel as EventItemModel; HideEvent(eventItemModel as EventItemModel); } if (!(eventItemModel.EventBegin < FirstDayOfMonth || eventItemModel.EventEnd > LastDayOfMonth.AddDays(1))) { int offset = SqLiteManager.GetCalendarMonthOffset(CurrentDate.Month, CurrentDate.Year); int start; if (eventItemModel.EventBegin < FirstDayOfMonth) { start = 1; } else { start = eventItemModel.EventBegin.Day; } int end; if (eventItemModel.EventEnd > LastDayOfMonth) { end = LastDayOfMonth.Day; } else { end = eventItemModel.EventEnd.Day; } if (start == end) { CalendarDays[start + offset - 1]. DayEvents. Add(new DayEvent(eventItemModel, EventDurationType.None)); } else { for (var day = start; day <= end; day++) { DayEvent dayEvent; if (day == start) { dayEvent = new DayEvent(eventItemModel, EventDurationType.BeginMultiday); } else if (day == end) { dayEvent = new DayEvent(eventItemModel, EventDurationType.EndMultiday); } else { dayEvent = new DayEvent(eventItemModel, EventDurationType.MiddleMultiday); } CalendarDays[day + offset].DayEvents.Add(dayEvent); } } } }