public Task <LDialogResult <TResult> > ShowAsync <TResult, TDialog>() where TDialog : LDialogBase <TResult>, new() { var component = new TDialog(); return(this.ShowAsync(component)); }
/// <summary> /// Display a given type of dialog with a view model type</summary> /// <typeparam name="TDialog">Type of dialog to display</typeparam> /// <typeparam name="TViewModel">Type of view model</typeparam> /// <returns>Nullable Boolean signifying how window was closed by user</returns> public static bool?ShowDialogWithViewModel <TDialog, TViewModel>() where TDialog : Window { TDialog dialog = Activator.CreateInstance <TDialog>(); dialog.DataContext = Activator.CreateInstance <TViewModel>(); return(dialog.ShowParentedDialog()); }
public static TViewModel ShowDialog <TViewModel, TDialog>() where TDialog : FrameworkElement, new() { var dlg = new TDialog(); var vm = (TViewModel)Activator.CreateInstance(typeof(TViewModel), dlg); dlg.DataContext = vm; return(vm); }
private List <TDialog> getDialogsFromXml(string sceneId) { List <TDialog> tDialogs = null; XPathNavigator nav = xmlDocument.CreateNavigator(); // Compile a standard XPath expression XPathExpression expr; expr = nav.Compile("//*[@id='" + sceneId + "']"); XPathNodeIterator iterator = nav.Select(expr); if (iterator.MoveNext()) { XPathNavigator navScene = iterator.Current.Clone(); if (navScene.InnerXml == "") { return(null); } XmlDocument xmlDocumentOfScene = new XmlDocument(); xmlDocumentOfScene.InnerXml = navScene.InnerXml; XmlNodeList dialogNodes = xmlDocumentOfScene.GetElementsByTagName("dialog"); if (dialogNodes.Count > 0) { tDialogs = new List <TDialog>(); for (int countDialogs = 0; countDialogs < dialogNodes.Count; countDialogs++) { string dialogXmlId = dialogNodes[countDialogs].Attributes["id"].Value; string dialogDescription = dialogNodes[countDialogs].Attributes["description"].Value; TDialog tDialog = new TDialog(dialogXmlId, dialogDescription); //##### Get signs of dialog ##### XmlDocument xmlDocumentOfDialog = new XmlDocument(); xmlDocumentOfDialog.InnerXml = "<dialog>" + dialogNodes[countDialogs].InnerXml + "</dialog>"; XmlNodeList signNodes = xmlDocumentOfDialog.GetElementsByTagName("situatedSignToken"); if (signNodes.Count > 0) { tDialog.signs = new List <TSign>(); for (int countSigns = 0; countSigns < signNodes.Count; countSigns++) { //---- Get sign ---- string signXmlId = signNodes[countSigns].InnerText; string signName = getAttributeFromXml("situatedSignToken", signXmlId, "name"); TSign tSign = new TSign(signName); tDialog.signs.Add(tSign); //------------------ } } else { tDialog.signs = null; } //############################### tDialogs.Add(tDialog); } } } return(tDialogs); }
protected TDialog CreateDialog <TDialog>() where TDialog : Dialog, new() { var dialog = new TDialog(); dialog.CompanyInfo = Company; dialog.ApplicationContext = ApplicationContext; dialog.ApplicationControl = ApplicationControl; dialog.XmlMessenger = XmlMessenger; return(dialog); }
public TViewModel CreateDialog <TViewModel, TDialog>(params object[] args) where TDialog : Window, new() where TViewModel : DialogViewModelBase { var dlg = new TDialog(); var vm = (TViewModel)Activator.CreateInstance(typeof(TViewModel), new object[] { dlg }.Concat(args).ToArray()); dlg.DataContext = vm; if (dlg.Content == null) { dlg.Content = vm; } return(vm); }
public Task <TDialog> GetCurrentDialogAsync <TDialog>() where TDialog : IBaseMetroDialogFrame { this.Dispatcher.VerifyAccess(); var t = new TaskCompletionSource <TDialog>(); this.Dispatcher.Invoke((Action)(() => { TDialog dialog = default(TDialog); if (this.MetroActiveDialogContainer != null) { dialog = this.MetroActiveDialogContainer.Children.OfType <TDialog>().LastOrDefault(); t.TrySetResult(dialog); } })); return(t.Task); }
/// <summary> /// Get Dialog by id /// </summary> /// <param name="id"></param> /// <returns></returns> public TDialog getDialog(int id) { //--Data Base Access Variables-- MySql.Data.MySqlClient.MySqlCommand dbCommand = new MySql.Data.MySqlClient.MySqlCommand(); MySql.Data.MySqlClient.MySqlConnection dbConnection = new MySql.Data.MySqlClient.MySqlConnection(connectionString); MySql.Data.MySqlClient.MySqlDataReader dbDataReader; dbCommand.Connection = dbConnection; //------------------------------ dbCommand.CommandText = "SELECT * FROM TB_DIALOGS WHERE (id = " + id + ")"; try { dbConnection.Open(); TDialog tDialog; dbDataReader = dbCommand.ExecuteReader(); dbDataReader.Read(); tDialog = new TDialog(Convert.ToInt32(dbDataReader["id"]), Convert.ToInt32(dbDataReader["transition_id"]), dbDataReader["dialog"].ToString(), null); dbDataReader.Close(); dbCommand.CommandText = "SELECT * FROM TB_SIGNS WHERE (dialog_id = " + tDialog.id + ")"; dbDataReader = dbCommand.ExecuteReader(); tDialog.signs = new List <TSign>(); while (dbDataReader.Read()) { tDialog.signs.Add(new TSign(Convert.ToInt32(dbDataReader["id"]), tDialog.id, dbDataReader["sign"].ToString(), dbDataReader["sign_value"].ToString())); } if (tDialog.signs.Count <= 0) { tDialog.signs = null; } dbDataReader.Close(); dbConnection.Close(); return(tDialog); } catch { dbConnection.Close(); System.Threading.Thread.Sleep(20000); return(null); } }
public void Recieve_SimpleCall_NotThrows() { const long RequestMessageId = 1234; var authKeyData = SessionMock.GenerateAuthKeyData(); const ulong sessionId = 123456; const ulong salt = 654321; uint[] rpcResponceCode = { 0xf35c6d01 }; var sendUser = new TDialog { ReadInboxMaxId = 132, Peer = new TPeerUser { UserId = 123 }, NotifySettings = new TPeerNotifySettingsEmpty(), Draft = new TDraftMessageEmpty() }; var mSession = SessionMock.Create().BuildSession(sessionId, salt, authKeyData); this.RegisterMock(mSession); var mClientSettings = ClientSettingsMock.Create().AttachSession(() => mSession.Object); this.RegisterMock(mClientSettings); var mTcpTransport = TcpTransportMock.Create().BuildReceieve(out var tsc); this.RegisterMock(mTcpTransport); var mConfrimSendService = ConfirmationSendServiceMock.Create().BuildAddForSend(messageId => Assert.Equal(RequestMessageId, messageId)); this.RegisterMock(mConfrimSendService); var mRecieveHandler = RecieveHandlerMock.Create().BuildRecieveHandler(rpcResponceCode).BuildHandleResponce( (code, reader) => { Assert.Equal(RequestMessageId, reader.ReadInt64()); return(null); }); this.RegisterMock(mRecieveHandler); this.RegisterAdapterForHandler(); this.RegisterType <RecievingService>(); // --- var rpcResult = new TRpcResult { ReqMsgId = RequestMessageId, Result = sendUser }; var recieveData = EncodePacket(Serializer.SerializeObject(rpcResult), RequestMessageId); var mtProtoPlainSender = this.Resolve <RecievingService>(); mtProtoPlainSender.StartReceiving(); Thread.Sleep(500); tsc.SetResult(recieveData); Thread.Sleep(500); // -- mRecieveHandler.Verify(recieveService => recieveService.HandleResponce(It.IsAny <BinaryReader>()), Times.Once); mConfrimSendService.Verify(recieveService => recieveService.AddForSend(It.IsAny <long>()), Times.Once); }