private void UpdateActivityNumbers() { try { int numberToAdd = 0; DateTime dateOfActivityToAdd; if (int.TryParse(textBoxNumber.Text, out numberToAdd) && DateTime.TryParse(dateEditEditActivity.Text, out dateOfActivityToAdd)) { if (numberToAdd > 0) { using (var context = new LorikeetAppEntities()) { var updateOrAddActivityNumbers = (from a in context.AppointmentsNumbers join l in context.Labels on a.LabelID equals l.LabelID where DbFunctions.TruncateTime(a.Date) == DbFunctions.TruncateTime(dateOfActivityToAdd) && l.DisplayName == comboBoxEditLabels.Text select a).DefaultIfEmpty().First(); if (updateOrAddActivityNumbers != null) { updateOrAddActivityNumbers.Number = numberToAdd; } else { var getLabelID = (from l in context.Labels where l.DisplayName == comboBoxEditLabels.Text select l).DefaultIfEmpty().First(); if (getLabelID != null) { var activityToAdd = new AppointmentsNumber(); activityToAdd.Number = numberToAdd; activityToAdd.Date = dateOfActivityToAdd; activityToAdd.LabelID = getLabelID.LabelID; context.AppointmentsNumbers.Add(activityToAdd); } } context.SaveChanges(); } } } } catch (Exception ex) { MessageBox.Show(MiscStuff.GetAllMessages(ex)); } }
private void bbiSaveAndClose_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { int apptID = GetAppointmentID(); if (apptID != -1) { using (var context = new LorikeetAppEntities()) { try { var appointmentName = (from an in context.Appointments where an.UniqueID == apptID select an).First(); var appointmentsToRemove = (from atr in context.AppointmentMembers where atr.AppointmentsID == apptID select atr).ToList(); var notesToRemove = (from ntr in context.Notes join a in context.Members on ntr.MemberID equals a.MemberID where DbFunctions.TruncateTime(ntr.Date) == DbFunctions.TruncateTime(apt.Start) && ntr.Notes == "Member attended " + apt.Subject + " group" && ntr.MemberID == a.MemberID select ntr).ToList(); if (appointmentsToRemove.Count > 0) { foreach (var atr in appointmentsToRemove) { context.AppointmentMembers.Remove(atr); context.SaveChanges(); } foreach (var ntr in notesToRemove) { context.Notes.Remove(ntr); context.SaveChanges(); } } foreach (var m in membersToAdd) { var memberAppointmentTemp = new AppointmentMember(); memberAppointmentTemp.AppointmentsID = apptID; memberAppointmentTemp.MemberID = m.MemberID; context.AppointmentMembers.Add(memberAppointmentTemp); context.SaveChanges(); var notesTemp = new Note(); notesTemp.Date = appointmentName.StartDate.Value; notesTemp.MemberID = m.MemberID; notesTemp.StaffID = 0; notesTemp.Notes = "Member attended " + appointmentName.Subject + " group"; context.Notes.Add(notesTemp); context.SaveChanges(); } var activity = (from an in context.AppointmentsNumbers join l in context.Labels on an.LabelID equals l.LabelID where DbFunctions.TruncateTime(an.Date) == DbFunctions.TruncateTime(apt.Start) && l.DisplayName == apt.Subject select an).DefaultIfEmpty().First(); var labelID = (from l in context.Labels where l.DisplayName == apt.Subject select l).DefaultIfEmpty().First(); if (activity != null) { activity.Number = membersToAdd.Count(); } else { if (labelID != null) { var activityNumberToAdd = new AppointmentsNumber(); activityNumberToAdd.Date = this.apt.Start; activityNumberToAdd.LabelID = labelID.LabelID; activityNumberToAdd.Number = membersToAdd.Count(); context.AppointmentsNumbers.Add(activityNumberToAdd); } } context.SaveChanges(); Logging.AddLogEntry(staffID, Logging.ErrorCodes.Broadcast, Logging.RefreshCodes.Schedule, "Changed Appointments in Schedule", false); } catch (Exception ex) { Logging.AddLogEntry(staffID, Logging.ErrorCodes.Error, Logging.RefreshCodes.None, "Tried Changing Appointments in Schedule - Error - " + ex.Message, false); MessageBox.Show(MiscStuff.GetAllMessages(ex)); } } } this.Close(); }