/// <summary> /// Called to dismiss the dialog /// </summary> /// <param name="action"></param> public void Dismiss(DialogBoxAction action) { _result = action; IWebSynchronizationContext context = (SynchronizationContext.Current as IWebSynchronizationContext); if (context != null) { context.BreakModal(); } }
/// <summary> /// Displays a message box. /// </summary> /// <remarks> /// Override this method if you need to customize the display of message boxes. /// </remarks> /// <param name="message"></param> /// <param name="buttons"></param> /// <param name="title"></param> /// <returns></returns> public virtual DialogBoxAction ShowMessageBox(string message, string title, MessageBoxActions buttons) { if (ApplicationContext.Current != null) { MessageBoxEntityHandler handler = EntityHandler.Create <MessageBoxEntityHandler>(); handler.SetModelObject(this); MessageBox box = handler.GetEntity(); box.Message = message; box.Title = title; switch (buttons) { case MessageBoxActions.Ok: box.Actions = WebMessageBoxActions.Ok; _result = DialogBoxAction.Ok; break; case MessageBoxActions.OkCancel: box.Actions = WebMessageBoxActions.OkCancel; _result = DialogBoxAction.Ok; break; case MessageBoxActions.YesNo: box.Actions = WebMessageBoxActions.YesNo; _result = DialogBoxAction.Yes; break; case MessageBoxActions.YesNoCancel: box.Actions = WebMessageBoxActions.YesNoCancel; _result = DialogBoxAction.Yes; break; } MessageBoxShownEvent @event = new MessageBoxShownEvent { Identifier = box.Identifier, MessageBox = box, SenderId = ApplicationContext.Current.ApplicationId, }; ApplicationContext.Current.FireEvent(@event); IWebSynchronizationContext context = (SynchronizationContext.Current as IWebSynchronizationContext); if (context != null) { context.RunModal(); } return(_result); } return(DialogBoxAction.Ok); }