public JobStepDetailsModel getStepDetails(string serverName, Guid jobID, int stepID) { JobStepDetailsModel step = new JobStepDetailsModel(); ConnectSqlServer connection = new ConnectSqlServer(); Server dbServer = connection.Connect(serverName); Job job = dbServer.JobServer.GetJobByID(jobID); JobStep jobstep = job.JobSteps[stepID - 1]; step.ServerName = serverName; step.JobID = jobID; step.StepNo = jobstep.ID; step.StepName = jobstep.Name; step.RunAs = jobstep.ProxyName; step.Database = jobstep.DatabaseName; step.Command = jobstep.Command; switch (jobstep.OnSuccessAction) { case StepCompletionAction.GoToNextStep: step.OnSuccess = "GoToNextStep"; break; case StepCompletionAction.QuitWithSuccess: step.OnSuccess = "QuitWithSuccess"; break; case StepCompletionAction.QuitWithFailure: step.OnSuccess = "QuitWithFailure"; break; case StepCompletionAction.GoToStep: step.OnSuccess = "GoToStep:" + jobstep.OnSuccessStep; break; } switch (jobstep.OnFailAction) { case StepCompletionAction.GoToNextStep: step.OnFailure = "GoToNextStep"; break; case StepCompletionAction.QuitWithSuccess: step.OnFailure = "QuitWithSuccess"; break; case StepCompletionAction.QuitWithFailure: step.OnFailure = "QuitWithFailure"; break; case StepCompletionAction.GoToStep: step.OnFailure = "GoToStep:" + jobstep.OnFailStep; break; } return(step); }
public ActionResult EditStep(string dbServer, Guid jobID, int stepID) { JobSteps jobSteps = new JobSteps(); PopulateDropDowns dropdown = new PopulateDropDowns(); JobStepDetailsModel step = new JobStepDetailsModel(); List <SelectListItem> databaseList = new List <SelectListItem>(); List <SelectListItem> proxyList = new List <SelectListItem>(); List <SelectListItem> actionList = new List <SelectListItem>(); databaseList = dropdown.getDatabases(dbServer); ViewBag.DatabaseList = databaseList; proxyList = dropdown.getProxies(dbServer, AgentSubSystem.TransactSql); ViewBag.ProxyList = proxyList; actionList = dropdown.getActions(dbServer, jobID, stepID); ViewBag.ActionList = actionList; ViewBag.ServerName = dbServer; ViewBag.JobID = jobID; step = jobSteps.getStepDetails(dbServer, jobID, stepID); return(View(step)); }
public ActionResult EditStep(JobStepDetailsModel step) { if (ModelState.IsValid) { JobSteps jobSteps = new JobSteps(); jobSteps.saveStepDetails(step); ViewBag.ServerName = step.ServerName; ViewBag.JobID = step.JobID; LogActivity log = new LogActivity(); log.Add(User.Identity.Name, step.ServerName, step.JobID, "Edit Step"); return(RedirectToAction("Steps", "Edit", new { dbServer = step.ServerName, jobID = step.JobID })); } else { PopulateDropDowns dropdown = new PopulateDropDowns(); List <SelectListItem> databaseList = new List <SelectListItem>(); List <SelectListItem> proxyList = new List <SelectListItem>(); List <SelectListItem> actionList = new List <SelectListItem>(); databaseList = dropdown.getDatabases(step.ServerName); ViewBag.DatabaseList = databaseList; proxyList = dropdown.getProxies(step.ServerName, AgentSubSystem.TransactSql); ViewBag.ProxyList = proxyList; actionList = dropdown.getActions(step.ServerName, step.JobID, step.StepNo); ViewBag.ActionList = actionList; ViewBag.ServerName = step.ServerName; ViewBag.JobID = step.JobID; return(View(step)); } }
public void saveStepDetails(JobStepDetailsModel Step) { ConnectSqlServer connection = new ConnectSqlServer(); Server dbServer = connection.Connect(Step.ServerName); Job job = dbServer.JobServer.GetJobByID(Step.JobID); JobStep stepToUpdate = job.JobSteps[Step.StepNo - 1]; if (stepToUpdate.Name != Step.StepName) { stepToUpdate.Rename(Step.StepName); } stepToUpdate.DatabaseName = Step.Database; stepToUpdate.Command = Step.Command; switch (Step.OnSuccess) { case "GoToNextStep": stepToUpdate.OnSuccessAction = StepCompletionAction.GoToNextStep; stepToUpdate.OnSuccessStep = 0; break; case "QuitWithSuccess": stepToUpdate.OnSuccessAction = StepCompletionAction.QuitWithSuccess; stepToUpdate.OnSuccessStep = 0; break; case "QuitWithFailure": stepToUpdate.OnSuccessAction = StepCompletionAction.QuitWithFailure; stepToUpdate.OnSuccessStep = 0; break; default: stepToUpdate.OnSuccessAction = StepCompletionAction.GoToStep; stepToUpdate.OnSuccessStep = int.Parse(Step.OnSuccess.Split(':')[1]); break; } switch (Step.OnFailure) { case "GoToNextStep": stepToUpdate.OnFailAction = StepCompletionAction.GoToNextStep; stepToUpdate.OnFailStep = 0; break; case "QuitWithSuccess": stepToUpdate.OnFailAction = StepCompletionAction.QuitWithSuccess; stepToUpdate.OnFailStep = 0; break; case "QuitWithFailure": stepToUpdate.OnFailAction = StepCompletionAction.QuitWithFailure; stepToUpdate.OnFailStep = 0; break; default: stepToUpdate.OnFailAction = StepCompletionAction.GoToStep; stepToUpdate.OnFailStep = int.Parse(Step.OnFailure.Split(':')[1]); break; } stepToUpdate.Alter(); stepToUpdate.Refresh(); }