public static void Process(string newConnection, Guid jobID) { Guid newJobID = jobID; // Get server from internal cache // ------------------------------ Sql.RegisteredServer rServer = Program.gController.Repository.GetServer(newConnection); if (rServer == null) { Program.gController.Repository.RefreshRegisteredServers(); rServer = Program.gController.Repository.GetServer(newConnection); } if (rServer != null) { int snapshotID = rServer.GetLatestSnapshotId(); Form mainForm = null; FormCollection fc = Application.OpenForms; foreach (Form f in fc) { if (f.Name == "MainForm") { mainForm = f; break; } } Form_StartSnapshotJobAndShowProgress form = new Forms.Form_StartSnapshotJobAndShowProgress(mainForm, rServer, snapshotID); Guid realJobID; if (rServer.StartJob(out realJobID)) { rServer.SetJobId(realJobID); form.m_jobID = realJobID; form.m_rServer.SetStartSnapshotForm(form); form.timer_Status.Start(); form.Show(mainForm); } else { form.Close(); } } }