public static void UpdateSettingsDictionary(int storeId, short paymentProviderId, Dictionary <string, string> settings)
        {
            using (esTransactionScope transaction = new esTransactionScope())
            {
                // DELETE all existing settings for this store/provider
                StorePaymentProviderSettingQuery qDelete = new StorePaymentProviderSettingQuery();
                qDelete.Where(qDelete.StoreId == storeId, qDelete.PaymentProviderId == paymentProviderId);
                StorePaymentProviderSettingCollection oldSettings = new StorePaymentProviderSettingCollection();
                oldSettings.Load(qDelete);
                oldSettings.MarkAllAsDeleted();
                oldSettings.Save();

                // INSERT new settings for this store/provider
                if (settings.Keys.Count > 0)
                {
                    StorePaymentProviderSettingCollection newSettings = new StorePaymentProviderSettingCollection();
                    foreach (KeyValuePair <string, string> setting in settings)
                    {
                        StorePaymentProviderSetting newSetting = newSettings.AddNew();
                        newSetting.StoreId           = storeId;
                        newSetting.PaymentProviderId = paymentProviderId;
                        newSetting.Name  = setting.Key;
                        newSetting.Value = setting.Value;
                    }
                    newSettings.Save();
                }

                transaction.Complete();
            }
        }
コード例 #2
0
        private bool LoadByPrimaryKeyDynamic(System.Int32 storeId, System.Int16 paymentProviderId, System.String name)
        {
            StorePaymentProviderSettingQuery query = new StorePaymentProviderSettingQuery();

            query.Where(query.StoreId == storeId, query.PaymentProviderId == paymentProviderId, query.Name == name);
            return(this.Load(query));
        }
コード例 #3
0
        protected void InitQuery(StorePaymentProviderSettingQuery query)
        {
            query.OnLoadDelegate = this.OnQueryLoaded;

            if (!query.es2.HasConnection)
            {
                query.es2.Connection = ((IEntityCollection)this).Connection;
            }
        }
        public static Dictionary <string, string> GetSettingsDictionary(int storeId, short paymentProviderId)
        {
            Dictionary <string, string> settings = new Dictionary <string, string>();

            StorePaymentProviderSettingQuery q = new StorePaymentProviderSettingQuery();

            q.Select(q.Name, q.Value);
            q.Where(q.StoreId == storeId, q.PaymentProviderId == paymentProviderId);

            using (IDataReader reader = q.ExecuteReader())
            {
                while (reader.Read())
                {
                    settings[reader.GetString(0)] = reader.GetString(1);
                }
                reader.Close();
            }

            return(settings);
        }
コード例 #5
0
 public bool Load(StorePaymentProviderSettingQuery query)
 {
     this.query = query;
     InitQuery(this.query);
     return(Query.Load());
 }