public ActionResult AddItems(string ids,string propValues, string title, string itemcode, string catid, int type = 0, int p = 1) { var page = new PageModel<GoodsDetail>(); var req = YunClient.Instance.Execute( new GetItemsRequest { Ids=ids, PropIds = propValues, Operation = "PropIds:and", ItemTitle = title, ItemState = 1, ShopCatIds = catid, PageNum = p, PageSize = 5, Fields = "Id", Sorts = "IdDesc", SaleType = type, IsDelete = 0, }, Member.Token); var idss = req.Items.Select(e => (int)e.Id).ToList(); var d = Commodity.Gets(1,5,idss); page.CurrentPage = p; page.Items = d; page.TotalItems = req.TotalItem; page.ItemsPerPage = 5; return PartialView(page); }
protected void Page_Load(object sender, EventArgs e) { switch (UserState.lng) { case "cn": pageVal = 1; break; case "kr": pageVal = 2; break; case "en": pageVal = 3; break; } pageModel = new myBase().initpage(pageVal); navid = light.Common.DNTRequest.GetQueryInt("id", 0); if (navid > 0) { leftString = getLeftString(navid); } else { Response.Redirect("default.aspx"); } }
public async Task<PageModel<WordResult>> GetWord(GetWord input) { input.SearchKey=input.SearchKey ?? string.Empty; var result = new PageModel<WordResult>(); var currIndex= input.Index - 1; var models = WordRepository.GetAll(). Where(s=>s.Content.Contains(input.SearchKey)||s.Title.Contains(input.SearchKey)). OrderByDescending(t => t.CreationTime). Skip(currIndex*input.PageCount).Take(input.PageCount).ToList(); if (!ListHelp.CheckList(models)) { return result; } var reg = new Regex(@"<[^>]*>"); models.ForEach(s => result.Data.Add(new WordResult { Id = s.Id, Description = StringHelp.TakeEllipsisSting(reg.Replace(s.Content, string.Empty), 220)+"...", Title = s.Title })); if (!string.IsNullOrEmpty(input.SearchKey)) { result.TotalCount = models.Count; } else { result.TotalCount = await WordRepository.LongCountAsync(); } result.Index = input.Index; return result; }
public ActionResult ItemList(int id = 0, int p = 1) { ViewData["Categorys"] = YunClient.Instance.Execute(new GetShopItemCategorysRequest { Display = 1, ShopId = GlobeInfo.InitiatedShopId }).Categorys; var req = YunClient.Instance.Execute(new GetItemsRequest { Fields = "id,pictures,picture,itemtitle,itemshopcats,subtitle", PageNum = p, PageSize = 10, ItemState = 1, IsDelete = 0, ShopCatIds = id > 0 ? id.ToString() : "" }); var page = new PageModel<Yun.Item.GoodsDetail> { Items = req.Items, CurrentPage = p, TotalItems = req.TotalItem }; return View(page); }
public static PageModel GetModel(int PageID) { PageModel model = null; DataTable dt = PageDataAccess.Get(PageID); if (dt.Rows.Count > 0) { DataRow row = dt.Rows[0]; model = new PageModel(); model.PageID = Convert.ToInt32(row["pageid"]); model.PageName = Convert.ToString(row["pagename"]); model.PageTitle = Convert.ToString(row["pagetitle"]); model.Category = Convert.ToInt32(row["category"]); model.Author = Convert.ToString(row["author"]); model.CreateTime = Convert.ToDateTime(row["createtime"]); model.LastModify = Convert.ToString(row["lastmodify"]); model.TempatePath = Convert.ToString(row["templatepath"]); model.PhysicalPath = Convert.ToString(row["physicalpath"]); model.UpdateTime = Convert.ToDateTime(row["updatetime"]); model.SelfClassid = Convert.ToInt32(row["selfclassid"]); model.ExtendPageInfo = Convert.ToString(row["extendpageinfo"]); } return model; }
/// <summary> /// 普通用户列表 /// </summary> /// <param name="email"></param> /// <param name="mobile"></param> /// <param name="nick"></param> /// <param name="minregtime"></param> /// <param name="maxregtime"></param> /// <param name="minmoney"></param> /// <param name="maxmoney"></param> /// <param name="minscore"></param> /// <param name="maxscore"></param> /// <param name="minprepaid"></param> /// <param name="maxprepaid"></param> /// <param name="p"></param> /// <returns></returns> public ActionResult Index(string email, string mobile, string nick, DateTime? minregtime, DateTime? maxregtime, double? minmoney, double? maxmoney, long? minscore, long? maxscore, double minprepaid = 0, double maxprepaid = 0, int p = 1) { var page = new PageModel<UserDetail>(); var req = YunClient.Instance.Execute(new FindUsersRequest { Email = email, Mobile = mobile, Nick = nick, MinMoney = minmoney, MaxMoney = maxmoney, MinScore = minscore, MaxScore = maxscore, MinRegTime = minregtime, MaxRegTime = maxregtime, PageNum = p, PageSize = 20, MinPrepaidCard = minprepaid, MaxPrepaidCard = maxprepaid }); page.Items = req.Users; page.CurrentPage = p; page.TotalItems = req.TotalItem; return View(page); }
protected void Button_Add_Click(object sender, EventArgs e) { string ErrorMessage = String.Empty; if (String.IsNullOrEmpty(TextBox_PageName.Text)) ErrorMessage += "页面名称不能为空\\n"; if (String.IsNullOrEmpty(TextBox_PageTitle.Text)) ErrorMessage += "页面标题不能为空\\n"; if (!String.IsNullOrEmpty(ErrorMessage)) MessageBox.Show(this, ErrorMessage); PageModel page = new PageModel(); page.PageName = TextBox_PageName.Text; page.PageTitle = TextBox_PageTitle.Text + "_帮助中心_鼎鼎商城"; page.Category = (int)PageCategory.HelpCenter; page.PhysicalPath = String.Format(Element.NameRule, page.PageName); page.TempatePath = DropDownList_Template.SelectedValue; page.Author = ""; page.LastModify = ""; page.CreateTime = DateTime.Now; page.UpdateTime = page.CreateTime; page.SelfClassid = 0; page.ExtendPageInfo = ""; PageControler.Insert(page); MessageBox.Show(this, "添加成功!"); }
private string ReadLayout() { var pageModel = new PageModel() { ActiveMenuIndex = 2, DisplayName = "configuration", IsLogin = true }; byte[] layout = EmbeddedResource.GetView(layOutViewName); string ly = System.Text.Encoding.UTF8.GetString(layout); string spageModel = "pageModel=" + JsonConvert.SerializeObject(pageModel); string host = ContextHelper.GetHostUrl(); string content = ly.Replace("@PageModel@", spageModel).Replace("@Url@", host); return content; }
private void Reload(bool clearCache) { DataContext = null; if (ImageCache == null) { return; } ImageCache.Clear(); DataContext = new PageModel(ImageCache); }
public ActionResult TagList(int p = 1) { var page = new PageModel<Yun.Archive.Tag>(); var req = YunClient.Instance.Execute(new GetTagsRequest { PageNum = p, PageSize = 40 }, Token); page.Items = req.Tags; page.CurrentPage = p; page.TotalItems = req.TotalItem; return View(page); }
public ActionResult Edit(PageModel pageModel) { var dynamicPage = new DynamicPageDto(); dynamicPage.InjectFrom(pageModel); var result = _adminPageService.SavePage(CurrentProfile.ClientId, dynamicPage, pageModel.IsHomePage); if (result.IsValid) { return RedirectToAction("Index"); } ModelState.AddModelError(string.Empty, result.ValidationSummaryToString()); return View(pageModel); }
public ActionResult Index(int p = 1) { var page = new PageModel<Yun.Marketing.CashCouponDomain>(); var req = YunClient.Instance.Execute(new FindCashCouponRequest {PageSize = 20, PageNum = p}); page.Items = req.CashCoupons; page.CurrentPage = p; page.TotalItems = req.TotalItem; return View(page); }
public void Create_Should_Validate_Title() { dynamic data = new ExpandoObject(); data.Id = "id"; data.Title = null; // <-- it should catch this var repository = new Mock(); var model = new PageModel(); model.Repository = repository; model.Create(data); Assert.IsTrue(model.HasError); }
// GET: Admin/Home public ActionResult Index(int pageIndex = 0, int pageSize = 10) { var data = new PageModel<SubjectInfoModel>(); var list = _subjectinfoInfoService.GetList(pageIndex, pageSize); if (list != null) { data = list.ToModel<SubjectInfo, SubjectInfoModel>(); data.Data.AddRange(list.Select(o => o.ToAdminModel())); } return View(data); }
public void Create_Should_Validate_New_Title_Exists() { dynamic data = new ExpandoObject(); data.Id = null; data.Title = "new title"; var repository = new Mock(); repository.Setup("Exists", new object[] { "new title" }, true); // <-- it should catch this var model = new PageModel(); model.Repository = repository; model.Create(data); Assert.IsTrue(model.HasError); repository.Verify(); }
// // GET: /Admin/Refund/ public ActionResult Index(string nick, DateTime? mincreatetime, DateTime? maxcreatetime, int orderid=0, int p = 1) { var page = new PageModel<RefundDetailModel>(); var req = YunClient.Instance.Execute(new GetSellerRefundsRequest { MinCreateTime = mincreatetime, MaxCreateTime = maxcreatetime, Nick = nick, OrderId = orderid, PageSize = 20, PageNum = p }, Member.Token); var Integral = YunShop.Core.DataProvider.GlobeInfo.GetIntegralRequest(); var list = (from refund in req.Refunds let trade = YunClient.Instance.Execute(new GetTradeRequest { Id = refund.TradeId }, Member.Token).Trade where trade.Orders.Any(e => e.Id == refund.OrderId) let order = trade.Orders.First(e => e.Id == refund.OrderId) select new RefundDetailModel { Id = refund.Id, OrderId = refund.Id, RefundId = refund.RefundId, TradeId = refund.TradeId, Reason = refund.Reason, CreateTime = refund.CreateTime, EndTime = refund.EndTime, Status = refund.Status, Balance = refund.Balance, Online = refund.Online, ItemTitle = order.ItemTitle, Nick = trade.Nick, Quantity = order.Quantity, Fare = trade.Fare, PrepaidCard=refund.PrepaidCard, Price = order.Price, SFMoney =trade.TotalFunds.ToString(), Thumb = order.Thumb, SkuNames = order.SkuNames, Money = order.Money, ItemId=order.ItemId, }).ToList(); page.CurrentPage = p; page.Items = list; page.TotalItems = req.TotalItem; return View(page); }
public void List_Should_Use_Paging() { var repository = new Mock(); repository.Setup("List", null); var model = new PageModel(); model.Repository = repository; model.List(2, 20); Assert.AreEqual(2, model.Value.PageNo); Assert.AreEqual(20,model.Value.PageSize); repository.Verify(); }
public ActionResult Index() { PageModel page = new PageModel(); try { page = this._pageDataRepository.GetList(x => x.PageId == (int)Page.Food && x.StatusId == (int)StatusEnum.Active).FirstOrDefault(); } catch (Exception ex) { ex.ExceptionValueTracker(); } return View("Index.mobile", page); }
public ActionResult Results(int subjectId, int pageIndex = 0, int pageSize = 10) { var data = new PageModel<SubjectResultModel>(); var list = _subjectResultService.GetResults(subjectId, pageIndex, pageSize); ViewBag.SubjectId = subjectId; if (list != null) { data = list.ToModel<SubjectResult, SubjectResultModel>(); data.Data.AddRange(list.Select(o => o.ToAdminModel())); } return View(data); }
public void Delete_Should_Call_Delete_To_Repository() { dynamic data = new ExpandoObject(); data.Id = "id"; var repository = new Mock(); repository.Setup("Delete", new object[] { It.Is<string>(item => item == "id") }, null); var model = new PageModel(); model.Repository = repository; model.Delete(data); Assert.IsTrue(model.Value == null); repository.Verify(); }
private string ReadLayout() { UserInfo user = Authorization.Instance.CurrentUser(); string userid = string.Empty; if (user != null) { userid = user.UserID; } var pageModel = new PageModel() { ActiveMenuIndex = 2, DisplayName = userid, IsLogin = true }; byte[] layout = EmbeddedResource.GetView(layOutViewName); string ly = System.Text.Encoding.UTF8.GetString(layout); string spageModel = "pageModel=" + JsonConvert.SerializeObject(pageModel); string host = ContextHelper.GetHostUrl(); string content = ly.Replace("@PageModel@", spageModel).Replace("@Url@", host); return content; }
public ActionResult Index() { List<string> NavItems = new List<string>() { "The Fair", "Fun", "Info", "Social", "Map" }; ViewBag.NavBarItems = NavItems; PageModel page = new PageModel(); try { page = this._pageDataRepository.GetList(x => x.PageId == (int)Page.Info && x.StatusId == (int)StatusEnum.Active).FirstOrDefault(); } catch (Exception ex) { ex.ExceptionValueTracker(); } return View("Index.mobile", page); }
public static dynamic get_pages_by_tag(dynamic data) { var tag = data as string; dynamic list = new List<dynamic>(); if (tag != null) { var model = new PageModel(); list = model.List(1, 20, (p) => { if (!p.HasProperty("Tags")) return false; object[] tags = ((dynamic)p).Tags; return tags == null ? false : tags.Any(t => t.Equals(tag)); }).Value.List; } return list; }
public static void Insert(PageModel page) { DbCommand Command = db.GetStoredProcCommand("UP_cmsPage_Add"); db.AddInParameter(Command, "@pagename", DbType.String, page.PageName); db.AddInParameter(Command, "@pagetitle", DbType.String, page.PageTitle); db.AddInParameter(Command, "@createtime", DbType.DateTime, page.CreateTime); db.AddInParameter(Command, "@updatetime", DbType.DateTime, page.UpdateTime); db.AddInParameter(Command, "@physicalpath", DbType.String, page.PhysicalPath); db.AddInParameter(Command, "@author", DbType.String, page.Author); db.AddInParameter(Command, "@lastmodify", DbType.String, page.LastModify); db.AddInParameter(Command, "@category", DbType.Int32, page.Category); db.AddInParameter(Command, "@selfclassid", DbType.Int32, page.SelfClassid); db.AddInParameter(Command, "@extendpageinfo", DbType.String, page.ExtendPageInfo); db.AddInParameter(Command, "@templatepath", DbType.String, page.TempatePath); db.ExecuteNonQuery(Command); }
/// <summary> /// 文章列表 /// </summary> /// <returns></returns> public ActionResult Index(string title, int p=1) { var page = new PageModel<Yun.Archive.ArticleDetail>(); var req = YunClient.Instance.Execute(new GetArchivesRequest { Fields = "", PageNum = p, PageSize = 10, Title = title }); page.Items = req.Articles; page.CurrentPage = p; page.TotalItems = req.TotalItem; return View(page); }
public ActionResult Index(string title = "", int timeStatus = 0, int p = 1) { var page = new PageModel<Yun.Marketing.CashCouponCateogry>(); var req = YunClient.Instance.Execute(new FindCashCouponCategoriesRequest { PageSize = 20, PageNum = p, Name = title, ValidityPeriod = timeStatus }); page.Items = req.CashCouponCateogries; page.CurrentPage = p; page.TotalItems = req.TotalItem; return View(page); }
public async Task<ActionResult> Feedbacks(int id = 0) { var page = id; var items = await _feedbackService.GetFeedbacks(page); var list = items.Items.Select(Mapper.Map<FeedbackDto, FeedbackModel>).ToList(); var model = new PageModel<FeedbackModel> { Items = list, HasNextPage = items.HasNextPage, HasPreviousPage = items.HasPreviousPage, Number = items.Number, TotalCount = items.TotalCount, TotalPageCount = items.TotalPageCount }; return View(model); }
public async Task<ViewResult> Users(int id = 0) { var page = id; var items = await _userService.GetUsers(page); var list = items.Items.Select(Mapper.Map<UserDto, UserModel>).ToList(); var model = new PageModel<UserModel> { Items = list, HasNextPage = items.HasNextPage, HasPreviousPage = items.HasPreviousPage, Number = items.Number, TotalCount = items.TotalCount, TotalPageCount = items.TotalPageCount }; return View(model); }
public async Task<ViewResult> Detail(string id = "set-locale", int page = 1) { ViewBag.Key = id; var words = await _tagService.GetWords(id, page); var list = words.Items.Select(WordModel.MapEntityToModel).ToList(); var model = new PageModel<WordModel> { Items = list, HasNextPage = words.HasNextPage, HasPreviousPage = words.HasPreviousPage, Number = words.Number, TotalCount = words.TotalCount, TotalPageCount = words.TotalPageCount }; return View(model); }
public void TestSearchLocationTogglesSearchingStatus() { Assert.ExpectAsserts(2); MockFlickrService flickrService = new MockFlickrService(); PageModel pageModel = new PageModel(flickrService, null); pageModel.SearchLocation("xyz", 0, 0); Assert.IsTrue(pageModel.Searching, "Expected model to report true for Searching."); Window.SetTimeout(delegate() { PhotoResult[] dummyResults = new PhotoResult[0]; flickrService.InvokeCallback(dummyResults); Assert.IsTrue(pageModel.Searching == false, "Expected model to report false for Searching."); TestEngine.ResumeOnAsyncCompleted(); }, 2000); TestEngine.WaitForAsyncCompletion(); }
/// <summary> /// 搜索 /// </summary> public ActionResult AjaxSearch() { //搜索词 string word = WebHelper.GetQueryString("word"); //分类id int cateId = WebHelper.GetQueryInt("cateId"); //品牌id int brandId = WebHelper.GetQueryInt("brandId"); //筛选价格 int filterPrice = WebHelper.GetQueryInt("filterPrice"); //筛选属性 string filterAttr = WebHelper.GetQueryString("filterAttr"); //是否只显示有货 int onlyStock = WebHelper.GetQueryInt("onlyStock"); //排序列 int sortColumn = WebHelper.GetQueryInt("sortColumn"); //排序方向 int sortDirection = WebHelper.GetQueryInt("sortDirection"); //当前页数 int page = WebHelper.GetQueryInt("page"); if (word.Length == 0) { return(Content("")); } //筛选属性处理 List <int> attrValueIdList = new List <int>(); foreach (string attrValueId in StringHelper.SplitString(filterAttr, "-")) { int temp = TypeHelper.StringToInt(attrValueId); if (temp > 0) { attrValueIdList.Add(temp); } } //分类信息 CategoryInfo categoryInfo = null; //分类价格范围列表 string[] catePriceRangeList = null; //分类筛选属性及其值列表 List <KeyValuePair <AttributeInfo, List <AttributeValueInfo> > > cateAAndVList = null; //分类列表 List <CategoryInfo> categoryList = null; //品牌信息 BrandInfo brandInfo = null; //品牌列表 List <BrandInfo> brandList = null; //商品总数量 int totalCount = 0; //商品列表 List <StoreProductInfo> productList = null; //搜索 Searches.SearchMallProducts(20, page, word, cateId, brandId, filterPrice, attrValueIdList, onlyStock, sortColumn, sortDirection, ref categoryInfo, ref catePriceRangeList, ref cateAAndVList, ref categoryList, ref brandInfo, ref brandList, ref totalCount, ref productList); //分页对象 PageModel pageModel = new PageModel(20, page, totalCount); //视图对象 AjaxMallSearchModel model = new AjaxMallSearchModel() { PageModel = pageModel, ProductList = productList }; return(Content(JsonConvert.SerializeObject(model))); }
/// <summary> /// 店铺列表 /// </summary> public ActionResult StoreList(string storeName, int storeRid = 0, int storeIid = 0, int state = -1, int pageNumber = 1, int pageSize = 15) { string condition = AdminStores.AdminGetStoreListCondition(storeName, storeRid, storeIid, state); PageModel pageModel = new PageModel(pageSize, pageNumber, AdminStores.AdminGetStoreCount(condition)); List <SelectListItem> storeRankList = new List <SelectListItem>(); storeRankList.Add(new SelectListItem() { Text = "全部等级", Value = "0" }); foreach (StoreRankInfo storeRankInfo in AdminStoreRanks.GetStoreRankList()) { storeRankList.Add(new SelectListItem() { Text = storeRankInfo.Title, Value = storeRankInfo.StoreRid.ToString() }); } List <SelectListItem> storeIndustryList = new List <SelectListItem>(); storeIndustryList.Add(new SelectListItem() { Text = "全部行业", Value = "0" }); foreach (StoreIndustryInfo storeIndustryInfo in AdminStoreIndustries.GetStoreIndustryList()) { storeIndustryList.Add(new SelectListItem() { Text = storeIndustryInfo.Title, Value = storeIndustryInfo.StoreIid.ToString() }); } List <SelectListItem> storeStateList = new List <SelectListItem>(); storeStateList.Add(new SelectListItem() { Text = "全部", Value = "-1" }); storeStateList.Add(new SelectListItem() { Text = "营业", Value = ((int)StoreState.Open).ToString() }); storeStateList.Add(new SelectListItem() { Text = "关闭", Value = ((int)StoreState.Close).ToString() }); StoreListModel model = new StoreListModel() { PageModel = pageModel, StoreList = AdminStores.AdminGetStoreList(pageModel.PageSize, pageModel.PageNumber, condition), StoreName = storeName, StoreRid = storeRid, StoreRankList = storeRankList, StoreIid = storeIid, StoreIndustryList = storeIndustryList, State = state, StoreStateList = storeStateList }; MallUtils.SetAdminRefererCookie(string.Format("{0}?pageNumber={1}&pageSize={2}&storeName={3}&storeRid={4}&storeIid={5}&state={6}", Url.Action("storelist"), pageModel.PageNumber, pageModel.PageSize, storeName, storeRid, storeIid, state)); return(View(model)); }
public static List <AVViewModel> GetAllViewModel(string where, int pageIndex, int pageSize, string order, ref PageModel total) { var sql = string.Format(@"SELECT * FROM ( SELECT m.AvId, m.Name AS FileName, m.Location, a.AvLength, a.Category, a.Actress, a.Company, a.Director, a.Name, a.Publisher, a.ReleaseDate, a.URL, ROW_NUMBER() OVER (ORDER BY a.ReleaseDate {3}, a.AvId ASC, m.Name) AS RANK FROM [ScanAllAv].[dbo].[Match] m LEFT JOIN [JavLibraryDownload].[dbo].[AV] a on m.AvID = a.ID AND m.AvName = a.Name WHERE 1=1 {0} ) AS t WHERE t.RANK BETWEEN {1} AND {2}" , where, pageIndex * pageSize, (pageIndex + 1) * pageSize, order); var sqlCount = string.Format(@"SELECT count(1) AS Total FROM [ScanAllAv].[dbo].[Match] m LEFT JOIN[JavLibraryDownload].[dbo].[AV] a on m.AvID = a.ID WHERE 1=1 {0}", where); total = SqlHelper.ExecuteDataTable(con, CommandType.Text, sqlCount).ToModel <PageModel>() ?? new PageModel(); return(SqlHelper.ExecuteDataTable(con, CommandType.Text, sql).ToList <AVViewModel>()); }
private string ParsePageFeed(PageModel pageModel) { return(ParseFeed(pageModel.Content)); }
public async Task <List <T> > GetPageListAsync(Expression <Func <T, bool> > whereExpression, PageModel page, Expression <Func <T, object> > orderByExpression = null, OrderByType orderByType = OrderByType.Asc) { int count = 0; var result = await DbContext.Queryable <T>().OrderByIF(orderByExpression != null, orderByExpression, orderByType).Where(whereExpression).ToPageListAsync(page.PageIndex, page.PageSize, count); page.PageCount = result.Value; return(result.Key); }
public static int GetLanguageId(this PageModel pageModel) { var culture = pageModel.GetLanguage(); return(CultureToLanguageCode(culture)); }
public async Task <Response <PageModel <UserWithRoleDTO> > > GetCompanyUsers(Guid companyId, PageModel model) { var page = await _companiesUsersRepository.GetCompaniesUsers(model, companyId : companyId); var items = page.Items.Select(x => _mapper.Map <CompanyUserModel, UserWithRoleDTO>(x)).ToList(); var result = new PageModel <UserWithRoleDTO> { Page = page.Page, PageSize = page.PageSize, Total = page.Total, Items = items }; return(new Response <PageModel <UserWithRoleDTO> > { Data = result }); }
private async Task <List <ContentLinkModel> > GetMegaMenuContentAsync(PageModel pageModel, CategoryModel categoryModel) { var megaMenuContentLinks = new List <ContentLinkModel>(); var megaMenus = pageModel.GetValue <IList <MultiFieldItem> >(MegaMenuPageFieldNameConstants.MegaMenuColumn); if (megaMenus != null) { foreach (var megaMenu in megaMenus) { var contentLink = new ContentLinkModel { Name = megaMenu.Fields.GetValue <string>(MegaMenuPageFieldNameConstants.MegaMenuColumnHeader, CultureInfo.CurrentUICulture) }; var links = new List <ContentLinkModel>(); // Categories has higher priority var categories = megaMenu.Fields.GetValue <IList <PointerItem> >(MegaMenuPageFieldNameConstants.MegaMenuCategories)?.Select(x => x.EntitySystemId.MapTo <CategoryModel>()).Where(x => x != null && x.Category.IsPublished(_channelSystemId)); if (categories != null) { links.AddRange(categories.Select(category => new ContentLinkModel() { Name = category.Category.Localizations.CurrentCulture.Name, Url = _urlService.GetUrl(category.Category), IsSelected = _selectedStructureId.Contains(category.Category.SystemId) })); } else if (megaMenu.Fields.GetValue <IList <PointerItem> >(MegaMenuPageFieldNameConstants.MegaMenuPages) != null) { var pages = megaMenu.Fields.GetValue <IList <PointerItem> >(MegaMenuPageFieldNameConstants.MegaMenuPages).OfType <PointerPageItem>().ToList().Select(x => new Tuple <Guid, LinkModel>(x.EntitySystemId, x.MapTo <LinkModel>())).Where(x => x.Item2?.Href != null); links.AddRange(pages.Select(contentPageModel => new ContentLinkModel() { Name = contentPageModel.Item2.Text, Url = contentPageModel.Item2.Href, IsSelected = _selectedStructureId.Contains(contentPageModel.Item1) })); } // Filters works just with category else if (categoryModel != null && megaMenu.Fields.GetValue <IList <string> >(MegaMenuPageFieldNameConstants.MegaMenuFilters) != null) { links.AddRange(await GetFiltersAsync(categoryModel, megaMenu.Fields.GetValue <IList <string> >(MegaMenuPageFieldNameConstants.MegaMenuFilters).ToList())); } else if (!string.IsNullOrEmpty(megaMenu.Fields.GetValue <string>(MegaMenuPageFieldNameConstants.MegaMenuEditor, CultureInfo.CurrentCulture))) { links.Add(new ContentLinkModel() { Name = _contentProcessorService.Process(megaMenu.Fields.GetValue <string>(MegaMenuPageFieldNameConstants.MegaMenuEditor, CultureInfo.CurrentCulture)) }); } if (!string.IsNullOrEmpty(megaMenu.Fields.GetValue <string>(MegaMenuPageFieldNameConstants.MegaMenuAdditionalLink, CultureInfo.CurrentCulture))) { var link = string.Empty; var linkToCategoryModel = megaMenu.Fields.GetValue <Guid?>(MegaMenuPageFieldNameConstants.MegaMenuLinkToCategory)?.MapTo <CategoryModel>(); if (linkToCategoryModel != null) { if (linkToCategoryModel.Category != null && linkToCategoryModel.Category.IsPublished(_channelSystemId)) { link = _urlService.GetUrl(linkToCategoryModel.Category); } } else { var linkedPageModel = megaMenu.Fields.GetValue <PointerPageItem>(MegaMenuPageFieldNameConstants.MegaMenuLinkToPage)?.MapTo <LinkModel>(); if (linkedPageModel != null) { link = linkedPageModel.Href; } } if (!string.IsNullOrEmpty(link)) { links.Add(new ContentLinkModel() { Attributes = new Dictionary <string, string> { { "cssValue", "nav-link" } }, Name = megaMenu.Fields.GetValue <string>(MegaMenuPageFieldNameConstants.MegaMenuAdditionalLink, CultureInfo.CurrentCulture), Url = link }); } } contentLink.Links = links; megaMenuContentLinks.Add(contentLink); } } return(megaMenuContentLinks); }
/// <summary> /// 分类 /// </summary> public ActionResult Category() { //分类id int cateId = GetRouteInt("cateId"); if (cateId == 0) { cateId = WebHelper.GetQueryInt("cateId"); } //品牌id int brandId = GetRouteInt("brandId"); if (brandId == 0) { brandId = WebHelper.GetQueryInt("brandId"); } //筛选价格 int filterPrice = GetRouteInt("filterPrice"); if (filterPrice == 0) { filterPrice = WebHelper.GetQueryInt("filterPrice"); } //筛选属性 string filterAttr = GetRouteString("filterAttr"); if (filterAttr.Length == 0) { filterAttr = WebHelper.GetQueryString("filterAttr"); } //是否只显示有货 int onlyStock = GetRouteInt("onlyStock"); if (onlyStock == 0) { onlyStock = WebHelper.GetQueryInt("onlyStock"); } //排序列 int sortColumn = GetRouteInt("sortColumn"); if (sortColumn == 0) { sortColumn = WebHelper.GetQueryInt("sortColumn"); } //排序方向 int sortDirection = GetRouteInt("sortDirection"); if (sortDirection == 0) { sortDirection = WebHelper.GetQueryInt("sortDirection"); } //当前页数 int page = GetRouteInt("page"); if (page == 0) { page = WebHelper.GetQueryInt("page"); } //分类信息 CategoryInfo categoryInfo = Categories.GetCategoryById(cateId); if (categoryInfo == null) { return(PromptView("/", "此分类不存在")); } //分类关联品牌列表 List <BrandInfo> brandList = Categories.GetCategoryBrandList(cateId); //分类筛选属性及其值列表 List <KeyValuePair <AttributeInfo, List <AttributeValueInfo> > > cateAAndVList = Categories.GetCategoryFilterAAndVList(cateId); //分类价格范围列表 string[] catePriceRangeList = StringHelper.SplitString(categoryInfo.PriceRange, "\r\n"); //筛选属性处理 List <int> attrValueIdList = new List <int>(); string[] filterAttrValueIdList = StringHelper.SplitString(filterAttr, "-"); if (filterAttrValueIdList.Length != cateAAndVList.Count)//当筛选属性和分类的筛选属性数目不对应时,重置筛选属性 { if (cateAAndVList.Count == 0) { filterAttr = "0"; } else { int count = cateAAndVList.Count; StringBuilder sb = new StringBuilder(); for (int i = 0; i < count; i++) { sb.Append("0-"); } filterAttr = sb.Remove(sb.Length - 1, 1).ToString(); } } else { foreach (string attrValueId in filterAttrValueIdList) { int temp = TypeHelper.StringToInt(attrValueId); if (temp > 0) { attrValueIdList.Add(temp); } } } //分页对象 PageModel pageModel = new PageModel(20, page, Products.GetCategoryProductCount(cateId, brandId, filterPrice, catePriceRangeList, attrValueIdList, onlyStock)); //视图对象 CategoryModel model = new CategoryModel() { CateId = cateId, BrandId = brandId, FilterPrice = filterPrice, FilterAttr = filterAttr, OnlyStock = onlyStock, SortColumn = sortColumn, SortDirection = sortDirection, CategoryInfo = categoryInfo, BrandList = brandList, CatePriceRangeList = catePriceRangeList, AAndVList = cateAAndVList, PageModel = pageModel, ProductList = Products.GetCategoryProductList(pageModel.PageSize, pageModel.PageNumber, cateId, brandId, filterPrice, catePriceRangeList, attrValueIdList, onlyStock, sortColumn, sortDirection) }; return(View(model)); }
public async Task <ActionResult> Index(PageModel model) => View(await _dbContext.GetPaginatablePostsAsync(_itemsPerPage, model));
public override void OnLoad(HttpContext context) { base.OnLoad(context); if (context.Request["flag"] == "GetStoreUsersStatistics") { Pagination page = new Pagination(); int shoppingGuiderId = 0; int pageIndex = context.Request["PageIndex"].ToInt(); if (pageIndex < 1) { pageIndex = 1; } int pageSize = context.Request["PageSize"].ToInt(); if (pageSize < 1) { pageSize = 10; } int GroupId = context.Request["GroupId"].ToInt(); if (GroupId != 1 && GroupId != 2 && GroupId != 3 && GroupId != 0) { GroupId = 0; } int TimeScope = context.Request["TimeScope"].ToInt(); if (TimeScope != 1 && TimeScope != 3 && TimeScope != 6 && TimeScope != 9 && TimeScope != 12) { TimeScope = 1; } if (GroupId == 2 && TimeScope != 1 && TimeScope != 3 && TimeScope != 6) { TimeScope = 1; } page.PageIndex = pageIndex; page.PageSize = pageSize; page.SortBy = "PayDate"; page.SortOrder = SortAction.Desc; Int32 storeId = CurrentManager.StoreId; string keyword = Globals.StripAllTags(context.Request["Keyword"].ToNullString()); StoreMemberStatisticsQuery query = new StoreMemberStatisticsQuery(); query.Keyword = keyword; query.GroupId = GroupId; query.PageIndex = pageIndex; query.PageSize = pageSize; query.ShoppingGuiderId = shoppingGuiderId; query.StoreId = storeId; query.TimeScope = TimeScope; query.SortBy = "UserId"; query.SortOrder = SortAction.Desc; SiteSettings setting = HiContext.Current.SiteSettings; PageModel <StoreMemberStatisticsModel> data = MemberProcessor.GetStoreMemberStatisticsList(query, setting.ConsumeTimesInOneMonth, setting.ConsumeTimesInThreeMonth, setting.ConsumeTimesInSixMonth); var json = JsonConvert.SerializeObject(new { Result = new { RecordCount = data.Total, List = data.Models.Select(u => new { u.UserId, NickName = string.IsNullOrEmpty(u.NickName) ? (string.IsNullOrEmpty(u.RealName) ? u.UserName : u.RealName) : u.NickName, u.UserName, LastConsumeDate = u.LastConsumeDate.HasValue ? u.LastConsumeDate.Value.ToString("yyyy-MM-dd HH:mm:ss") : "", u.ConsumeTimes, ConsumeTotal = u.ConsumeTotal.F2ToString("f2").ToDecimal(), HeadImage = string.IsNullOrEmpty(u.HeadImage.ToNullString()) ? Globals.FullPath("/templates/common/images/headerimg.png") : Globals.FullPath(u.HeadImage.ToNullString()), }) } }); context.Response.Write(json); context.Response.End(); } }
public ActionResult Search(string keywords = "", string exp_keywords = "", long cid = 0L, long b_id = 0L, string a_id = "", int orderKey = 1, int orderType = 1, int pageNo = 1, int pageSize = 60) { int i; long valueId; long num; string str; ProductSearch productSearch = new ProductSearch() { shopId = 0, BrandId = b_id, CategoryId = cid, Ex_Keyword = exp_keywords, Keyword = keywords, OrderKey = orderKey, OrderType = orderType == 1, AttrIds = new List <string>(), PageNumber = pageNo, PageSize = pageSize }; ProductSearch productSearch1 = productSearch; string str1 = a_id.Replace("%40", "@"); char[] chrArray = new char[] { '@' }; string[] strArrays = str1.Split(chrArray); for (i = 0; i < strArrays.Length; i++) { string str2 = strArrays[i]; if (!string.IsNullOrWhiteSpace(str2)) { productSearch1.AttrIds.Add(str2); } } IProductService productService = ServiceHelper.Create <IProductService>(); PageModel <ProductInfo> pageModel = productService.SearchProduct(productSearch1); int total = pageModel.Total; ProductInfo[] array = pageModel.Models.ToArray(); dynamic viewBag = base.ViewBag; num = (base.CurrentUser == null ? 0 : base.CurrentUser.Id); viewBag.BrowsedHistory = BrowseHistrory.GetBrowsingProducts(13, num); CategoryInfo category = ServiceHelper.Create <ICategoryService>().GetCategory(productSearch1.CategoryId); string str3 = (category == null ? string.Empty : category.Name); BrandInfo brand = ServiceHelper.Create <IBrandService>().GetBrand(b_id) ?? new BrandInfo(); string str4 = (brand == null ? "" : brand.Name); string str5 = (string.IsNullOrEmpty(keywords) ? str3 : keywords); base.ViewBag.keywords = (string.IsNullOrEmpty(str5) ? str4 : str5); ViewBag.exp_keywords = exp_keywords; if (pageModel.Total == 0) { return(View()); } var categoryId = from prod in array orderby prod.CategoryId group prod by prod.CategoryId into G select new { Key = G.Key, Path = G.FirstOrDefault().CategoryPath }; List <CategoryJsonModel> categoryJsonModels = new List <CategoryJsonModel>(); foreach (var variable in categoryId) { string path = variable.Path; char[] chrArray1 = new char[] { '|' }; if (path.Split(chrArray1).Length != 2) { string path1 = variable.Path; chrArray = new char[] { '|' }; if (path1.Split(chrArray).Length != 3) { continue; } string path2 = variable.Path; chrArray = new char[] { '|' }; long num1 = long.Parse(path2.Split(chrArray)[1]); string path3 = variable.Path; chrArray = new char[] { '|' }; InitialCategory(categoryJsonModels, num1, long.Parse(path3.Split(chrArray)[2])); } else { string path4 = variable.Path; chrArray = new char[] { '|' }; long num2 = long.Parse(path4.Split(chrArray)[0]); string path5 = variable.Path; chrArray = new char[] { '|' }; InitialCategory(categoryJsonModels, num2, long.Parse(path5.Split(chrArray)[1])); } } List <BrandInfo> brandInfos = new List <BrandInfo>(); IEnumerable <long> nums = ( from a in array where a.BrandId != 0 select a.BrandId).Distinct <long>(); IQueryable <BrandInfo> brands = from a in ServiceHelper.Create <IBrandService>().GetBrands("") where nums.Contains(a.Id) select a; brandInfos = brands.ToList(); List <TypeAttributesModel> typeAttributesModels = new List <TypeAttributesModel>(); var collection = from p in array group p by p.CategoryId into G select new { Key = G.Key, Count = G.Count() } into pp orderby pp.Count descending select pp; long key = collection.ToList()[0].Key; array = ( from p in array orderby p.CategoryId.Equals(key) descending select p).ToArray(); if (collection.Count() <= 20) { IEnumerable <ProductInfo> productInfos = from p in array where p.CategoryId.Equals(key) select p; foreach (ProductInfo productInfo in productInfos) { ProductAttributeInfo[] productAttributeInfoArray = productService.GetProductAttribute(productInfo.Id).ToArray(); ProductAttributeInfo[] productAttributeInfoArray1 = productAttributeInfoArray; for (i = 0; i < productAttributeInfoArray1.Length; i++) { ProductAttributeInfo productAttributeInfo = productAttributeInfoArray1[i]; if (typeAttributesModels.Any((TypeAttributesModel p) => p.AttrId == productAttributeInfo.AttributeId)) { TypeAttributesModel typeAttributesModel = typeAttributesModels.FirstOrDefault((TypeAttributesModel p) => p.AttrId == productAttributeInfo.AttributeId); if (!typeAttributesModel.AttrValues.Any((TypeAttrValue p) => p.Id == productAttributeInfo.ValueId.ToString())) { if (productAttributeInfo.AttributesInfo.AttributeValueInfo.FirstOrDefault((AttributeValueInfo a) => a.Id == productAttributeInfo.ValueId) != null) { List <TypeAttrValue> attrValues = typeAttributesModel.AttrValues; TypeAttrValue typeAttrValue = new TypeAttrValue(); valueId = productAttributeInfo.ValueId; typeAttrValue.Id = valueId.ToString(); typeAttrValue.Name = productAttributeInfo.AttributesInfo.AttributeValueInfo.FirstOrDefault((AttributeValueInfo a) => a.Id == productAttributeInfo.ValueId).Value; attrValues.Add(typeAttrValue); } } } else { TypeAttributesModel typeAttributesModel1 = new TypeAttributesModel() { AttrId = productAttributeInfo.AttributeId, AttrValues = new List <TypeAttrValue>(), Name = productAttributeInfo.AttributesInfo.Name }; TypeAttributesModel typeAttributesModel2 = typeAttributesModel1; foreach (AttributeValueInfo attributeValueInfo in productAttributeInfo.AttributesInfo.AttributeValueInfo) { if (!((IEnumerable <ProductAttributeInfo>)productAttributeInfoArray).Any((ProductAttributeInfo p) => p.ValueId == attributeValueInfo.Id)) { continue; } List <TypeAttrValue> typeAttrValues = typeAttributesModel2.AttrValues; TypeAttrValue value = new TypeAttrValue(); valueId = attributeValueInfo.Id; value.Id = valueId.ToString(); value.Name = attributeValueInfo.Value; typeAttrValues.Add(value); } typeAttributesModels.Add(typeAttributesModel2); } } } } Dictionary <string, string> strs = new Dictionary <string, string>(); foreach (string attrId in productSearch1.AttrIds) { long num3 = 0; chrArray = new char[] { '\u005F' }; long.TryParse(attrId.Split(chrArray)[0], out num3); long num4 = 0; chrArray = new char[] { '\u005F' }; long.TryParse(attrId.Split(chrArray)[1], out num4); AttributeInfo attributeInfo = ServiceHelper.Create <IProductService>().GetAttributeInfo(num3); AttributeValueInfo attributeValueInfo1 = attributeInfo.AttributeValueInfo.FirstOrDefault((AttributeValueInfo v) => v.Id == num4); string str6 = string.Concat(attributeInfo.Name, ':', attributeValueInfo1.Value); string str7 = ""; foreach (string attrId1 in productSearch1.AttrIds) { if (attrId1.Equals(attrId)) { if (productSearch1.AttrIds.Count() != 1) { continue; } str7 = attrId1; } else { str7 = string.Concat(str7, attrId1, '@'); } } chrArray = new char[] { '@' }; strs.Add(str6, str7.TrimEnd(chrArray)); } ViewBag.Attrs = typeAttributesModels; ViewBag.Brands = brandInfos; ViewBag.Category = categoryJsonModels; ViewBag.cid = cid; ViewBag.b_id = b_id; ViewBag.a_id = a_id; ViewBag.orderKey = orderKey; ViewBag.orderType = orderType; dynamic obj = base.ViewBag; str = (b_id == 0 ? "" : brandInfos.FirstOrDefault((BrandInfo b) => b.Id.Equals(b_id)).Name); obj.BrandName = str; ViewBag.AttrDic = strs; base.ViewBag.Logined = (base.CurrentUser != null ? 1 : 0); switch (orderKey) { case 2: { ProductInfo[] productInfoArray = array; for (i = 0; i < productInfoArray.Length; i++) { ProductInfo productInfo1 = productInfoArray[i]; ProductVistiInfo productVistiInfo = productInfo1.Himall_ProductVistis.FirstOrDefault(); productInfo1.OrderCounts = (productVistiInfo == null || !productVistiInfo.OrderCounts.HasValue ? 0 : productVistiInfo.OrderCounts.Value); } array = ( from p in array orderby p.OrderCounts descending select p).ToArray(); break; } case 3: { if (orderType != 2) { array = ( from p in array orderby p.MinSalePrice select p).ToArray(); break; } else { array = ( from p in array orderby p.MinSalePrice descending select p).ToArray(); break; } } case 4: { array = ( from p in array orderby p.ProductConsultationInfo.Count() descending select p).ToArray(); break; } case 5: { array = ( from p in array orderby p.AddedDate descending select p).ToArray(); break; } } PagingInfo pagingInfo = new PagingInfo() { CurrentPage = productSearch1.PageNumber, ItemsPerPage = pageSize, TotalItems = total }; ViewBag.pageInfo = pagingInfo; CategoryInfo categoryInfo = ServiceHelper.Create <ICategoryService>().GetCategory(cid); if (categoryInfo != null && categoryInfo.Depth == 3) { array = ( from p in array where p.CategoryId == cid select p).ToArray(); } return(View(array ?? new ProductInfo[0])); }
//当前类已经继承了 DbContext增、删、查、改的方法 //这里面写的代码不会给覆盖,如果要重新生成请删除 FSTATEManager.cs #region 教学方法 /// <summary> /// 如果DbContext中的增删查改方法满足不了你,你可以看下具体用法 /// </summary> public void Study() { /*********查询*********/ var data1 = FSTATEDb.GetById(1); //根据ID查询 var data2 = FSTATEDb.GetList(); //查询所有 var data3 = FSTATEDb.GetList(it => 1 == 1); //根据条件查询 //var data4 = FSTATEDb.GetSingle(it => 1 == 1);//根据条件查询一条,如果超过一条会报错 var p = new PageModel() { PageIndex = 1, PageSize = 2 }; // 分页查询 var data5 = FSTATEDb.GetPageList(it => 1 == 1, p); Console.Write(p.PageCount); //返回总数 var data6 = FSTATEDb.GetPageList(it => 1 == 1, p, it => SqlFunc.GetRandom(), OrderByType.Asc); // 分页查询加排序 Console.Write(p.PageCount); //返回总数 List <IConditionalModel> conModels = new List <IConditionalModel>(); //组装条件查询作为条件实现 分页查询加排序 conModels.Add(new ConditionalModel() { FieldName = typeof(FSTATE).GetProperties()[0].Name, ConditionalType = ConditionalType.Equal, FieldValue = "1" }); //id=1 var data7 = FSTATEDb.GetPageList(conModels, p, it => SqlFunc.GetRandom(), OrderByType.Asc); FSTATEDb.AsQueryable().Where(x => 1 == 1).ToList();//支持了转换成queryable,我们可以用queryable实现复杂功能 //我要用事务 var result = Db.Ado.UseTran(() => { //写事务代码 }); if (result.IsSuccess) { //事务成功 } //多表查询地址 http://www.codeisbug.com/Doc/8/1124 /*********插入*********/ var insertData = new FSTATE() { }; //测试参数 var insertArray = new FSTATE[] { insertData }; FSTATEDb.Insert(insertData); //插入 FSTATEDb.InsertRange(insertArray); //批量插入 var id = FSTATEDb.InsertReturnIdentity(insertData); //插入返回自增列 FSTATEDb.AsInsertable(insertData).ExecuteCommand(); //我们可以转成 Insertable实现复杂插入 /*********更新*********/ var updateData = new FSTATE() { }; //测试参数 var updateArray = new FSTATE[] { updateData }; //测试参数 FSTATEDb.Update(updateData); //根据实体更新 FSTATEDb.UpdateRange(updateArray); //批量更新 //FSTATEDb.Update(it => new FSTATE() { Name = "a", CreateTime = DateTime.Now }, it => it.id==1);// 只更新Name列和CreateTime列,其它列不更新,条件id=1 FSTATEDb.AsUpdateable(updateData).ExecuteCommand(); /*********删除*********/ var deldata = new FSTATE() { }; //测试参数 FSTATEDb.Delete(deldata); //根据实体删除 FSTATEDb.DeleteById(1); //根据主键删除 FSTATEDb.DeleteById(new int[] { 1, 2 }); //根据主键数组删除 FSTATEDb.Delete(it => 1 == 2); //根据条件删除 FSTATEDb.AsDeleteable().Where(it => 1 == 2).ExecuteCommand(); //转成Deleteable实现复杂的操作 }
public async Task <List <T> > GetPageListAsync(Expression <Func <T, bool> > whereExpression, PageModel page) { return(await DbContext.Queryable <T>().Where(whereExpression).ToPageListAsync(page.PageIndex, page.PageSize)); }
public async Task <MessageModel <PageModel <ExamDetailScore> > > Get(int page = 1, string key = "") { if (string.IsNullOrEmpty(key) || string.IsNullOrWhiteSpace(key)) { key = ""; } else { page = 1; } int intPageSize = 50; var gradeList = await _iGradeRepository.Query(d => d.IsDeleted == false); var courseList = await _iCourseRepository.Query(d => d.IsDeleted == false); var examList = await _iExamRepository.Query(d => d.IsDeleted == false); var examDetailList = await _iExamDetailRepository.Query(d => d.IsDeleted == false); var examDeatilScoreDetailList = await _iExamDetailScoreRepository.Query(d => d.IsDeleted == false); var studentsList = await _iStudentsRepository.Query(d => d.IsDeleted == false); foreach (var item in examList) { item.grade = gradeList.Where(d => d.Id == item.gradeid).FirstOrDefault(); item.course = courseList.Where(d => d.Id == item.courseid).FirstOrDefault(); } foreach (var item in examDetailList) { item.exam = examList.Where(d => d.Id == item.examid).FirstOrDefault(); } foreach (var item in examDeatilScoreDetailList) { item.ExamDetail = examDetailList.Where(d => d.Id == item.ExamDetailId).FirstOrDefault(); item.student = studentsList.Where(d => d.Id == item.studentid).FirstOrDefault(); } examDeatilScoreDetailList = examDeatilScoreDetailList.Where(d => (d.ExamDetail.exam.grade.Id == GID || (GID == -9999 && true)) && d.student.Name.Contains(key)).ToList(); if (!string.IsNullOrEmpty(key)) { examDeatilScoreDetailList = examDeatilScoreDetailList.Where(d => d.student.Name.Contains(key)).ToList(); } var totalCount = examDeatilScoreDetailList.Count; int pageCount = (Math.Ceiling(totalCount.ObjToDecimal() / intPageSize.ObjToDecimal())).ObjToInt(); var exdetails = examDeatilScoreDetailList.Skip((page - 1) * intPageSize).Take(intPageSize).ToList(); var data = new PageModel <ExamDetailScore>() { data = exdetails, dataCount = totalCount, page = page, pageCount = pageCount, PageSize = intPageSize }; return(new MessageModel <PageModel <ExamDetailScore> >() { msg = "获取成功", success = data.dataCount >= 0, response = data }); }
private static void DbContext() { Console.WriteLine(""); Console.WriteLine("#### DbContext Start ####"); var insertObj = new Order { Name = "jack", CreateTime = DateTime.Now }; var InsertObjs = new Order[] { insertObj }; DbContext context = new DbContext(); context.Db.CodeFirst.InitTables <Order, OrderItem, Custom>();//Create Tables ; var orderDb = context.OrderDb; //Select var data1 = orderDb.GetById(1); var data2 = orderDb.GetList(); var data3 = orderDb.GetList(it => it.Id == 1); var data4 = orderDb.GetSingle(it => it.Id == 1); var p = new PageModel() { PageIndex = 1, PageSize = 2 }; var data5 = orderDb.GetPageList(it => it.Name == "xx", p); Console.Write(p.TotalCount); var data6 = orderDb.GetPageList(it => it.Name == "xx", p, it => it.Name, OrderByType.Asc); Console.Write(p.TotalCount); List <IConditionalModel> conModels = new List <IConditionalModel>(); conModels.Add(new ConditionalModel() { FieldName = "id", ConditionalType = ConditionalType.Equal, FieldValue = "1" }); //id=1 var data7 = orderDb.GetPageList(conModels, p, it => it.Name, OrderByType.Asc); orderDb.AsQueryable().Where(x => x.Id == 1).ToList(); //Insert orderDb.Insert(insertObj); orderDb.InsertRange(InsertObjs); var id = orderDb.InsertReturnIdentity(insertObj); orderDb.AsInsertable(insertObj).ExecuteCommand(); //Delete orderDb.Delete(insertObj); orderDb.DeleteById(11111); orderDb.DeleteById(new int[] { 1111, 2222 }); orderDb.Delete(it => it.Id == 1111); orderDb.AsDeleteable().Where(it => it.Id == 1111).ExecuteCommand(); //Update orderDb.Update(insertObj); orderDb.UpdateRange(InsertObjs); orderDb.Update(it => new Order() { Name = "a", }, it => it.Id == 1); orderDb.AsUpdateable(insertObj).UpdateColumns(it => new { it.Name }).ExecuteCommand(); //Use Inherit DbContext OrderDal dal = new OrderDal(); var data = dal.GetById(1); var list = dal.GetList(); Console.WriteLine("#### DbContext End ####"); }
/// <summary> /// 搜索 /// </summary> public ActionResult Search() { //搜索词 string word = WebHelper.GetQueryString("word"); //分类id int cateId = WebHelper.GetQueryInt("cateId"); //品牌id int brandId = WebHelper.GetQueryInt("brandId"); //筛选价格 int filterPrice = WebHelper.GetQueryInt("filterPrice"); //筛选属性 string filterAttr = WebHelper.GetQueryString("filterAttr"); //是否只显示有货 int onlyStock = WebHelper.GetQueryInt("onlyStock"); //排序列 int sortColumn = WebHelper.GetQueryInt("sortColumn"); //排序方向 int sortDirection = WebHelper.GetQueryInt("sortDirection"); //当前页数 int page = WebHelper.GetQueryInt("page"); WorkContext.SearchWord = word; if (word.Length == 0) { return(PromptView(WorkContext.UrlReferrer, "请输入搜索词")); } //检查当前页数 if (page < 1) { page = 1; } //筛选属性处理 List <int> attrValueIdList = new List <int>(); string[] filterAttrValueIdList = StringHelper.SplitString(filterAttr, "-"); foreach (string attrValueId in filterAttrValueIdList) { int temp = TypeHelper.StringToInt(attrValueId); if (temp > 0) { attrValueIdList.Add(temp); } } //分类信息 CategoryInfo categoryInfo = null; //分类价格范围列表 string[] catePriceRangeList = null; //分类筛选属性及其值列表 List <KeyValuePair <AttributeInfo, List <AttributeValueInfo> > > cateAAndVList = null; //分类列表 List <CategoryInfo> categoryList = null; //品牌信息 BrandInfo brandInfo = null; //品牌列表 List <BrandInfo> brandList = null; //商品总数量 int totalCount = 0; //商品列表 List <StoreProductInfo> productList = null; //搜索 Searches.SearchMallProducts(20, page, word, cateId, brandId, filterPrice, attrValueIdList, onlyStock, sortColumn, sortDirection, ref categoryInfo, ref catePriceRangeList, ref cateAAndVList, ref categoryList, ref brandInfo, ref brandList, ref totalCount, ref productList); if (productList == null) { return(PromptView(WorkContext.UrlReferrer, "您搜索的商品不存在")); } //当筛选属性和分类的筛选属性数目不对应时,重置筛选属性 if (cateAAndVList == null) { filterAttr = "0"; } else { if (filterAttrValueIdList.Length != cateAAndVList.Count) { if (cateAAndVList.Count == 0) { filterAttr = "0"; } else { int count = cateAAndVList.Count; StringBuilder sb = new StringBuilder(); for (int i = 0; i < count; i++) { sb.Append("0-"); } filterAttr = sb.Remove(sb.Length - 1, 1).ToString(); } } } //分页对象 PageModel pageModel = new PageModel(20, page, totalCount); //视图对象 MallSearchModel model = new MallSearchModel() { Word = word, CateId = cateId, BrandId = brandId, FilterPrice = filterPrice, FilterAttr = filterAttr, OnlyStock = onlyStock, SortColumn = sortColumn, SortDirection = sortDirection, FilterAttrValueIdList = attrValueIdList, CategoryInfo = categoryInfo, CatePriceRangeList = catePriceRangeList, AAndVList = cateAAndVList, CategoryList = categoryList, BrandInfo = brandInfo, BrandList = brandList, PageModel = pageModel, ProductList = productList }; //异步保存搜索历史 Asyn.UpdateSearchHistory(WorkContext.Uid, word); return(View(model)); }
public ChampsSportsSimulator(UILogging spiderLogging, SimulatorView simulatorView, PageModel pageModel) : base(spiderLogging, simulatorView, pageModel) { }
/// <summary> /// 获取异常消息 /// </summary> /// <param name="userId">帐号</param> /// <param name="handle">句柄</param> /// <param name="info">分页参数</param> /// <returns></returns> public static Result GetAbnormalReport(string userId, string handle, PageModel info) { Result res = new Result(); res.ReturnValue = true; LibHandle Handle = LibHandleCache.Default.IsExistsHandle(LibHandeleType.PC, userId); Service.VerificationHandle(userId, handle, Handle, res); if (res.ReturnValue) { LibDataAccess access = new LibDataAccess(); try { string sql = string.Empty; if (!string.IsNullOrEmpty(Handle.PersonId)) { StringBuilder builder = new StringBuilder(); if (info.queryField != null) { switch (info.queryField[0].QueryChar) { case LibQueryChar.Equal: builder.AppendFormat("AND {0}{1}{2}", info.queryField[0].Name, "=", info.queryField[0].Value[0]); break; case LibQueryChar.Region: builder.AppendFormat("AND {0}{1}{2} AND {3}{4}{5}", info.queryField[0].Name, ">=", info.queryField[0].Value[0], info.queryField[0].Name, "<=", info.queryField[0].Value[1]); break; case LibQueryChar.GreaterOrEqual: builder.AppendFormat("AND {0}{1}{2}", info.queryField[0].Name, ">=", info.queryField[0].Value[0]); break; case LibQueryChar.LessOrEqual: builder.AppendFormat("AND {0}{1}{2}", info.queryField[0].Name, "<=", info.queryField[0].Value[0]); break; case LibQueryChar.GreaterThan: builder.AppendFormat("AND {0}{1}{2}", info.queryField[0].Name, ">", info.queryField[0].Value[0]); break; case LibQueryChar.LessThan: builder.AppendFormat("AND {0}{1}{2}", info.queryField[0].Name, "<", info.queryField[0].Value[0]); break; case LibQueryChar.UnequalTo: builder.AppendFormat("AND {0}{1}{2}", info.queryField[0].Name, "<>", info.queryField[0].Value[0]); break; } } //StringBuilder buildString = new StringBuilder(); Dictionary <string, object> dic = new Dictionary <string, object>(); int beginNum = 0, endNum = 0; sql = string.Format("SELECT COUNT(*) FROM COMABNORMALREPORT A LEFT JOIN COMABNORMALREPORTTYPEFLOW B ON B.TYPEID = A.TYPEID WHERE A.TRANSMITLEVEL = B.TRANSMITLEVEL AND B.PERSONID = '{0}' AND (SELECT COUNT(BILLNO) FROM COMABNORMALTRACE C WHERE C.FROMBILLNO=A.BILLNO )={1} {2}", Handle.PersonId, LibSysUtils.ToInt32(info.SelectCondition), builder); int totalCount = LibSysUtils.ToInt32(access.ExecuteScalar(sql)); int pageCount = 0; if (totalCount / info.PageSize == 0) { pageCount = totalCount / info.PageSize; } else { pageCount = totalCount / info.PageSize + 1; } endNum = info.PageNo * info.PageSize; beginNum = (info.PageNo - 1) * info.PageSize + 1; DatabaseProviderFactory factory = new DatabaseProviderFactory(ConfigurationSourceFactory.Create()); Database dataBase = factory.Create("DefaultConnection"); if (dataBase.GetType().Name == "OracleDatabase") { sql = string.Empty; sql = string.Format(@" SELECT DISTINCT A.BILLNO, A.BILLDATE, D.ABNORMALTYPENAME, A.FROMPERSONID, C.PERSONNAME AS FROMPERSONNAME, C.PHONENO AS FROMPHONENO, A.ABNORMALDESC FROM ( SELECT E.*,ROWNUM RN FROM (SELECT * FROM COMABNORMALREPORT F LEFT JOIN COMABNORMALREPORTTYPEFLOW B ON B.TYPEID = F.TYPEID WHERE B.PERSONID={2} AND F.TRANSMITLEVEL = B.TRANSMITLEVEL AND (SELECT COUNT(BILLNO) FROM COMABNORMALTRACE A WHERE A.FROMBILLNO=F.BILLNO )={3}) E WHERE ROWNUM <= {1} ) A LEFT JOIN COMPERSON C ON C.PERSONID=A.FROMPERSONID LEFT JOIN COMABNORMALTYPE D ON D.ABNORMALTYPEID=A.ABNORMALTYPEID WHERE RN>={0} {4}", beginNum, endNum, Handle.PersonId, LibSysUtils.ToInt32(info.SelectCondition), builder); } else { sql = string.Empty; sql = string.Format(""); } res.Info = access.ExecuteDataSet(sql); //res.Info = access.ExecuteStoredProcedureReturnDataSet("GETABNORMALREPORT", ref dic, beginNum, endNum, Handle.PersonId, LibSysUtils.ToInt32(info.SelectCondition), builder); res.pageModel.PageNo = info.PageNo; res.pageModel.PageSize = info.PageSize; res.pageModel.PageCount = pageCount; res.pageModel.TotalCount = totalCount; res.ReturnValue = true; } else { res.ReturnValue = false; res.Message = "请重新登录!"; } } catch (Exception ex) { res.ReturnValue = false; res.Message = "查询失败!" + ex.Message; } } return(res); }
/// <summary> /// 订单列表 /// </summary> /// <param name="osn">订单编号</param> /// <param name="accountName">账户名</param> /// <param name="consignee">收货人</param> /// <param name="orderState">订单状态</param> /// <param name="pageSize">每页数</param> /// <param name="pageNumber">当前页数</param> /// <returns></returns> public ActionResult OrderList(string osn, string accountName, string consignee, string sortColumn, string sortDirection, int orderState = 0, int pageSize = 15, int pageNumber = 1) { if (!SecureHelper.IsSafeSqlString(osn)) { osn = ""; } if (!SecureHelper.IsSafeSqlString(consignee)) { consignee = ""; } if (!SecureHelper.IsSafeSqlString(sortColumn)) { sortColumn = ""; } if (!SecureHelper.IsSafeSqlString(sortDirection)) { sortDirection = ""; } //获取用户id int uid = Users.GetUidByAccountName(accountName); string condition = AdminOrders.GetOrderListCondition(WorkContext.StoreId, osn, uid, consignee, orderState); string sort = AdminOrders.GetOrderListSort(sortColumn, sortDirection); PageModel pageModel = new PageModel(pageSize, pageNumber, AdminOrders.GetOrderCount(condition)); OrderListModel model = new OrderListModel() { OrderList = AdminOrders.GetOrderList(pageModel.PageSize, pageModel.PageNumber, condition, sort), PageModel = pageModel, SortColumn = sortColumn, SortDirection = sortDirection, OSN = osn, AccountName = accountName, Consignee = consignee, OrderState = orderState }; MallUtils.SetAdminRefererCookie(string.Format("{0}?pageNumber={1}&pageSize={2}&sortColumn={3}&sortDirection={4}&OSN={5}&AccountName={6}&Consignee={7}&OrderState={8}", Url.Action("orderlist"), pageModel.PageNumber, pageModel.PageSize, sortColumn, sortDirection, osn, accountName, consignee, orderState)); List <SelectListItem> itemList = new List <SelectListItem>(); itemList.Add(new SelectListItem() { Text = "全部", Value = "0" }); itemList.Add(new SelectListItem() { Text = "已提交", Value = ((int)OrderState.Submitted).ToString() }); itemList.Add(new SelectListItem() { Text = "等待付款", Value = ((int)OrderState.WaitPaying).ToString() }); itemList.Add(new SelectListItem() { Text = "待确认", Value = ((int)OrderState.Confirming).ToString() }); itemList.Add(new SelectListItem() { Text = "已确认", Value = ((int)OrderState.Confirmed).ToString() }); itemList.Add(new SelectListItem() { Text = "备货中", Value = ((int)OrderState.PreProducting).ToString() }); itemList.Add(new SelectListItem() { Text = "已发货", Value = ((int)OrderState.Sended).ToString() }); itemList.Add(new SelectListItem() { Text = "已完成", Value = ((int)OrderState.Completed).ToString() }); itemList.Add(new SelectListItem() { Text = "已锁定", Value = ((int)OrderState.Locked).ToString() }); itemList.Add(new SelectListItem() { Text = "已取消", Value = ((int)OrderState.Cancelled).ToString() }); itemList.Add(new SelectListItem() { Text = "已退货", Value = ((int)OrderState.Returned).ToString() }); ViewData["orderStateList"] = itemList; return(View(model)); }
public async Task <List <T> > GetPageListAsync(Expression <Func <T, bool> > whereExpression, PageModel page, Expression <Func <T, object> > orderByExpression = null, OrderByType orderByType = OrderByType.Asc) { return(await DbContext.Queryable <T>().Where(whereExpression).OrderByIF(orderByExpression != null, orderByExpression, orderByType).Where(whereExpression).ToPageListAsync(page.PageIndex, page.PageSize)); }
/// <summary> /// Return Id of Page Field Template /// </summary> /// <param name="pageModel">The page model</param> /// <returns></returns> public static string GetPageType(this PageModel pageModel) { return(pageModel.Page.GetPageType()); }
public List <T> GetPageList(Expression <Func <T, bool> > whereExpression, PageModel page) { return(DbContext.Queryable <T>().Where(whereExpression).ToPageList(page.PageIndex, page.PageSize)); }
/// <summary> /// Check if page has "Brand" page type /// </summary> /// <param name="pageModel">The page model</param> /// <returns></returns> public static bool IsBrandPageType(this PageModel pageModel) { return(pageModel.GetPageType() == PageTemplateNameConstants.Brand); }
public void BuildPageModel(ref PageModel pageModel, IPage page, IEnumerable <IPage> includes, Localization localization) { // Nothing to do here }
public async Task <List <T> > GetPageListAsync(Expression <Func <T, bool> > whereExpression, PageModel page) { int count = 0; var result = await DbContext.Queryable <T>().Where(whereExpression).ToPageListAsync(page.PageIndex, page.PageSize, count); page.PageCount = result.Value; return(result.Key); }
public JsonResult List(DateTime?startDate, DateTime?endDate, long?orderId, int?orderStatus, string userName, int page, int rows, int?orderType) { OrderInfo.OrderOperateStatus?nullable; OrderQuery orderQuery = new OrderQuery() { StartDate = startDate, EndDate = endDate, OrderId = orderId }; OrderQuery orderQuery1 = orderQuery; int? nullable1 = orderStatus; if (nullable1.HasValue) { nullable = new OrderInfo.OrderOperateStatus?((OrderInfo.OrderOperateStatus)nullable1.GetValueOrDefault()); } else { nullable = null; } orderQuery1.Status = nullable; orderQuery.ShopId = new long?(base.CurrentSellerManager.ShopId); orderQuery.UserName = userName; orderQuery.OrderType = orderType; orderQuery.PageSize = rows; orderQuery.PageNo = page; PageModel <OrderInfo> orders = ServiceHelper.Create <IOrderService>().GetOrders <OrderInfo>(orderQuery, null); IEnumerable <OrderModel> array = from item in orders.Models.ToArray() select new OrderModel() { OrderId = item.Id, OrderStatus = item.OrderStatus.ToDescription(), OrderDate = item.OrderDate.ToString("yyyy-MM-dd HH:mm:ss"), ShopId = item.ShopId, ShopName = item.ShopName, UserId = item.UserId, UserName = item.UserName, TotalPrice = item.OrderTotalAmount, PaymentTypeName = item.PaymentTypeName, IconSrc = GetIconSrc(item.Platform), PlatForm = (int)item.Platform, PlatformText = item.Platform.ToDescription() }; array = array.ToList(); List <long> list = ( from d in array select d.OrderId).ToList(); if (list.Count > 0) { RefundQuery refundQuery = new RefundQuery() { OrderId = new long?(list[0]), MoreOrderId = list, PageNo = 1, PageSize = array.Count() }; List <OrderRefundInfo> orderRefundInfos = ( from d in ServiceHelper.Create <IRefundService>().GetOrderRefunds(refundQuery).Models where (int)d.RefundMode == 1 && (int)d.SellerAuditStatus != 4 select d).ToList(); if (orderRefundInfos.Count > 0) { foreach (OrderRefundInfo orderRefundInfo in orderRefundInfos) { OrderModel orderModel = array.FirstOrDefault((OrderModel d) => d.OrderId == orderRefundInfo.OrderId); if (orderModel == null || !(orderModel.OrderStatus != OrderInfo.OrderOperateStatus.Close.ToDescription()) || orderRefundInfo.SellerAuditStatus == OrderRefundInfo.OrderRefundAuditStatus.UnAudit) { continue; } orderModel.RefundStats = (int)orderRefundInfo.SellerAuditStatus; } } } DataGridModel <OrderModel> dataGridModel = new DataGridModel <OrderModel>() { rows = array, total = orders.Total }; return(Json(dataGridModel)); }
private PageModel getPage(string title) { title = HttpUtility.UrlDecode(title); DBConnection testconn = new DBConnection(); SqlDataReader datareader; //this query selects the page to load by title, if it exists i.e. title matches the functions parameters string query = "select id, title, subheader_image, content, section, isAlive from Pages where title = @title"; Dictionary <string, Object> query_params = new Dictionary <string, Object>(); query_params.Add("@title", title); //assign data reader to first query datareader = testconn.ReadFromProduction(query, query_params); //check if there are matching pages if (datareader.Read()) { //this gets the section of the page and stores it in a string to be used multiple times string section = datareader.GetValue(4).ToString(); //this query gets all page titles that belong to the same section as the requested page string query2 = "select title, sort_order from Pages where section = " + section + " AND isAlive = 1"; List <PageModel> menu = new List <PageModel>(); //read from query2 datareader = testconn.ReadFromTest(query2); while (datareader.Read()) { string pagetitle = datareader.GetValue(0).ToString(); int sort_order = Int32.Parse(datareader.GetValue(1).ToString()); PageModel aux_page = new PageModel(); aux_page.title = pagetitle; aux_page.sort_order = sort_order; menu.Add(aux_page); //sort page menu = menu.OrderBy(p => p.sort_order).ToList(); } //this query gets the title of the section to which the page(s) belong string query3 = "select name from Sections where id = " + section; //use datareader to read from query3 datareader = testconn.ReadFromTest(query3); datareader.Read(); string leftMenuTitle = datareader.GetValue(0).ToString(); //read from first query again datareader = testconn.ReadFromProduction(query, query_params); datareader.Read(); PageModel page = new PageModel(); page.id = Int32.Parse(datareader.GetValue(0).ToString()); page.title = datareader.GetValue(1).ToString(); page.subheaderImage = datareader.GetValue(2).ToString(); page.pageContent = datareader.GetValue(3).ToString(); page.leftMenu = menu; page.leftMenuTitle = leftMenuTitle; page.isLive = (bool)datareader.GetValue(5); testconn.CloseDataReader(); testconn.CloseConnection(); return(page); } else { PageModel page = new PageModel(); page.id = 1; page.title = "Test"; page.subheaderImage = ""; page.pageContent = "<div>hola</div>"; page.leftMenu = null; return(page); } }
public async Task <MessageModel <PageModel <Permission> > > Get(int page = 1, string key = "") { PageModel <Permission> permissions = new PageModel <Permission>(); int intPageSize = 50; if (string.IsNullOrEmpty(key) || string.IsNullOrWhiteSpace(key)) { key = ""; } #region 弃 //var permissions = await _permissionServices.Query(a => a.IsDeleted != true); //if (!string.IsNullOrEmpty(key)) //{ // permissions = permissions.Where(t => (t.Name != null && t.Name.Contains(key))).ToList(); //} ////筛选后的数据总数 //totalCount = permissions.Count; ////筛选后的总页数 //pageCount = (Math.Ceiling(totalCount.ObjToDecimal() / intTotalCount.ObjToDecimal())).ObjToInt(); //permissions = permissions.OrderByDescending(d => d.Id).Skip((page - 1) * intTotalCount).Take(intTotalCount).ToList(); #endregion permissions = await _permissionServices.QueryPage(a => a.IsDeleted != true && (a.Name != null && a.Name.Contains(key)), page, intPageSize, " Id desc "); #region 单独处理 var apis = await _moduleServices.Query(d => d.IsDeleted == false); var permissionsView = permissions.data; var permissionAll = await _permissionServices.Query(d => d.IsDeleted != true); foreach (var item in permissionsView) { List <int> pidarr = new List <int> { item.Pid }; if (item.Pid > 0) { pidarr.Add(0); } var parent = permissionAll.FirstOrDefault(d => d.Id == item.Pid); while (parent != null) { pidarr.Add(parent.Id); parent = permissionAll.FirstOrDefault(d => d.Id == parent.Pid); } item.PidArr = pidarr.OrderBy(d => d).Distinct().ToList(); foreach (var pid in item.PidArr) { var per = permissionAll.FirstOrDefault(d => d.Id == pid); item.PnameArr.Add((per != null ? per.Name : "根节点") + "/"); //var par = Permissions.Where(d => d.Pid == item.Id ).ToList(); //item.PCodeArr.Add((per != null ? $"/{per.Code}/{item.Code}" : "")); //if (par.Count == 0 && item.Pid == 0) //{ // item.PCodeArr.Add($"/{item.Code}"); //} } item.MName = apis.FirstOrDefault(d => d.Id == item.Mid)?.LinkUrl; } permissions.data = permissionsView; #endregion return(new MessageModel <PageModel <Permission> >() { msg = "获取成功", success = permissions.dataCount >= 0, response = permissions }); }
public void BuildPageModel(ref PageModel pageModel, DD4T.ContentModel.IPage page, IEnumerable <DD4T.ContentModel.IPage> includes, Localization localization) { var containers = new List <AbstractContainerModel>(); // Get absolute order of the different container items // var regionAbsoluteOrder = new Dictionary <string, IList <int> >(); var containerAbsoluteOrder = new List <int>(); int index = 0; foreach (var cp in page.ComponentPresentations) { if (cp.ComponentTemplate.MetadataFields.ContainsKey("regionName")) { string regionName = (string)cp.ComponentTemplate.MetadataFields["regionName"].Values[0]; IList <int> orderList = null; regionAbsoluteOrder.TryGetValue(regionName, out orderList); if (orderList == null) { orderList = new List <int>(); regionAbsoluteOrder.Add(regionName, orderList); } orderList.Add(index); } else if (cp.ComponentTemplate.MetadataFields.ContainsKey("action")) { string controllerAction = (string)cp.ComponentTemplate.MetadataFields["action"].Values[0]; if (controllerAction.Equals("Container")) { containerAbsoluteOrder.Add(index); } } index++; } // Go through the entity list and extract all containers // index = 1; foreach (var region in pageModel.Regions) { // TODO: Remove container region from the top level? Otherwise XPM drop zones are generated for them as well? foreach (var entity in region.Entities) { if (entity is AbstractContainerModel) { AbstractContainerModel container = (AbstractContainerModel)entity; // Override region name using MVC route values // string containerRegionName = null; container.MvcData.RouteValues.TryGetValue("containerRegion", out containerRegionName); if (containerRegionName != null) { container.Name = containerRegionName; } // TODO: if no container region name -> should we skip this container then??? try { container.Region = new ContainerRegionModel(container); } catch (DxaException e) { throw new DxaException("Could not create empty region for container: " + container.Name, e); } container.Index = index; index++; containers.Add(container); } } } // Move all container items to the containers (to avoid the container items to be rendered outside the container) // foreach (var container in containers) { if (containerAbsoluteOrder.Count == 0) { break; } int containerIndex = containerAbsoluteOrder[0]; containerAbsoluteOrder.RemoveAt(0); RegionModel regionWithContainerItems = null; pageModel.Regions.TryGetValue(container.Name, out regionWithContainerItems); if (regionWithContainerItems == null) { // No container items found on the page -> continue // continue; } IList <int> orderList = null; regionAbsoluteOrder.TryGetValue(container.Name, out orderList); if (orderList != null && orderList.Count > 0) { index = orderList[0]; if (containerIndex + 1 == index) { int noOfItems = 0; foreach (var entity in regionWithContainerItems.Entities) { container.Region.Entities.Add(entity); noOfItems++; orderList.RemoveAt(0); if (orderList.Count == 0) { break; } int nextIndex = orderList[0]; if (nextIndex != index + 1) { break; } else { index = nextIndex; } } for (int i = 0; i < noOfItems; i++) { regionWithContainerItems.Entities.RemoveAt(0); } } } } }