Exemple #1
0
        public void InsertIniSettingData()
        {
            CategorySetting categorySettingState = new CategorySetting {
                Name = "State"
            };

            _commonBl.InsertCategorySetting(categorySettingState);

            _commonBl.InsertSetting(new Setting {
                IdCategorySetting = categorySettingState.Id, Name = "Active"
            });

            _commonBl.InsertSetting(new Setting {
                IdCategorySetting = categorySettingState.Id, Name = "Inactive"
            });

            CategorySetting categorySettingIdFolder = new CategorySetting {
                Name = "IdFolder"
            };

            _commonBl.InsertCategorySetting(categorySettingIdFolder);

            _commonBl.InsertSetting(new Setting {
                IdCategorySetting = categorySettingIdFolder.Id, Name = "IdProfileFolder", ParamValue = "0ByH61UfQn23nbUdmODZqb2g0WE0"
            });

            _commonBl.InsertSetting(new Setting {
                IdCategorySetting = categorySettingIdFolder.Id, Name = "IdProfileFolder", ParamValue = "0ByH61UfQn23nTEF1Um1wZFU0QWs"
            });

            _commonBl.InsertSetting(new Setting {
                IdCategorySetting = categorySettingIdFolder.Id, Name = "ImagesFolder", ParamValue = "0ByH61UfQn23nSUxoaV9UX2tNTWs"
            });
        }
Exemple #2
0
        private CategorySetting ParseCategorySetting(string settingString)
        {
            settingString = GetValidSettingString(settingString, "CATEGORY");
            var split = settingString.Split(',');

            var categorySetting = new CategorySetting
            {
                IsActive   = bool.Parse(split[1]),
                IsCritical = bool.Parse(split[2]),
                Unlimited  = bool.Parse(split[3]),
                Amount     = long.Parse(split[4]),
                Duration   = (Duration)Enum.Parse(typeof(Duration), split[5])
            };

            return(categorySetting);
        }
Exemple #3
0
 public void InsertCategorySetting(CategorySetting categorySetting)
 {
     _repository.InsertCategorySetting(categorySetting);
 }
 public Category(CategorySetting setting = CategorySetting.Default)
 {
     Setting = setting;
 }
        public virtual decimal GetCategoryMinGrossMarginRate(ProductInfo product)
        {
            CategorySetting setting = ExternalDomainBroker.GetCategorySetting(product.ProductBasicInfo.ProductCategoryInfo.SysNo.Value);

            return(setting.PrimaryMargin);
        }
        /// <summary>
        ///
        /// </summary>
        /// <param name="product"></param>
        /// <param name="isPrimary">是否为初级毛利,否的话就是高级毛利</param>
        /// <returns></returns>
        public virtual decimal GetStockGrossMarginRate(ProductInfo product, bool isPrimary)
        {
            int             inStockDays = ExternalDomainBroker.GetInStockDaysByProductSysNo(product.SysNo);
            CategorySetting cateSetting = ExternalDomainBroker.GetCategorySetting(product.ProductBasicInfo.ProductCategoryInfo.SysNo.Value);
            MinMarginKPI    kpi         = new MinMarginKPI();

            if (cateSetting.CategoryMinMarginInfo != null && cateSetting.CategoryMinMarginInfo.Margin != null && cateSetting.CategoryMinMarginInfo.Margin.Count() > 0)
            {
                if (inStockDays >= 0 && inStockDays <= 30)
                {
                    kpi = cateSetting.CategoryMinMarginInfo.Margin[MinMarginDays.Thirty];
                }

                if (inStockDays >= 31 && inStockDays <= 60)
                {
                    kpi = cateSetting.CategoryMinMarginInfo.Margin[MinMarginDays.Sixty];
                }

                if (inStockDays >= 61 && inStockDays <= 90)
                {
                    kpi = cateSetting.CategoryMinMarginInfo.Margin[MinMarginDays.Ninety];
                }

                if (inStockDays >= 91 && inStockDays <= 120)
                {
                    kpi = cateSetting.CategoryMinMarginInfo.Margin[MinMarginDays.OneHundredAndTwenty];
                }

                if (inStockDays >= 120 && inStockDays <= 180)
                {
                    kpi = cateSetting.CategoryMinMarginInfo.Margin[MinMarginDays.OneHundredAndEighty];
                }

                if (inStockDays > 180)
                {
                    kpi = cateSetting.CategoryMinMarginInfo.Margin[MinMarginDays.Other];
                }
            }
            else
            {
                if (inStockDays >= 0 && inStockDays <= 30)
                {
                    kpi.MinMargin = 0.05m;
                    kpi.MaxMargin = 0.05m;
                }

                if (inStockDays >= 31 && inStockDays <= 180)
                {
                    kpi.MinMargin = 0.01m;
                    kpi.MaxMargin = 0.01m;
                }

                if (inStockDays > 180)
                {
                    kpi.MinMargin = -0.03m;
                    kpi.MaxMargin = -0.03m;
                }
            }
            if (isPrimary)
            {
                return(kpi.MinMargin);//初级毛利率下限
            }
            else
            {
                return(kpi.MaxMargin);//高级毛利率下限
            }
        }
Exemple #7
0
 public void InsertCategorySetting(CategorySetting categorySetting)
 {
     Session.Save(categorySetting);
 }
Exemple #8
0
        public override void ExposeData()
        {
            //Verse.Log.Message("Settings. ExposeData()");
            if (Scribe.mode == LoadSaveMode.Saving)
            {
                // in save mode, it looks like it deletes any
                // existing keys in the save data
                // so each 'save' is starting from a blank slate
                //Verse.Log.Message("Scribe.mode(Saving)");

                foreach (KeyValuePair <Category, CategorySetting> kvp in this.Values)
                {
                    Category        cat     = kvp.Key;
                    CategorySetting setting = kvp.Value;

                    if (OgreStackMod._DEFAULTS[cat].Mode != setting.Mode ||
                        OgreStackMod._DEFAULTS[cat].Value != setting.Value)
                    {
                        string label = cat + "_";

                        Scribe_Values.Look <MultiplierMode>(ref setting.Mode, label + "Mode");
                        Scribe_Values.Look <string>(ref setting.Buffer, label + "Value");

                        //Verse.Log.Message(string.Format("[Save Write] {0}:{1}:{2}",
                        //	cat.ToString(),
                        //	setting.Mode.ToString(),
                        //	setting.Value.ToString()
                        //));
                    }
                    else
                    {
                        //Verse.Log.Message(string.Format("[Save Skip] {0}:{1}:{2}",
                        //	cat.ToString(),
                        //	setting.Mode.ToString(),
                        //	setting.Value.ToString()
                        //));
                    }
                }

                if (this.IsDebug)
                {
                    Scribe_Values.Look <bool>(ref this.IsDebug, "IsDebugCSV");
                }

                if (this.DetermineIfModifyStacksIsNeeded())
                {
                    this.ReModify();
                }
                this.HashCurrentSettings();
            }
            else
            {
                if (!isLoaded)
                {
                    isLoaded = true;
                    //Verse.Log.Message("Scribe.mode(Loading)");
                    foreach (Category c in OgreStackMod._DEFAULTS.Keys)
                    {
                        string label = c.ToString() + "_";

                        MultiplierMode mode  = MultiplierMode.Fixed;
                        string         value = "0";                 // OgreStackMod._DEFAULTS[c].Value;
                        Scribe_Values.Look <MultiplierMode>(ref mode, label + "Mode", MultiplierMode.Fixed);
                        Scribe_Values.Look <string>(ref value, label + "Value");
                        //if (string.Compare("0", value, true) != 0)
                        if (!string.IsNullOrEmpty(value))
                        {
                            this.Values[c] = new CategorySetting(
                                mode: mode,
                                buffer: value
                                );
                            this.Values[c].ParseBuffer();
                        }
                        else
                        {
                            this.Values[c] = new CategorySetting(
                                mode: OgreStackMod._DEFAULTS[c].Mode,
                                buffer: OgreStackMod._DEFAULTS[c].Value.ToString()
                                );
                        }
                    }

                    Scribe_Values.Look <bool>(ref this.IsDebug, "IsDebugCSV", false);

                    this.HashCurrentSettings();
                }
                else
                {
                    //Verse.Log.Message("Scribe.mode(Loading) [SKIP: Already Loaded]");
                }
            }
        }