public IEnumerable<IResult> Cancel() { bool closing = false; // Check Dirty State if (User.IsDirty) this.IsDirty = true; if (this.IsDirty) { string message = string.Empty; if (AssistantMode == ViewMode.Add) message = "Cancel adding " + this.DisplayName + "?"; else message = "Cancel editing " + this.DisplayName + "?"; var showDialog = UILib.DialogCancel(message); yield return showDialog; if (showDialog.Dialog.WasSelected(MessageBoxOptions.Yes)) { closing = true; } } else { closing = true; } if (closing) { if (IsLocked()) { BusyOn("Releasing Lock..."); ReleaseLockRequest releaseLockRequest = new ReleaseLockRequest(ModelNamesEnum.User, this.User.UserId.ToString()); yield return releaseLockRequest; if (releaseLockRequest.Error != null) { yield return new HandleExceptionResult(releaseLockRequest.Error); BusyOff(); yield break; } BusyOff(); } base.Close(); } }
public IEnumerable<IResult> SchedulerDialogClosing(object sender, DialogEventArgs e) { // DialogResult is false if cancel was clicked. if (((CloseDialogEventArgs)e).DialogResult == false) { if (SchedulerEditingId != Guid.Empty) { this.SchedulerIsBusy = true; ReleaseLockRequest releaseLockRequest = new ReleaseLockRequest(ModelNamesEnum.Appointment, SchedulerEditingId.ToString()); yield return releaseLockRequest; if (releaseLockRequest.Error != null) { yield return new HandleExceptionResult(releaseLockRequest.Error); this.SchedulerIsBusy = false; yield break; } this.SchedulerEditingId = Guid.Empty; this.SchedulerIsBusy = false; } } yield break; }
public IEnumerable<IResult> Cancel() { // Check Dirty State Client if (this.CatalogItem.IsDirty) this.IsDirty = true; if (this.IsDirty) { string message = string.Empty; if (AssistantMode == ViewMode.Add) message = "Cancel adding " + this.DisplayName + "?"; else message = "Cancel editing " + this.DisplayName + "?"; var showDialog = UILib.DialogCancel(message); yield return showDialog; if (!showDialog.Dialog.WasSelected(MessageBoxOptions.Yes)) { yield break; } } if (this.IsDirty) { BusyOn("Releasing Lock..."); var req = new ReleaseLockRequest(ModelNamesEnum.Catalog, this.CatalogItem.Pk.ToString()); yield return req; if (req.Error != null) { yield return HandleExceptionResult.Display(req.Error); BusyOff(); yield break; } BusyOff(); base.Close(); } }