public LimitTimeBuySettingModel GetServiceSetting()
        {
            int num = 0;
            MarketSettingInfo marketSettingInfo = (
                from m in context.MarketSettingInfo
                where (int)m.TypeId == 1
                select m).FirstOrDefault();

            if (marketSettingInfo == null || marketSettingInfo.Id == 0)
            {
                return(null);
            }
            LimitTimeBuySettingModel limitTimeBuySettingModel = new LimitTimeBuySettingModel()
            {
                Price      = marketSettingInfo.Price,
                ReviceDays = 0
            };
            LimitTimeBuySettingModel limitTimeBuySettingModel1 = limitTimeBuySettingModel;

            if (marketSettingInfo.Himall_MarketSettingMeta.Count() != 0)
            {
                MarketSettingMetaInfo marketSettingMetaInfo = marketSettingInfo.Himall_MarketSettingMeta.FirstOrDefault((MarketSettingMetaInfo m) => m.MetaKey.ToLower().Equals("revicedays"));
                if (marketSettingMetaInfo != null)
                {
                    int.TryParse(marketSettingMetaInfo.MetaValue, out num);
                }
                limitTimeBuySettingModel1.ReviceDays = num;
            }
            return(limitTimeBuySettingModel1);
        }
        public void DeleteServiceCategory(string categoryName)
        {
            if (string.IsNullOrWhiteSpace(categoryName))
            {
                throw new HimallException("分类不能为空,添加失败.");
            }
            MarketSettingInfo marketSettingInfo = (
                from m in context.MarketSettingInfo
                where (int)m.TypeId == 1
                select m).FirstOrDefault();

            if (context.LimitTimeMarketInfo.Any((LimitTimeMarketInfo m) => m.CategoryName.Equals(categoryName)))
            {
                throw new HimallException("该分类不能被删除,因为其他限时购活动正在使用.");
            }
            if (marketSettingInfo != null && marketSettingInfo.Id != 0)
            {
                MarketSettingMetaInfo marketSettingMetaInfo = marketSettingInfo.Himall_MarketSettingMeta.FirstOrDefault((MarketSettingMetaInfo m) => {
                    if (m.MarketId != marketSettingInfo.Id)
                    {
                        return(false);
                    }
                    return(m.MetaKey.ToLower().Equals("categories"));
                });
                if (marketSettingMetaInfo != null && marketSettingMetaInfo.Id != 0 && !string.IsNullOrWhiteSpace(marketSettingMetaInfo.MetaValue))
                {
                    string        metaValue = marketSettingMetaInfo.MetaValue;
                    char[]        chrArray  = new char[] { ',' };
                    List <string> list      = metaValue.Split(chrArray).ToList();
                    list.Remove(categoryName);
                    marketSettingMetaInfo.MetaValue = string.Join(",", list);
                }
            }
            context.SaveChanges();
        }
        public string[] GetServiceCategories()
        {
            List <string>     strs = new List <string>();
            MarketSettingInfo marketSettingInfo = (
                from m in context.MarketSettingInfo
                where (int)m.TypeId == 1
                select m).FirstOrDefault();

            if (marketSettingInfo != null && marketSettingInfo.Id != 0)
            {
                MarketSettingMetaInfo marketSettingMetaInfo = marketSettingInfo.Himall_MarketSettingMeta.FirstOrDefault((MarketSettingMetaInfo m) => {
                    if (m.MarketId != marketSettingInfo.Id)
                    {
                        return(false);
                    }
                    return(m.MetaKey.ToLower().Equals("categories"));
                });
                if (marketSettingMetaInfo != null && marketSettingMetaInfo.Id != 0)
                {
                    string metaValue = marketSettingMetaInfo.MetaValue;
                    char[] chrArray  = new char[] { ',' };
                    strs = metaValue.Split(chrArray).ToList();
                }
            }
            return(strs.ToArray());
        }
        public void UpdateServiceSetting(LimitTimeBuySettingModel model)
        {
            MarketSettingInfo price = context.MarketSettingInfo.FirstOrDefault((MarketSettingInfo m) => (int)m.TypeId == 1);

            if (price == null || price.Id == 0)
            {
                MarketSettingInfo marketSettingInfo = new MarketSettingInfo()
                {
                    Price  = model.Price,
                    TypeId = MarketType.LimitTimeBuy
                };
                context.MarketSettingInfo.Add(marketSettingInfo);
            }
            else
            {
                price.Price = model.Price;
                if (price.ChemCloud_MarketSettingMeta.Count() != 0)
                {
                    MarketSettingMetaInfo str = price.ChemCloud_MarketSettingMeta.FirstOrDefault((MarketSettingMetaInfo m) => {
                        if (m.MarketId != price.Id)
                        {
                            return(false);
                        }
                        return(m.MetaKey.ToLower().Equals("revicedays"));
                    });
                    str.MetaValue = model.ReviceDays.ToString();
                }
            }
            context.SaveChanges();
        }
        public void AddServiceCategory(string categoryName)
        {
            if (string.IsNullOrWhiteSpace(categoryName))
            {
                throw new HimallException("分类不能为空,添加失败.");
            }
            MarketSettingInfo marketSettingMetaInfos = (
                from m in context.MarketSettingInfo
                where (int)m.TypeId == 1
                select m).FirstOrDefault();

            if (marketSettingMetaInfos != null && marketSettingMetaInfos.Id != 0)
            {
                if (marketSettingMetaInfos.Himall_MarketSettingMeta.Count() == 0)
                {
                    marketSettingMetaInfos.Himall_MarketSettingMeta = new List <MarketSettingMetaInfo>();
                }
                MarketSettingMetaInfo marketSettingMetaInfo = marketSettingMetaInfos.Himall_MarketSettingMeta.FirstOrDefault((MarketSettingMetaInfo m) => {
                    if (m.MarketId != marketSettingMetaInfos.Id)
                    {
                        return(false);
                    }
                    return(m.MetaKey.ToLower().Equals("categories"));
                });
                if (marketSettingMetaInfo == null || marketSettingMetaInfo.Id == 0)
                {
                    ICollection <MarketSettingMetaInfo> himallMarketSettingMeta = marketSettingMetaInfos.Himall_MarketSettingMeta;
                    MarketSettingMetaInfo marketSettingMetaInfo1 = new MarketSettingMetaInfo()
                    {
                        MetaKey   = "Categories",
                        MetaValue = categoryName,
                        MarketId  = marketSettingMetaInfos.Id
                    };
                    himallMarketSettingMeta.Add(marketSettingMetaInfo1);
                }
                else
                {
                    string metaValue = marketSettingMetaInfo.MetaValue;
                    char[] chrArray  = new char[] { ',' };
                    if (metaValue.Split(chrArray).Any((string c) => c.Equals(categoryName)))
                    {
                        throw new HimallException("添加的限时购分类已经存在,添加失败.");
                    }
                    MarketSettingMetaInfo marketSettingMetaInfo2 = marketSettingMetaInfo;
                    marketSettingMetaInfo2.MetaValue = string.Concat(marketSettingMetaInfo2.MetaValue, string.Format(",{0}", categoryName));
                }
            }
            context.SaveChanges();
        }