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) })); }
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); }
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); }
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(); }
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(); }
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); }
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()); }
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); }