public EmailTemplateSO(EmailTemplateServiceBroker broker) : base(broker) { _placeholders = new PlaceholderItemCollection() { Wrapper = ServiceBroker.Service.ServiceConfiguration[ServiceConfig.PlaceholderWrapperSymbol].ToString() }; _inputIds = new Dictionary <string, string>(); _pSmoSystemName = ServiceBroker.Service.ServiceConfiguration[ServiceConfig.PlaceholderSmoSystemName].ToString(); _pSmoListName = ServiceBroker.Service.ServiceConfiguration[ServiceConfig.ListMethodName].ToString(); _pNameProperty = ServiceBroker.Service.ServiceConfiguration[ServiceConfig.PlaceholderPropertyName].ToString(); _pAdoNetProperty = ServiceBroker.Service.ServiceConfiguration[ServiceConfig.AdoNetPropertyName].ToString(); _pReturnProperty = ServiceBroker.Service.ServiceConfiguration[ServiceConfig.ReturnProperty].ToString(); }
public void GetAllValues(Dictionary <string, string> inputIds, EmailTemplateServiceBroker sb) { if (Items.Count == 0) { return; } using (SOConnection soConnection = new SOConnection(sb.K2Connection.GetSOConnectionString())) { soConnection.DirectExecution = true; soConnection.Open(); foreach (var p in Items) { var query = p.AdoQuery; if (query.ToLower().StartsWith("delete ") || query.ToLower().StartsWith("update ")) { throw new ArgumentException(string.Format(Resources.QueryCannotStartDeleteUpdate, query)); } foreach (var item in inputIds) { var searchValue = Wrapper + item.Key + Wrapper; query = query.Replace(searchValue, item.Value); } using (SOCommand soCommand = new SOCommand(query, soConnection)) using (SODataReader soReader = soCommand.ExecuteReader(CommandBehavior.CloseConnection)) { if (soReader.HasRows) { while (soReader.Read()) { p.Value = soReader[p.ReturnProperty].ToString(); } } } } } }