private void OnAppointmentSaving(object sender, AppointmentSavingEventArgs e) { var appointment = e.Appointment as CommonModel; var oldParent = appointment.GetOldParent(); var newParent = appointment.Parent; this.ViewModel.UpdateParent(oldParent, newParent, appointment); }
public IEnumerable<IResult> SchedulerClosedDaysSaving(object sender, AppointmentSavingEventArgs e) { AppClosedDay savingAppointment = ((AppClosedDay)e.Appointment); if (e.Appointment.IsNotNull()) { if (savingAppointment.IsReadOnly) { // Cancels the saving of data on the VM this.schedulerDialogViewModelHandle.Cancel(); WindowManager.Value.Alert("Record is Read Only", LastSchedulerMessage); AppClosedDay failedRecord = SessionInfo.Instance.ClosedDays.Select(x => x).Where(x => x.UniqueId.ToString() == savingAppointment.UniqueId).FirstOrDefault(); failedRecord.IsReadOnly = false; yield break; } savingAppointment.IsDirty = true; // Workaround savingAppointment.Start = savingAppointment.IsAllDayEvent ? DateEx.GetStartOfDay(savingAppointment.Start) : savingAppointment.Start; savingAppointment.End = savingAppointment.IsAllDayEvent ? DateEx.GetEndOfDay(savingAppointment.End) : savingAppointment.End; // Set Default Type if (savingAppointment.TypeId.IsNull()) { savingAppointment.TypeId = 2; // Personal Schedule Item } } }
public IEnumerable<IResult> SchedulerAppointmentSaving(object sender, AppointmentSavingEventArgs e) { AppAppointment savingAppointment = ((AppAppointment)e.Appointment); if (e.Appointment.IsNotNull()) { if (savingAppointment.IsReadOnly) { // Cancels the saving of data on the VM this.schedulerDialogViewModelHandle.Cancel(); WindowManager.Value.Alert("Record is Read Only", LastSchedulerMessage); AppAppointment failedRecord = SessionInfo.Instance.Appointments.Select(x => x).Where(x => x.UniqueId.ToString() == savingAppointment.UniqueId).FirstOrDefault(); failedRecord.IsReadOnly = false; yield break; } savingAppointment.IsDirty = true; // Workaround savingAppointment.Start = savingAppointment.IsAllDayEvent ? DateEx.GetStartOfDay(savingAppointment.Start) : savingAppointment.Start; savingAppointment.End = savingAppointment.IsAllDayEvent ? DateEx.GetEndOfDay(savingAppointment.End) : savingAppointment.End; // Check Default Resource if (savingAppointment.Resources.Count == 0) { var dr = savingAppointment.Resources.Select(s => s.ResourceName == defaultResource.ResourceName).FirstOrDefault(); if (!dr) { savingAppointment.Resources.Add(defaultResource); } } // Set Default Type if (savingAppointment.TypeId.IsNull()) { savingAppointment.TypeId = 1; // Personal Schedule Item } // Set Category Based on Resource Selected int? catid = ListService.Instance.ScheduleCalendars.Select(x => x).Where(x => x.CalendarName == (savingAppointment.Resources.Select(r => r).Where(r => r.ResourceType == "Calendar")).FirstOrDefault().ResourceName).FirstOrDefault().Clone().CalendarId; if (catid.IsNotNull()) { ScheduleCalendar sc = ListService.Instance.ScheduleCalendars.Select(x => x).Where(x => x.CalendarId == catid).FirstOrDefault().Clone(); if (sc != null) { savingAppointment.Category = new Category(sc.CalendarName, UILib.GetSolidColorBrushFromString(sc.ColorString)); } } //rp = ExportToString(savingAppointment); ////rp = RecurrencePatternHelper.RecurrencePatternToString(savingAppointment.RecurrenceRule.Pattern); //Debug.WriteLine(rp); // Send to server } }