private List <DbParameter> BuildDbParameters(IDictionary <string, object> parameters) { var dbParameters = new List <DbParameter>(); foreach (var dataMapping in this.DataMappings) { var dbParameter = this.dbAdapter.DbProviderFactory.CreateParameter(); dbParameter.ParameterName = dataMapping.Name; // replace token in the datamapping value e.g. ["Filename"]="{Filename}" -> ["Filename"]="C:\Temp\Test.txt" dbParameter.Value = TokenProcessor.ReplaceTokens(dataMapping.Value.ToStringOrEmpty(), parameters); dbParameter.DbType = dataMapping.DbType; switch (dataMapping.Direction) { case Directions.In: dbParameter.Direction = ParameterDirection.Input; break; case Directions.Out: dbParameter.Direction = ParameterDirection.Output; break; case Directions.InOut: dbParameter.Direction = ParameterDirection.InputOutput; break; } } return(dbParameters); }
protected override IEnumerable <CommandParameters> Execute(IEnumerable <CommandParameters> inParametersList) { foreach (var inParameters in inParametersList) { //inParameters = GetCurrentInParameters(); string file = inParameters.GetValue <string>("File"); string startParameter = inParameters.GetValue <string>("StartParameter"); string logFile = inParameters.GetValue <string>("OutputLogFile"); startParameter = TokenProcessor.ReplaceTokens(startParameter, inParameters.ToDictionary()); var shellOutput = this.commandShellAction.RunExternalExe(file, startParameter); // log output to logfile if (!string.IsNullOrEmpty(logFile) && !string.IsNullOrWhiteSpace(shellOutput)) { System.IO.File.AppendAllText(logFile, shellOutput + Environment.NewLine); } var outParameters = this.GetCurrentOutParameters(); outParameters.AddOrUpdate(new CommandParameter() { Name = "Output", Value = shellOutput }); yield return(outParameters); } }
private object InvokeWebRequestWithParameters(SimpleWebRequest webRequest, IDictionary <string, object> values = null) { // Take the values, which are defined in the mapping foreach (var dataMapping in this.DataMappings) { object value = null; if (dataMapping.Value != null) { // replace token e.g {Filename} -> C:\Temp\Test.txt value = TokenProcessor.ReplaceTokens(dataMapping.Value.ToStringOrEmpty(), values); } else { value = values.GetValue(dataMapping.Name); } webRequest.Parameters.Add(dataMapping.Name, value.ToStringOrEmpty()); } // call the service var result = webRequest.Invoke(); // format the result object data = null; if (this.formatter != null && result != null) { data = this.formatter.Format(result, null); } return(data); }
protected override IEnumerable <CommandParameters> Execute(IEnumerable <CommandParameters> inParametersList) { foreach (var inParameters in inParametersList) { //inParameters = GetCurrentInParameters(); string script = inParameters.GetValue <string>("Script"); string logFile = inParameters.GetValue <string>("OutputLogFile"); var parameters = new Dictionary <string, object>(); if (this.DataMappings.Any()) { // Take the values, which are defined in the mapping foreach (var dataMapping in this.DataMappings) { string parameterValue = ""; if (dataMapping.Value != null) { parameterValue = TokenProcessor.ReplaceTokens(dataMapping.Value.ToStringOrEmpty()); } else { parameterValue = inParameters.GetValue <string>(dataMapping.Name); } parameters.Add(dataMapping.Name, parameterValue); } } else { parameters = inParameters.ToDictionary(); } var shellOutput = this.powerShellAction.Run(script, parameters); // log output to logfile if (!string.IsNullOrEmpty(logFile) && !string.IsNullOrWhiteSpace(shellOutput)) { System.IO.File.AppendAllText(logFile, shellOutput + Environment.NewLine); } var outParameters = this.GetCurrentOutParameters(); outParameters.AddOrUpdate(new CommandParameter() { Name = "Output", Value = shellOutput }); yield return(outParameters); } }
private object InvokeWebserviceWithParameters(SimpleWebserviceRequest webService, IDictionary <string, object> values = null) { webService.Parameters.Clear(); // Take the values, which are defined in the mapping foreach (var dataMapping in this.DataMappings) { var webserviceParameter = new SimpleWebserviceRequest.WebserviceParameter() { Name = dataMapping.Name, Type = dataMapping.DataType.ToString() }; if (dataMapping.Value != null) { // replace token e.g {Filename} -> C:\Temp\Test.txt webserviceParameter.Value = TokenProcessor.ReplaceTokens(dataMapping.Value.ToStringOrEmpty(), values); } //else //{ // // set the value // webserviceParameter.Value = values.GetValue(dataMapping.Name); //} webService.Parameters.Add(webserviceParameter); } // call the service var result = webService.Invoke(); // format the result object data = null; if (this.formatter != null && result != null) { data = this.formatter.Format(result.OuterXml, null); } return(data); }
private string ApplyDataMappings(string sql, IDictionary <string, object> parameters) { // prepare the sql and set the values if (this.DataMappings.Any()) { foreach (var dataMapping in this.DataMappings) { if (dataMapping.Value != null) { // replace token in the datamapping value e.g. ["Filename"]="{Filename}" -> ["Filename"]="C:\Temp\Test.txt" string value = TokenProcessor.ReplaceTokens(dataMapping.Value.ToStringOrEmpty(), parameters); // Replace the tokens in the sql template e.g. "SELECT * FROM tb_test WHERE ID = {Id}" sql = TokenProcessor.ReplaceToken(sql, dataMapping.Name, value); } } } else { sql = TokenProcessor.ReplaceTokens(sql, parameters); } return(sql); }
protected override IEnumerable <CommandParameters> Execute(IEnumerable <CommandParameters> inParametersList) { foreach (var inParameters in inParametersList) { //inParameters = GetCurrentInParameters(); string mailFrom = inParameters.GetValue <string>("From"); string mailTo = inParameters.GetValue <string>("To"); string mailCc = inParameters.GetValue <string>("CC"); string mailBcc = inParameters.GetValue <string>("BCC"); //object data = inParameters.GetValue<object>("Data"); var smtpConnectionInfo = this.ConnectionInfo as SmtpConnectionInfo; if (smtpConnectionInfo == null) { throw new ArgumentNullException("ConnectionInfo"); } using (var message = new MailMessage()) { // From message.From = new MailAddress(mailFrom, mailFrom, Encoding.UTF8); // To var to = mailTo.Replace(";", ","); foreach (string emailaddress in to.Split(',')) { message.To.Add(new MailAddress(emailaddress, string.Empty, Encoding.UTF8)); } message.Subject = TokenProcessor.ReplaceTokens(this.Subject, inParameters.ToDictionary()); message.Body = TokenProcessor.ReplaceTokens(this.Body, inParameters.ToDictionary()); // Attachments foreach (var attachment in this.Attachments) { string fileName = TokenProcessor.ReplaceTokens(attachment, inParameters.ToDictionary()); message.Attachments.Add(new Attachment(fileName)); } using (var smtpClient = new SmtpClient()) { smtpClient.Host = smtpConnectionInfo.SmtpServer; smtpClient.Port = smtpConnectionInfo.SmtpPort; if (smtpConnectionInfo.EnableSecure) { smtpClient.EnableSsl = smtpConnectionInfo.EnableSecure; } if (!string.IsNullOrEmpty(smtpConnectionInfo.UserName)) { smtpClient.UseDefaultCredentials = false; smtpClient.Credentials = new NetworkCredential(smtpConnectionInfo.UserName, smtpConnectionInfo.DecryptedPassword); } smtpClient.Send(message); } } var outParameters = this.GetCurrentOutParameters(); yield return(outParameters); } }