protected override void ProcessRecord() { if (this.MyInvocation.BoundParameters.ContainsKey("InputObject")) { _input = this.InputObject; } }
private void SetSmoJob(Dictionary <string, object> parameters, SmoJob job) { var sd = new SwappableDictionary(parameters); if (sd.ContainsKey("NewName")) { sd.Swap(sd.NewSwappable(NAME, "NewName")); } if (sd.ContainsKey("Enabled")) { sd.Swap(sd.NewSwappable("IsEnabled", "Enabled")); } for (int i = sd.Count - 1; i >= 0; i--) { KeyValuePair <string, object> kvp = sd.ElementAt(i); if (SkipThese.Contains(kvp.Key)) { sd.Remove(kvp.Key); } } var propList = job.GetType().GetProperties(FLAGS).Where(x => x.CanWrite && sd.ContainsKey(x.Name)).ToList(); base.ChangeValues(job, sd, propList); job.Alter(); }
protected override void BeginProcessing() { base.BeginProcessing(); if (this.MyInvocation.BoundParameters.ContainsKey(JOBNAME)) { if (this.SqlServer == null && SmoContext.GetNullOrEmpty(SmoContext.Jobs)) { SmoContext.SetJobs(SmoContext.Connection.JobServer.Jobs); } else if (this.SqlServer != null) { SmoContext.SetJobs(this.SqlServer.JobServer.Jobs); } _input = this.GetJobFromName(this.JobName); } else if (this.MyInvocation.BoundParameters.ContainsKey(JOBID)) { _input = this.GetJobFromId(this.JobId, _server); } }
protected private SmoJob GetJobFromName(string name) { SmoJob retJob = null; for (int i = 0; i < SmoContext.Jobs.Count; i++) { var job = SmoContext.Jobs[i]; if (job.Name.Equals(name, StringComparison.CurrentCultureIgnoreCase)) { retJob = job; break; } } return(retJob); }
protected override void ProcessRecord() { if (jobs != null && jobs.Count > 0) { base.WriteObject(jobs, true); } else if (this.SqlServer != null) { var jobCol = this.SqlServer.JobServer.Jobs; if (_dynLib != null && _dynLib.ParameterHasValue("JobName")) { string[] names = _dynLib.GetParameterValues <string>("JobName"); for (int i = 0; i < jobCol.Count; i++) { Microsoft.SqlServer.Management.Smo.Agent.Job job = jobCol[i]; if (names.Contains(job.Name, new SmoContext.CaseInsensitiveComparer())) { SmoJob smoj = job; base.WriteObject(smoj); } } } else { for (int i = 0; i < jobCol.Count; i++) { SmoJob smoj = jobCol[i]; base.WriteObject(smoj); } } } else { throw new ArgumentException("SqlServer can't be null if you don't connect to an instance."); } }