public static bool Edit(ServerConfiguration serverConfiguration)
 {
     var form = new EditDeployServerForm
                {
                    _serverConfiguration = serverConfiguration,
                    txtServerName = {Text = serverConfiguration.Name}
                };
     return form.ShowDialog() == DialogResult.OK;
 }
        protected override void btnOk_Click(object sender, EventArgs e)
        {
            if (string.IsNullOrEmpty(txtServerName.Text.Trim()))
                MessageBox.Show("Server field cannot not be empty");

            if (_serverConfiguration == null) _serverConfiguration = new ServerConfiguration();

            _serverConfiguration.Name = txtServerName.Text.Trim();
            Close();
            DialogResult = DialogResult.OK;
        }
        public DeployAllResult DeployAll(ServerConfiguration server, string configurationName, string branchName, bool switchToBranch, bool updateSubmodules)
        {
            _logInfo("Deployment all projects to " + server + " from " + configurationName + " branch " + branchName);
            var result = new DeployAllResult();
            var index = -1;
            foreach (var deployProject in CurrentDeployConfiguration.ProjectConfigurations)
            {
                index++;
                var gitProjectInfo = _userOptions.GetProjectInfo(deployProject.WorkingDirectory);
                if (gitProjectInfo == null)
                {
                    result.AppendLine(deployProject.Name + ": project does not exists in main list");
                    continue;
                }

                var configuration = deployProject.GetConfiguration(configurationName);
                if (configuration == null)
                {
                    result.AppendLine(deployProject.Name + ": configuration " + configurationName + " does not exists");
                    continue;
                }

                var gitProject = CurrentGitProjectList.GetOrAddProject(gitProjectInfo, _userOptions);
                if (!gitProject.BranchExists(branchName))
                {
                    result.AppendLine(deployProject.Name + ": branch " + branchName + " does not exists");
                    continue;
                }

                var iisAppInfo = server.IisAppList.FirstOrDefault(r => r.LinkedProjectName == deployProject.Name);
                if (iisAppInfo == null)
                {
                    result.AppendLine(deployProject.Name + ": Iis App for this project is not configured");
                    continue;
                }

                var deployUserSelection = new DeployUserSelection
                {
                    DeployProject = deployProject,
                    Server = server,
                    BuildConfiguration = configuration,
                    IisApp = server.IisAppList[index].IisAppName,
                    BranchName = branchName,
                    SwitchToBranch = switchToBranch,
                    UpdateSubmodules = updateSubmodules
                };

                if (!Deploy(deployUserSelection))
                {
                    result.AppendLine(deployProject.Name + ": deploy is not successful! Please see logs!");
                    continue;
                }
            }
            return result;
        }