コード例 #1
0
    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>";
            }
        }
    }
コード例 #2
0
    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);
    }
コード例 #3
0
    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);
    }
コード例 #4
0
    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);
        }
    }
コード例 #5
0
    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);
    }
コード例 #6
0
ファイル: OrderManager.cs プロジェクト: zyhbill/YummyOnline
        /// <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));
        }
コード例 #7
0
 public MenuBusiness()
 {
     repository = new MenuRepository();
     extension  = new MenuExtension();
 }