Esempio n. 1
0
        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();
        }
Esempio n. 2
0
        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;
        }