public String GetValue(int storeId)
        {
            if (storeId == 0)
            {
                return(acDefault.Value);
            }

            foreach (RepeaterItem ri in repVisibleStoreValues.Items)
            {
                HiddenField        hfStoreId    = ri.FindControl("hfStoreId") as HiddenField;
                EditAppConfigInput acStoreValue = ri.FindControl("acStoreValue") as EditAppConfigInput;
                int rStoreId;
                if (int.TryParse(hfStoreId.Value, out rStoreId) && rStoreId == storeId)
                {
                    return(acStoreValue.Value);
                }
            }

            foreach (RepeaterItem ri in repHiddenStoreValues.Items)
            {
                HiddenField        hfStoreId    = ri.FindControl("hfStoreId") as HiddenField;
                EditAppConfigInput acStoreValue = ri.FindControl("acStoreValue") as EditAppConfigInput;
                int rStoreId;
                if (int.TryParse(hfStoreId.Value, out rStoreId) && rStoreId == storeId)
                {
                    return(acStoreValue.Value);
                }
            }

            return(null);
        }
        protected void StoreValues_ItemDataBound(object sender, RepeaterItemEventArgs e)
        {
            if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
            {
                EditAppConfigInput acStoreValue = e.Item.FindControl("acStoreValue") as EditAppConfigInput;
                Literal            litStoreName = e.Item.FindControl("litStoreName") as Literal;
                Store s = e.Item.DataItem as Store;

                litStoreName.Text = s.Name;
                if (AppConfigManager.AppConfigExists(DataSource.Name, s.StoreID))
                {
                    acStoreValue.DataSource = AppConfigManager.GetAppConfig(DataSource.Name, s.StoreID);
                }
                else
                {
                    acStoreValue.DataSource = DataSource;
                }

                acStoreValue.TargetStoreId = s.StoreID;

                acStoreValue.DataBind();
            }
        }
        public void Save()
        {
            if (DataSource == null)
            {
                return;
            }
            List <string> dontDupStoresForValues = new List <string>();

            dontDupStoresForValues.Add(AppLogic.AppConfig(acDefault.GetAppConfigName(), 0, false));
            acDefault.Save();
            dontDupStoresForValues.Add(AppLogic.AppConfig(acDefault.GetAppConfigName(), 0, false));

            foreach (RepeaterItem ri in repHiddenStoreValues.Items)
            {
                EditAppConfigInput i = ri.FindControl("acStoreValue") as EditAppConfigInput;
                i.Save(dontDupStoresForValues);
            }
            foreach (RepeaterItem ri in repVisibleStoreValues.Items)
            {
                EditAppConfigInput i = ri.FindControl("acStoreValue") as EditAppConfigInput;
                i.Save(dontDupStoresForValues);
            }
            BindStores();
        }