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();
                         }
                     }
                 }
         }
     }
 }