/// <summary> /// Deletes the currently selected event. /// </summary> private void DeleteEvent() { if (DetailsDataContext.SelectedEvent == null) { return; } dialogBox = new DialogBox(DialogBoxType.WARNING, "DELETE!", "Would you like to delete this event?"); dialogBox.ShowDialog(); if (dialogBox.Answer == DialogAnswer.NO) { return; } using (var context = new EventDatabaseEntities()) { var deleteItem = context.Events.FirstOrDefault(x => x.ID == SelectedEvent.CurrentEvent.ID); context.Events.Remove(deleteItem); context.SaveChanges(); // Remove the deleted event from the UI. var delete = TodayEventsList.FirstOrDefault(r => r.CurrentEvent.ID == SelectedEvent.CurrentEvent.ID); TodayEventsList.Remove(delete); DetailsDataContext.TodayTasksList = null; DetailsDataContext.SelectedEvent = null; DetailsDataContext.ProgressbarValue = 0; dialogBox = new DialogBox("Event deleted successfully!"); dialogBox.Show(); } }
/// <summary> /// Directly deletes an event from the today's list. /// </summary> /// <param name="sender"></param> private void DirectDelete() { dialogBox = new DialogBox(DialogBoxType.WARNING, "DELETE!", "Would you like to delete this event?"); dialogBox.ShowDialog(); if (dialogBox.Answer == DialogAnswer.NO) { return; } // GOT A BIG ERROR HERE AFTER EDITING... using (var context = new EventDatabaseEntities()) { // Create a new object to avoid DbUpdateConcurrencyException. var deleteItem = context.Events.FirstOrDefault(x => x.ID == SelectedEvent.CurrentEvent.ID); context.Events.Remove(deleteItem); context.SaveChanges(); // Remove deleted event from the UI. DetailsDataContext.TodayTasksList = new ObservableCollection <Task>(); TodayEventsList.Remove(SelectedEvent); DetailsDataContext.SelectedEvent = null; DetailsDataContext.ProgressbarValue = 0; } }