Ejemplo n.º 1
0
        public void UpdateHomeCategorySet(HomeCategorySet homeCategorySet)
        {
            if (homeCategorySet.HomeCategories == null)
            {
                throw new ArgumentNullException("传入的分类不能为null,但可以是空集合");
            }

            //int rowNumber = homeCategorySet.HomeCategories.FirstOrDefault().RowNumber;
            int rowNumber = homeCategorySet.HomeCategories.FirstOrDefault().RowId;

            if (rowNumber > HOME_CATEGORY_SET_COUNT || rowNumber < 0)
            {
                throw new ArgumentNullException("行号不在取值范围内!取值必须大于0且小于" + HOME_CATEGORY_SET_COUNT);
            }

            DbFactory.Default.InTransaction(() =>
            {
                //Context.HomeCategoryInfo.Remove(item => item.RowNumber == rowNumber);//移除原所有首页分类
                DbFactory.Default.Del <HomeCategoryInfo>(item => item.RowId == rowNumber);//移除原所有首页分类

                //填充行号
                foreach (var homeCategory in homeCategorySet.HomeCategories)
                {
                    //homeCategory.RowNumber = rowNumber;
                    homeCategory.RowId = rowNumber;
                    DbFactory.Default.Add(homeCategory);
                }
            });
            //Context.HomeCategoryInfo.AddRange(homeCategorySet.HomeCategories);//添加新的首页分类
            //Context.SaveChanges();
            //DbFactory.Default.Add(homeCategorySet.HomeCategories);
        }
        public JsonResult GetHomeCategoryTopics(int rowNumber)
        {
            HomeCategorySet.HomeCategoryTopic homeCategoryTopic;
            HomeCategorySet.HomeCategoryTopic homeCategoryTopic1;
            HomeCategorySet homeCategorySet = ServiceHelper.Create <IHomeCategoryService>().GetHomeCategorySet(rowNumber);
            int             num             = (homeCategorySet.HomeCategoryTopics == null ? 0 : homeCategorySet.HomeCategoryTopics.Count <HomeCategorySet.HomeCategoryTopic>());

            if (num > 0)
            {
                homeCategoryTopic = homeCategorySet.HomeCategoryTopics.ElementAt <HomeCategorySet.HomeCategoryTopic>(0);
            }
            else
            {
                homeCategoryTopic = null;
            }
            HomeCategorySet.HomeCategoryTopic homeCategoryTopic2 = homeCategoryTopic;
            if (num > 1)
            {
                homeCategoryTopic1 = homeCategorySet.HomeCategoryTopics.ElementAt <HomeCategorySet.HomeCategoryTopic>(1);
            }
            else
            {
                homeCategoryTopic1 = null;
            }
            HomeCategorySet.HomeCategoryTopic homeCategoryTopic3 = homeCategoryTopic1;
            return(Json(new { imageUrl1 = (homeCategoryTopic2 == null ? "" : homeCategoryTopic2.ImageUrl), url1 = (homeCategoryTopic2 == null ? "" : homeCategoryTopic2.Url), imageUrl2 = (homeCategoryTopic3 == null ? "" : homeCategoryTopic3.ImageUrl), url2 = (homeCategoryTopic3 == null ? "" : homeCategoryTopic3.Url) }));
        }
Ejemplo n.º 3
0
        public HomeCategorySet GetHomeCategorySet(int rowNumber)
        {
            if (rowNumber > 14 || rowNumber < 0)
            {
                throw new ArgumentNullException(string.Concat("行号不在取值范围内!取值必须大于0且小于", 14));
            }
            HomeCategorySet homeCategorySet = new HomeCategorySet()
            {
                RowNumber      = rowNumber,
                HomeCategories = context.HomeCategoryInfo.FindBy((HomeCategoryInfo item) => item.RowNumber == rowNumber)
            };
            HomeCategoryRowInfo homeCategoryRowInfo = context.HomeCategoryRowInfo.FindBy((HomeCategoryRowInfo item) => item.RowId == rowNumber).FirstOrDefault();
            List <HomeCategorySet.HomeCategoryTopic> homeCategoryTopics = new List <HomeCategorySet.HomeCategoryTopic>();

            HomeCategorySet.HomeCategoryTopic homeCategoryTopic = new HomeCategorySet.HomeCategoryTopic()
            {
                Url      = homeCategoryRowInfo.Url1,
                ImageUrl = homeCategoryRowInfo.Image1
            };
            homeCategoryTopics.Add(homeCategoryTopic);
            HomeCategorySet.HomeCategoryTopic homeCategoryTopic1 = new HomeCategorySet.HomeCategoryTopic()
            {
                Url      = homeCategoryRowInfo.Url2,
                ImageUrl = homeCategoryRowInfo.Image2
            };
            homeCategoryTopics.Add(homeCategoryTopic1);
            homeCategorySet.HomeCategoryTopics = homeCategoryTopics;
            return(homeCategorySet);
        }
Ejemplo n.º 4
0
        public HomeCategorySet GetHomeCategorySet(int rowNumber)
        {
            if (rowNumber > HOME_CATEGORY_SET_COUNT || rowNumber < 0)
            {
                throw new ArgumentNullException("行号不在取值范围内!取值必须大于0且小于" + HOME_CATEGORY_SET_COUNT);
            }

            var homeCategorySet = new HomeCategorySet();

            homeCategorySet.RowNumber = rowNumber;
            //homeCategorySet.HomeCategories = Context.HomeCategoryInfo.FindBy(item => item.RowNumber == rowNumber);
            homeCategorySet.HomeCategories = DbFactory.Default.Get <HomeCategoryInfo>().Where(item => item.RowId == rowNumber).ToList();
            //var categoryRowInfo = Context.HomeCategoryRowInfo.FindBy(item => item.RowId == rowNumber).FirstOrDefault();
            var categoryRowInfo = DbFactory.Default.Get <HomeCategoryRowInfo>().Where(item => item.RowId == rowNumber).FirstOrDefault();

            var homeCategoryRows = new List <HomeCategorySet.HomeCategoryTopic>();

            homeCategoryRows.Add(new HomeCategorySet.HomeCategoryTopic()
            {
                Url = categoryRowInfo.Url1, ImageUrl = categoryRowInfo.Image1
            });
            homeCategoryRows.Add(new HomeCategorySet.HomeCategoryTopic()
            {
                Url = categoryRowInfo.Url2, ImageUrl = categoryRowInfo.Image2
            });
            homeCategorySet.HomeCategoryTopics = homeCategoryRows;

            return(homeCategorySet);
        }
Ejemplo n.º 5
0
        public void UpdateHomeCategorySet(HomeCategorySet homeCategorySet)
        {
            if (homeCategorySet.HomeCategories == null)
            {
                throw new ArgumentNullException("传入的分类不能为null,但可以是空集合");
            }

            int rowNumber = homeCategorySet.HomeCategories.FirstOrDefault().RowNumber;

            if (rowNumber > HOME_CATEGORY_SET_COUNT || rowNumber < 0)
            {
                throw new ArgumentNullException("行号不在取值范围内!取值必须大于0且小于" + HOME_CATEGORY_SET_COUNT);
            }


            Context.HomeCategoryInfo.Remove(item => item.RowNumber == rowNumber);//移除原所有首页分类

            //填充行号
            foreach (var homeCategory in homeCategorySet.HomeCategories.ToList())
            {
                homeCategory.RowNumber = rowNumber;
            }

            Context.HomeCategoryInfo.AddRange(homeCategorySet.HomeCategories);//添加新的首页分类
            Context.SaveChanges();
        }
Ejemplo n.º 6
0
        public void UpdateHomeCategorySet(HomeCategorySet homeCategorySet)
        {
            if (homeCategorySet.HomeCategories == null)
            {
                throw new ArgumentNullException("传入的分类不能为null,但可以是空集合");
            }
            int rowNumber = homeCategorySet.HomeCategories.FirstOrDefault().RowNumber;

            if (rowNumber > 14 || rowNumber < 0)
            {
                throw new ArgumentNullException(string.Concat("行号不在取值范围内!取值必须大于0且小于", 14));
            }
            context.HomeCategoryInfo.OrderBy((HomeCategoryInfo item) => item.RowNumber == rowNumber);
            foreach (HomeCategoryInfo list in homeCategorySet.HomeCategories.ToList())
            {
                list.RowNumber = rowNumber;
            }
            context.HomeCategoryInfo.AddRange(homeCategorySet.HomeCategories);
            context.SaveChanges();
        }
Ejemplo n.º 7
0
 public IEnumerable <HomeCategorySet> GetHomeCategorySets()
 {
     HomeCategorySet[] homeCategorySetArray = new HomeCategorySet[14];
     if (Cache.Get("Cache-HomeCategories") == null)
     {
         List <HomeCategoryInfo> list = (
             from C in context.HomeCategoryInfo.Include("CategoryInfo")
             select C).ToList();
         List <IGrouping <int, HomeCategoryInfo> > groupings = (
             from C in list
             group C by C.RowNumber into G
             select G).ToList <IGrouping <int, HomeCategoryInfo> >();
         foreach (IGrouping <int, HomeCategoryInfo> nums in groupings)
         {
             HomeCategorySet homeCategorySet = new HomeCategorySet()
             {
                 RowNumber      = nums.Key,
                 HomeCategories = nums
             };
             homeCategorySetArray[nums.Key - 1] = homeCategorySet;
         }
         List <HomeCategoryRowInfo> homeCategoryRowInfos = context.HomeCategoryRowInfo.FindAll <HomeCategoryRowInfo>().ToList();
         for (int i = 0; i < 14; i++)
         {
             if (homeCategorySetArray[i] == null)
             {
                 int             num = i;
                 HomeCategorySet homeCategorySet1 = new HomeCategorySet()
                 {
                     RowNumber      = i + 1,
                     HomeCategories = new List <HomeCategoryInfo>()
                 };
                 homeCategorySetArray[num] = homeCategorySet1;
             }
             List <HomeCategorySet.HomeCategoryTopic> homeCategoryTopics = new List <HomeCategorySet.HomeCategoryTopic>();
             HomeCategoryRowInfo homeCategoryRowInfo = (
                 from item in homeCategoryRowInfos
                 where item.RowId == i + 1
                 select item).FirstOrDefault();
             if (homeCategoryRowInfo != null)
             {
                 HomeCategorySet.HomeCategoryTopic homeCategoryTopic = new HomeCategorySet.HomeCategoryTopic()
                 {
                     Url      = homeCategoryRowInfo.Url1,
                     ImageUrl = homeCategoryRowInfo.Image1
                 };
                 homeCategoryTopics.Add(homeCategoryTopic);
                 HomeCategorySet.HomeCategoryTopic homeCategoryTopic1 = new HomeCategorySet.HomeCategoryTopic()
                 {
                     Url      = homeCategoryRowInfo.Url2,
                     ImageUrl = homeCategoryRowInfo.Image2
                 };
                 homeCategoryTopics.Add(homeCategoryTopic1);
             }
             homeCategorySetArray[i].HomeCategoryTopics = homeCategoryTopics;
         }
         Cache.Insert("Cache-HomeCategories", homeCategorySetArray, 5);
     }
     else
     {
         homeCategorySetArray = (HomeCategorySet[])Cache.Get("Cache-HomeCategories");
     }
     return(homeCategorySetArray);
 }
Ejemplo n.º 8
0
        public List <HomeCategorySet> GetHomeCategorySets()
        {
            var homeCategorySet = new HomeCategorySet[HOME_CATEGORY_SET_COUNT];

            if (Cache.Exists(CacheKeyCollection.HomeCategory))
            {
                homeCategorySet = Core.Cache.Get <HomeCategorySet[]>(CacheKeyCollection.HomeCategory);
            }
            else
            {
                var cc = DbFactory.Default.Get <HomeCategoryInfo>()
                         .LeftJoin <CategoryInfo>((hci, ci) => hci.CategoryId == ci.Id)
                         .Where <CategoryInfo>(p => p.IsDeleted == false && p.IsShow == true)
                         .OrderBy <CategoryInfo>(x => x.DisplaySequence)
                         .ToList();



                foreach (var group in cc.GroupBy(p => p.RowId))
                {
                    homeCategorySet[group.Key - 1] = new HomeCategorySet()
                    {
                        RowNumber      = group.Key,
                        HomeCategories = group.ToList()
                    };
                }
                var _HomeCategoryRowInfo = DbFactory.Default.Get <HomeCategoryRowInfo>().ToList();
                for (int i = 0; i < HOME_CATEGORY_SET_COUNT; i++)
                {
                    if (homeCategorySet[i] == null)
                    {
                        homeCategorySet[i] = new HomeCategorySet()
                        {
                            RowNumber      = i + 1,
                            HomeCategories = new List <HomeCategoryInfo>()
                        };
                    }
                    var homeCategoryRows = new List <HomeCategorySet.HomeCategoryTopic>();
                    var categoryRowInfo  = _HomeCategoryRowInfo.Where(item => item.RowId == i + 1).FirstOrDefault();
                    if (categoryRowInfo != null)
                    {
                        homeCategoryRows.Add(new HomeCategorySet.HomeCategoryTopic()
                        {
                            Url = categoryRowInfo.Url1, ImageUrl = categoryRowInfo.Image1
                        });
                        homeCategoryRows.Add(new HomeCategorySet.HomeCategoryTopic()
                        {
                            Url = categoryRowInfo.Url2, ImageUrl = categoryRowInfo.Image2
                        });
                    }
                    homeCategorySet[i].HomeCategoryTopics = homeCategoryRows;
                }

                var brandService = ObjectContainer.Current.Resolve <IBrandService>();
                var categories   = ObjectContainer.Current.Resolve <ICategoryService>().GetCategories();

                for (int i = 0; i < homeCategorySet.Count(); i++)
                {
                    homeCategorySet[i].HomeCategories = homeCategorySet[i].HomeCategories.Select(t => {
                        return(new HomeCategoryInfo()
                        {
                            CategoryId = t.CategoryId,
                            Depth = t.Depth,
                            Id = t.Id,
                            RowId = t.RowId,
                        });
                    }).ToList();
                    homeCategorySet[i].HomeCategoryTopics = homeCategorySet[i].HomeCategoryTopics.Select(t => new HomeCategorySet.HomeCategoryTopic()
                    {
                        ImageUrl = t.ImageUrl,
                        Url      = t.Url
                    }).ToList();


                    const int MAX_DISPLAY_BRANDS = 8;//最多显示推荐品牌个数
                    //获取推荐的品牌
                    var singleRowBrand = brandService.GetBrandsByCategoryIds(homeCategorySet[i].HomeCategories.Where(item => item.Depth == 1).Select(item => item.CategoryId).ToArray()).Take(MAX_DISPLAY_BRANDS);

                    homeCategorySet[i].HomeBrand = singleRowBrand.Select(item => new BrandInfo
                    {
                        Id   = item.Id,
                        Name = item.Name,
                        Logo = item.Logo,
                    }).ToList();
                }

                Cache.Insert <HomeCategorySet[]>(CacheKeyCollection.HomeCategory, homeCategorySet, 5);
            }
            return(homeCategorySet.ToList());
        }
Ejemplo n.º 9
0
        public IEnumerable <HomeCategorySet> GetHomeCategorySets()
        {
            var homeCategorySet = new HomeCategorySet[HOME_CATEGORY_SET_COUNT];

            if (Cache.Exists(CacheKeyCollection.HomeCategory))
            {
                homeCategorySet = Core.Cache.Get <HomeCategorySet[]>(CacheKeyCollection.HomeCategory);
            }
            else
            {
                //var homeCategoryGroups = context.HomeCategoryInfo.FindAll().GroupBy(item => item.RowNumber);
                var cc =
                    (from C in Context.HomeCategoryInfo
                     .Include("CategoryInfo")
                     where C.CategoryInfo.IsDeleted == false
                     select C).ToList();

                var homeCategoryGroups =
                    (from C in cc
                     group C by C.RowNumber into G
                     select G).ToList();

                foreach (var group in homeCategoryGroups)
                {
                    homeCategorySet[group.Key - 1] = new HomeCategorySet()
                    {
                        RowNumber      = group.Key,
                        HomeCategories = group
                    };
                }
                var _HomeCategoryRowInfo = Context.HomeCategoryRowInfo.FindAll().ToList();
                for (int i = 0; i < HOME_CATEGORY_SET_COUNT; i++)
                {
                    if (homeCategorySet[i] == null)
                    {
                        homeCategorySet[i] = new HomeCategorySet()
                        {
                            RowNumber      = i + 1,
                            HomeCategories = new List <HomeCategoryInfo>()
                        };
                    }
                    var homeCategoryRows = new List <HomeCategorySet.HomeCategoryTopic>();
                    var categoryRowInfo  = _HomeCategoryRowInfo.Where(item => item.RowId == i + 1).FirstOrDefault();
                    if (categoryRowInfo != null)
                    {
                        homeCategoryRows.Add(new HomeCategorySet.HomeCategoryTopic()
                        {
                            Url = categoryRowInfo.Url1, ImageUrl = categoryRowInfo.Image1
                        });
                        homeCategoryRows.Add(new HomeCategorySet.HomeCategoryTopic()
                        {
                            Url = categoryRowInfo.Url2, ImageUrl = categoryRowInfo.Image2
                        });
                    }
                    homeCategorySet[i].HomeCategoryTopics = homeCategoryRows;
                }

                var brandService = ObjectContainer.Current.Resolve <IBrandService>();

                for (int i = 0; i < homeCategorySet.Count(); i++)
                {
                    homeCategorySet[i].HomeCategories = homeCategorySet[i].HomeCategories.Select(t => new HomeCategoryInfo()
                    {
                        CategoryId   = t.CategoryId,
                        Depth        = t.Depth,
                        Id           = t.Id,
                        RowNumber    = t.RowNumber,
                        CategoryInfo = new CategoryInfo()
                        {
                            Depth            = t.CategoryInfo.Depth,
                            Name             = t.CategoryInfo.Name,
                            RewriteName      = t.CategoryInfo.RewriteName,
                            TypeId           = t.CategoryInfo.TypeId,
                            CommisRate       = t.CategoryInfo.CommisRate,
                            DisplaySequence  = t.CategoryInfo.DisplaySequence,
                            HasChildren      = t.CategoryInfo.HasChildren,
                            Icon             = t.CategoryInfo.Icon,
                            Path             = t.CategoryInfo.Path,
                            Meta_Title       = t.CategoryInfo.Meta_Title,
                            ParentCategoryId = t.CategoryInfo.ParentCategoryId,
                            Meta_Keywords    = t.CategoryInfo.Meta_Keywords,
                            Meta_Description = t.CategoryInfo.Meta_Description,
                            Id = t.CategoryInfo.Id
                        }
                    }).ToList();
                    homeCategorySet[i].HomeCategoryTopics = homeCategorySet[i].HomeCategoryTopics.Select(t => new HomeCategorySet.HomeCategoryTopic()
                    {
                        ImageUrl = t.ImageUrl,
                        Url      = t.Url
                    }).ToList();


                    const int MAX_DISPLAY_BRANDS = 8;//最多显示推荐品牌个数
                    //获取推荐的品牌
                    var         singleRowBrand = brandService.GetBrandsByCategoryIds(homeCategorySet[i].HomeCategories.Where(item => item.Depth == 1).Select(item => item.CategoryId).ToArray()).Take(MAX_DISPLAY_BRANDS);
                    BrandInfo[] brands         = new BrandInfo[singleRowBrand.Count()];
                    for (int k = 0; k < singleRowBrand.Count(); k++)
                    {
                        brands[k]      = new BrandInfo();
                        brands[k].Id   = singleRowBrand.ElementAt(k).Id;
                        brands[k].Name = singleRowBrand.ElementAt(k).Name;
                        brands[k].Logo = singleRowBrand.ElementAt(k).Logo;
                    }
                    homeCategorySet[i].HomeBrand = brands;
                }

                Cache.Insert <HomeCategorySet[]>(CacheKeyCollection.HomeCategory, homeCategorySet, 5);
            }
            return(homeCategorySet);
        }