private void loadCredentials() { var msg = new DependencyMessage <IStorage>(); // Funzione di callback msg.Resolved = (IStorage resolver) => { if (resolver == null) { return; } var dir = resolver.GetCurrentDirectory(); dir = $"{dir}{Path.DirectorySeparatorChar}Cred.txt"; if (File.Exists(dir)) { string content = File.ReadAllText(dir); string[] parts = content.Split(new string[] { "|||" }, StringSplitOptions.RemoveEmptyEntries); if (parts.Length == 2) { this.Username = parts[0]; this.Password = parts[1]; } } }; // Spedisco il messaggio Messenger.Default.Send <DependencyMessage <IStorage> >(msg); }
private void saveCredentialsOnFile() { // Salvo su file le credenziali var msg = new DependencyMessage <IStorage>(); msg.Resolved = saveFile; // Posso evitare di specificare il generics Messenger.Default.Send(msg); }
public AnagraficaViewModel() { this.UpdateCommand = new RelayCommand <TaxiVM>(UpdateCommandExecute, UpdateCommandCanExecute); this.RemoveCommand = new RelayCommand <int>(RemoveCommandExecute); var msg = new DependencyMessage <IStorage>(); msg.Resolved = initRepository; Messenger.Default.Send(msg); }
private void ConnectCommandExecute() { CrossLocalNotifications.Current.Show("title", "body", 101, DateTime.Now.AddSeconds(5)); DependencyMessage <IConnectionService> msg = new DependencyMessage <IConnectionService>(); msg.Resolved = async(obj) => { this.IsBusy = true; connectionBackgroundWorker = obj; connectionBackgroundWorker.SomethingHappened += ConnectionBackgroundWorker_SomethingHappened; await connectionBackgroundWorker.StartAsync(); this.IsBusy = false; }; Messenger.Default.Send(msg); // connectionBackgroundWorker = Dependen //try //{ // if (client == null) // { // client = new TcpSocketClient(); // await client.ConnectAsync(address, port); // //backgroundTask(); // } // var nextByte = (byte)r.Next(0, 254); // client.WriteStream.WriteByte(nextByte); // await client.WriteStream.FlushAsync(); //} //catch (Exception ex) //{ // ShowDialogMessage msg = new ShowDialogMessage(); // msg.Message = ex.ToString(); // this.MessengerInstance.Send(msg); //} }
private void resolveDependency(DependencyMessage <IStorage> obj) { // La chiamata a Resolved "rimbalza" verso il viewmodel iniettando // l'instanza della classe concreta che risolve IStorage obj.Resolved(DependencyService.Get <IStorage>()); }
private void resolveConnectionDependency(DependencyMessage <IConnectionService> obj) { obj.Resolved(DependencyService.Get <IConnectionService>()); }