protected void LoadMenu() { string top = ""; string field = "*"; string condition = DataExtension.AndConditon( GroupsTSql.GetGroupsByVgapp(app), GroupsTSql.GetGroupsByIgparentid("0"), GroupsTSql.GetGroupsByIgenable("1"), GroupsTSql.GetGroupsByVglang(lang)); string orderby = GroupsColumns.IgorderColumn; DataTable dt = Groups.GetGroups(top, field, condition, orderby); string s = ""; if (dt.Rows.Count > 0) { string link = ""; string subMenus = ""; for (int i = 0; i < dt.Rows.Count; i++) { link = RewriteExtension.GetLinkMenu(dt.Rows[i][GroupsColumns.VgdescColumn].ToString()); ltrList.Text += @" <li class='litop '> <a href='" + link + "' " + MenuExtension.GetTarget(dt.Rows[i][GroupsColumns.VgparamsColumn].ToString()) + @" title='" + dt.Rows[i][GroupsColumns.VgnameColumn] + @"'>" + dt.Rows[i][GroupsColumns.VgnameColumn] + @" </a> </li>"; } } }
protected string LoadMenu() { string top = ""; string field = "*"; string condition = DataExtension.AndConditon( GroupsTSql.GetGroupsByVgapp(app), GroupsTSql.GetGroupsByIgparentid("0"), GroupsTSql.GetGroupsByIgenable("1"), GroupsTSql.GetGroupsByVglang(lang)); string orderby = GroupsColumns.IgorderColumn; DataTable dt = Groups.GetGroups(top, field, condition, orderby); string s = ""; if (dt.Rows.Count > 0) { string link = "", subMenu = ""; int loop = 2; s += "<div class='col-12 col-sm-12 col-md-6 col-lg-6 col-xl-6'>"; for (int i = 1; i < (dt.Rows.Count + 1); i++) { int j = (i - 1); link = RewriteExtension.GetLinkMenu(dt.Rows[j][GroupsColumns.VgdescColumn].ToString()); subMenu = LoadChildMenu(dt.Rows[j][GroupsColumns.IgidColumn].ToString(), dt.Rows[j][GroupsColumns.VgdescColumn].ToString(), "", "1"); s += @" <div class='blog'> <div class='head'> <a href='" + link + @"' " + MenuExtension.GetTarget(dt.Rows[j][GroupsColumns.VgparamsColumn].ToString()) + @" title='" + dt.Rows[j][GroupsColumns.VgnameColumn] + @"'>" + dt.Rows[j][GroupsColumns.VgnameColumn] + @" </a> </div> <div class='body'> <ul> " + subMenu + @" </ul> </div> </div>"; if (i % loop == 0 && i != dt.Rows.Count) { s += "</div><div class='col-12 col-sm-12 col-md-6 col-lg-6 col-xl-6 " + (i == 2 ? "no-pad" : "") + @"'>"; } else if (i == dt.Rows.Count) { s += "</div>"; } } } return(s); }
protected string LoadMenu() { string top = ""; string field = "*"; string condition = DataExtension.AndConditon( GroupsTSql.GetGroupsByVgapp(app), GroupsTSql.GetGroupsByIgparentid("0"), GroupsTSql.GetGroupsByIgenable("1"), GroupsTSql.GetGroupsByVglang(lang)); string orderby = GroupsColumns.IgorderColumn; DataTable dt = Groups.GetGroups(top, field, condition, orderby); string s = ""; if (dt.Rows.Count > 0) { string link = ""; string subMenus = ""; for (int i = 0; i < dt.Rows.Count; i++) { link = RewriteExtension.GetLinkMenu(dt.Rows[i][GroupsColumns.VgdescColumn].ToString()); subMenus = LoadChildMenu(dt.Rows[i][GroupsColumns.IgidColumn].ToString(), dt.Rows[i][GroupsColumns.VgdescColumn].ToString(), "", "1"); s += @" <li class='litop item " + (subMenus != "" ? "nb-dropdown" : "") + @"'> <a class='item-link' href='" + link + @"' " + MenuExtension.GetTarget(dt.Rows[i][GroupsColumns.VgparamsColumn].ToString()) + @" title='" + dt.Rows[i][GroupsColumns.VgnameColumn] + @"'> <span>" + dt.Rows[i][GroupsColumns.VgnameColumn] + @"</span> </a> " + subMenus + @" </li>"; } } return(s); }
public static string GetLinkMenu(string vgdesc) { string go = MenuExtension.GetQueryString(vgdesc, "go"); string igid = MenuExtension.GetQueryString(vgdesc, "igid"); string iid = MenuExtension.GetQueryString(vgdesc, "iid"); if (iid != "") { return(GetLinkMenuItem(iid)); } else if (igid != "") { return(GetLinkMenuCate(igid)); } else if (go != "") { return(GetLinkMenuIndex(go)); } else { return(vgdesc); } }
protected string LoadChildMenu(string igParentId, string vgdesc, string rewrite, string layMenuConTheoDanhMuc) { string top = ""; string field = "*"; string orderby = GroupsColumns.IgorderColumn; string condition = DataExtension.AndConditon( GroupsTSql.GetGroupsByIgenable("1"), GroupsTSql.GetGroupsByVglang(lang)); #region Xét điều kiện lấy các danh mục con nếu menu trỏ đến trang chủ của các modul if (layMenuConTheoDanhMuc == "1") { if (MenuExtension.GetQueryString(vgdesc, "go") == RewriteExtension.News) { rewrite = RewriteExtension.News; condition = DataExtension.AndConditon(condition, GroupsTSql.GetGroupsByVgapp(TatThanhJsc.NewsModul.CodeApplications.News), GroupsTSql.GetGroupsByIgparentid(MenuExtension.GetIgidInVgdesc(vgdesc))); } else if (MenuExtension.GetQueryString(vgdesc, "go") == RewriteExtension.Product) { rewrite = RewriteExtension.Product; condition = DataExtension.AndConditon(condition, GroupsTSql.GetGroupsByVgapp(TatThanhJsc.ProductModul.CodeApplications.Product), GroupsTSql.GetGroupsByIgparentid(MenuExtension.GetIgidInVgdesc(vgdesc))); } //else // if (MenuExtension.GetQueryString(vgdesc, "go") == RewriteExtension.Service) //{ // rewrite = RewriteExtension.Service; // condition = DataExtension.AndConditon(condition, // GroupsTSql.GetGroupsByVgapp(TatThanhJsc.ServiceModul.CodeApplications.Service), // GroupsTSql.GetGroupsByIgparentid(MenuExtension.GetIgidInVgdesc(vgdesc))); //} else if (MenuExtension.GetQueryString(vgdesc, "go") == RewriteExtension.Video) { rewrite = RewriteExtension.Video; condition = DataExtension.AndConditon(condition, GroupsTSql.GetGroupsByVgapp(TatThanhJsc.VideoModul.CodeApplications.Video), GroupsTSql.GetGroupsByIgparentid(MenuExtension.GetIgidInVgdesc(vgdesc))); } else if (MenuExtension.GetQueryString(vgdesc, "go") == RewriteExtension.PhotoAlbum) { rewrite = RewriteExtension.PhotoAlbum; condition = DataExtension.AndConditon(condition, GroupsTSql.GetGroupsByVgapp(TatThanhJsc.PhotoAlbumModul.CodeApplications.PhotoAlbum), GroupsTSql.GetGroupsByIgparentid(MenuExtension.GetIgidInVgdesc(vgdesc))); } else if (MenuExtension.GetQueryString(vgdesc, "go") == RewriteExtension.FileLibrary) { rewrite = RewriteExtension.FileLibrary; condition = DataExtension.AndConditon(condition, GroupsTSql.GetGroupsByVgapp(TatThanhJsc.FileLibraryModul.CodeApplications.FileLibrary), GroupsTSql.GetGroupsByIgparentid(MenuExtension.GetIgidInVgdesc(vgdesc))); } else if (MenuExtension.GetQueryString(vgdesc, "go") == RewriteExtension.QA) { rewrite = RewriteExtension.QA; condition = DataExtension.AndConditon(condition, GroupsTSql.GetGroupsByVgapp(TatThanhJsc.QAModul.CodeApplications.QA), GroupsTSql.GetGroupsByIgparentid(MenuExtension.GetIgidInVgdesc(vgdesc))); } else if (MenuExtension.GetQueryString(vgdesc, "go") == RewriteExtension.Customer) { rewrite = RewriteExtension.Customer; condition = DataExtension.AndConditon(condition, GroupsTSql.GetGroupsByVgapp(TatThanhJsc.CustomerModul.CodeApplications.Customer), GroupsTSql.GetGroupsByIgparentid(MenuExtension.GetIgidInVgdesc(vgdesc))); } else if (MenuExtension.GetQueryString(vgdesc, "go") == RewriteExtension.Hotel) { rewrite = RewriteExtension.Hotel; condition = DataExtension.AndConditon(condition, GroupsTSql.GetGroupsByVgapp(TatThanhJsc.HotelModul.CodeApplications.Hotel), GroupsTSql.GetGroupsByIgparentid(MenuExtension.GetIgidInVgdesc(vgdesc))); } else if (MenuExtension.GetQueryString(vgdesc, "go") == RewriteExtension.Tour) { rewrite = RewriteExtension.Tour; condition = DataExtension.AndConditon(condition, GroupsTSql.GetGroupsByVgapp(TatThanhJsc.TourModul.CodeApplications.Tour), GroupsTSql.GetGroupsByIgparentid(MenuExtension.GetIgidInVgdesc(vgdesc))); } //else //if (MenuExtension.GetQueryString(vgdesc, "go") == RewriteExtension.AboutUs) // { // rewrite = RewriteExtension.AboutUs; // condition = DataExtension.AndConditon(condition, // GroupsTSql.GetGroupsByVgapp(TatThanhJsc.AboutUsModul.CodeApplications.AboutUs), // GroupsTSql.GetGroupsByIgparentid(MenuExtension.GetIgidInVgdesc(vgdesc))); // } //else //if (MenuExtension.GetQueryString(vgdesc, "go") == RewriteExtension.CustomerReviews) // { // rewrite = RewriteExtension.CustomerReviews; // condition = DataExtension.AndConditon(condition, // GroupsTSql.GetGroupsByVgapp(TatThanhJsc.CustomerReviewsModul.CodeApplications.CustomerReviews), // GroupsTSql.GetGroupsByIgparentid(MenuExtension.GetIgidInVgdesc(vgdesc))); // } else { condition = DataExtension.AndConditon(condition, GroupsTSql.GetGroupsByIgparentid(igParentId)); } } else { condition = DataExtension.AndConditon(condition, GroupsTSql.GetGroupsByIgparentid(igParentId)); } #endregion DataTable dt = Groups.GetGroups(top, field, condition, orderby); string s = ""; if (dt.Rows.Count > 0) { string link = ""; s += @" <i class='fa fa-angle-down' aria-hidden='true'></i> <div class='sub-menu-1'> <ul class='sublist'>"; for (int i = 0; i < dt.Rows.Count; i++) { if (rewrite.Length < 1) { link = RewriteExtension.GetLinkMenu(dt.Rows[i][GroupsColumns.VgdescColumn].ToString()); } else { link = (UrlExtension.WebisteUrl + dt.Rows[i][GroupsColumns.VGSEOLINKSEARCHColumn] + RewriteExtension.Extensions).ToLower(); } s += @" <li class='sub-item'> <a class='subitem-link' href='" + link + "' " + MenuExtension.GetTarget(dt.Rows[i][GroupsColumns.VgparamsColumn].ToString()) + @" title='" + dt.Rows[i][GroupsColumns.VgnameColumn] + @"'> <i class='fa fa-angle-right' aria-hidden='true'></i> <span>" + dt.Rows[i][GroupsColumns.VgnameColumn] + @"</span> </a> </li>"; } s += "</ul></div>"; } return(s); }
/// <summary> /// 处理每个菜品 /// </summary> private async Task <FunctionResult> handleDineMenu(List <MenuExtensionWithGift> menuExtensionWithGifts, Dine dine) { List <DineMenu> addedDineMenus = new List <DineMenu>(); foreach (MenuExtensionWithGift menuExtensionWithGift in menuExtensionWithGifts) { MenuExtension menuExtension = menuExtensionWithGift.MenuExtension; Menu menu = await ctx.Menus .Include(p => p.MenuPrice) .FirstOrDefaultAsync(p => p.Id == menuExtension.Id); // 菜品判断 if (menu == null) { return(new FunctionResult(false, "未找到菜品", $"No Menu {menuExtension.Id}")); } if (!menu.Usable) { return(new FunctionResult(false, $"{menu.Name} 不可用", $"Menu Disabled {menu.Id}: {menu.Name}")); } if (menu.Status == MenuStatus.SellOut) { return(new FunctionResult(false, $"{menu.Name} 已售完", $"Menu SellOut {menu.Id}: {menu.Name}")); } DineMenu dineMenu = new DineMenu { Count = menuExtension.Ordered, OriPrice = menu.MenuPrice.Price, Price = menuExtensionWithGift.IsGift ? 0 : menu.MenuPrice.Price, RemarkPrice = 0, Menu = menu, Remarks = new List <Remark>(), Type = menuExtensionWithGift.IsGift ? DineMenuType.Gift : DineMenuType.None }; if (!menuExtensionWithGift.IsGift) { // 是否排除在总单打折之外 bool excludePayDiscount = menu.MenuPrice.ExcludePayDiscount; // 是否打折 if (menu.MenuPrice.Discount < 1) { excludePayDiscount = true; dineMenu.Price = menu.MenuPrice.Price * (decimal)menu.MenuPrice.Discount; dineMenu.Type = DineMenuType.MenuDiscount; } // 是否为特价菜 DayOfWeek week = DateTime.Now.DayOfWeek; MenuOnSale menuOnSales = await ctx.MenuOnSales.FirstOrDefaultAsync(p => p.Id == menu.Id && p.OnSaleWeek == week); if (menuOnSales != null) { excludePayDiscount = true; dineMenu.Price = menuOnSales.Price; dineMenu.Type = DineMenuType.OnSale; } // 是否为套餐 var menuSetMeals = await ctx.MenuSetMeals.FirstOrDefaultAsync(p => p.MenuSetId == menu.Id && p.Menu.IsSetMeal); if (menuSetMeals != null) { excludePayDiscount = true; dineMenu.Type = DineMenuType.SetMeal; } if (!excludePayDiscount) { dineMenu.Price = menu.MenuPrice.Price * (decimal)dine.Discount; switch (dine.DiscountType) { case DiscountType.PayKind: dineMenu.Type = DineMenuType.PayKindDiscount; break; case DiscountType.Vip: dineMenu.Type = DineMenuType.VipDiscount; break; case DiscountType.Time: dineMenu.Type = DineMenuType.TimeDiscount; break; case DiscountType.Custom: dineMenu.Type = DineMenuType.CustomDiscount; break; } } } // 菜品备注处理 foreach (int remarkId in menuExtension.Remarks) { Remark remark = await ctx.Remarks.FirstOrDefaultAsync(p => p.Id == remarkId); if (remark == null) { return(new FunctionResult(false, "未找到备注信息", $"No Remark {remarkId}")); } if (!menuExtensionWithGift.IsGift) { dineMenu.RemarkPrice += remark.Price; } dineMenu.Remarks.Add(remark); } dine.Price += dineMenu.Price * dineMenu.Count + dineMenu.RemarkPrice; dine.OriPrice += dineMenu.OriPrice * dineMenu.Count + dineMenu.RemarkPrice; addedDineMenus.Add(dineMenu); dine.DineMenus.Add(dineMenu); } return(new FunctionResult(true, addedDineMenus)); }
public MenuBusiness() { repository = new MenuRepository(); extension = new MenuExtension(); }