// 1. post session request public PleaseWaitWindow Initialize(Account sender, Account receiver, Action closeWatcher, object locker) { _closeWatcher = closeWatcher; _locker = locker; SessionController.CreateSessionRequestResponse(sender, receiver, false, _locker); Task.Run(async() => { string text = ""; if (Dispatcher != null) { await Dispatcher?.InvokeAsync(() => text = ConnectionBlock.Text); var i = 30; while (i > 0 && !_close) { var secs = i; // ReSharper disable once PossibleNullReferenceException await Dispatcher.InvokeAsync(() => ConnectionBlock.Text = text + secs + "sec"); await Task.Delay(1000); i--; } Close(); } _closeWatcher(); }); Task.Run(() => FSWatcherController.ExecuteWatcher(_fileSystemWatcher, Directory.GetCurrentDirectory() + @"\..\..\ChatRequests\", "*.sesres", ResponseCallback, () => _close)); return(this); }
public ChatRoomWindow(Window previousWindow) { _previousWindow = previousWindow; InitializeComponent(); Grid.Children.Add(_onlineUsers = new OnlineUsers().Initialize(true)); _onlineUsers.Margin = new Thickness(5, 123, 4.333, 77.334); ImeLabel.Content = ImeLabel.Content + Environment.NewLine + AccountsController.GetInstance().CurrentAccount.Username; string pathOnline = Directory.GetCurrentDirectory() + @"\..\..\CurrentUsers\"; string pathRequest = Directory.GetCurrentDirectory() + @"\..\..\ChatRequests\"; Task.Run(() => FSWatcherController.ExecuteWatcher(_fileSystemWatcherOnline, pathOnline, "*.key", AddOnlineAccounts, () => CloseOnline)); Task.Run(() => FSWatcherController.ExecuteWatcher(_fileSystemWatcherRequest, pathRequest, "*.sesreq", ChatRequestIsHere, () => CloseRequest)); AddOnlineAccounts(null, null); }
public ChatWindow Initialize(Window previousWindow, Account receiver) { _previousWindow = previousWindow; _receiver = receiver; Title.Text = AccountsController.GetInstance().CurrentAccount.Username + " <---> " + receiver.Username; string pathMessages = Directory.GetCurrentDirectory() + $"/../../ReceivedMessages/{AccountsController.GetInstance().CurrentAccount.Username}/"; if (!Directory.Exists(pathMessages)) { Directory.CreateDirectory(pathMessages); } string pathClose = Directory.GetCurrentDirectory() + $"/../../ChatRequests/"; foreach (var enumerateFile in Directory.EnumerateFiles(pathMessages)) { File.Delete(enumerateFile); } Task.Run(() => FSWatcherController.ExecuteWatcher(_fileSystemWatcherMessages, pathMessages, "*.*", DecryptMessage, () => _close)); Task.Run(() => FSWatcherController.ExecuteWatcher(_fileSystemWatcherClose, pathClose, "*.sesreq", Close, () => _close)); MakeGrid(); return(this); }