private async void ButtonPublish_Click(object sender, RoutedEventArgs e) { string path = Path.Combine(Directory.GetCurrentDirectory(), "exported"); var win = new PublishWindow(); win.Show(); var selected = Modules.Where(m => m.Update); win.Progress.Maximum = selected.Count(); win.Progress.IsIndeterminate = false; var panacea = Applications.First(a => a.Name == "Panacea"); if (panacea.Update) { win.Progress.Maximum++; win.StatusText.Text = "Building applications..."; foreach (var app in Applications) { await app.Build(panacea.SuggestedVersion.ToString(), panacea.SuggestedVersion.ToString() + "-g" + app.CommitHash.Substring(0, 7)); } win.StatusText.Text = "Building core zip..."; await panacea.BuildDeltaZip(path); win.StatusText.Text = "Uploading core..."; var res = await FileUploader.UploadFile(String.Format("{0}/{1}.zip", path, "core"), ConfigurationManager.AppSettings["server"] + "admin/remote/robopost/manifest/"); if (!res.Success) { throw new Exception(res.Message); } } foreach (var module in selected) { win.StatusText.Text = "Building " + module.Name + "..."; await module.Build(); win.StatusText.Text = "Building " + module.Name + " zip..."; await module.BuildDeltaZip(path); win.Progress.IsIndeterminate = false; win.StatusText.Text = "Uploading " + module.Name + "..."; var res = await FileUploader.UploadFile(String.Format("{0}/{1}.zip", path, module.Name), ConfigurationManager.AppSettings["server"] + "admin/remote/robopost/manifest/"); if (!res.Success) { throw new Exception(res.Message); } } win.Close(); }
async Task SaveChangesAdd() { if (string.IsNullOrEmpty(PasswordAlias)) { return; } if (string.IsNullOrEmpty(Username)) { return; } if (string.IsNullOrEmpty(Password)) { return; } PasswordCreateModel passwordCreateModel = new PasswordCreateModel() { ApplicationId = SelectedApplicationAlias.Id, Encrypted = false, Password = Password, PasswordAlias = PasswordAlias, Username = Username }; int applicationId = passwordCreateModel.ApplicationId; int newPasswordId = await _passwordsEndPoint.CreateNewPassword(passwordCreateModel); await LoadPasswords(); SelectedApplication = Applications.First(a => a.Id == applicationId); SelectedPassword = Passwords.First(p => p.Id == newPasswordId); IsAdding = false; }