public async Task <bool> RemoveMenuCategoryAsync(long ownerId, long restaurantId, long menuCategoryId)
        {
            CheckTheLoggedInPerson();

            EmployersRestaurants connection = await CheckEmployerRestaurantAsync(ownerId, restaurantId);

            MenuCategories menuCategory = await CheckMenuCategoryExistance(menuCategoryId);

            return(await RemoveMenuCategoryByIdAsync(menuCategory.Id));
        }
        private async Task <MenuCategories> CheckMenuCategoryExistance(long menuCategoryId)
        {
            MenuCategories menuCategory = await MenuCategoriesRepo.FindById(menuCategoryId);

            if (menuCategory == null)
            {
                throw new Exception("Non existing entry");
            }
            return(menuCategory);
        }
        private async Task <bool> RemoveMenuCategoryByIdAsync(long menuCategoryId)
        {
            MenuCategories menuCategory = await MenuCategoriesRepo.FindById(menuCategoryId);

            bool value = await RemoveCategoryByLanguageIdOrMenuCategoryIdAsync(menuCategory.Id, isMenuCategoryId : true);

            value &= await RemoveMenuItemByMenuCategoryIdAsync(menuCategory.Id);

            await MenuCategoriesRepo.RemoveAsync(menuCategory);

            return(value);
        }
        public async Task <MenuCategories> UpdateMenuCategoryAsync(long ownerId, long restaurantId, long menuCategoryId, Dictionary <long, string> categoryName, Dictionary <long, string> categoryDescription)
        {
            CheckTheLoggedInPerson();

            EmployersRestaurants connection = await CheckEmployerRestaurantAsync(ownerId, restaurantId);

            Menus currentMenu = await CheckMenuExistanceAsync(restaurantId);

            List <MenuLanguages> menuLanguages = await MenuLanguagesRepo.GetItemsByMenuId(currentMenu.Id);

            MenuCategories menuCategory = await CheckMenuCategoryExistance(menuCategoryId);

            List <Categories> categories = await CategoriesRepo.GetByMenuCategoryId(menuCategory.Id);

            foreach (var menuLang in menuLanguages)
            {
                bool checkName = categoryName.TryGetValue(menuLang.Id, out string name);
                categoryDescription.TryGetValue(menuLang.Id, out string description);

                if (!checkName)
                {
                    name = "<< no name >>";
                }

                Categories cat = categories.Where(x => x.MenuLanguageId == menuLang.Id).SingleOrDefault();
                if (cat == null)
                {
                    cat = new Categories
                    {
                        CategoryName        = name,
                        CategoryDescription = description,
                        MenuCategoryId      = menuCategory.Id,
                        MenuLanguageId      = menuLang.Id
                    };

                    categories.Add(cat);
                    await CategoriesRepo.AddAsync(cat, this.ModifierId);
                }
                else
                {
                    cat.CategoryName        = name;
                    cat.CategoryDescription = description;

                    await CategoriesRepo.UpdateAsync(cat, this.ModifierId);
                }
            }

            return(menuCategory);
        }
        public void SplitCategoriesInColumns(int minColumnCount = 3)
        {
            if (MenuCategories == null || !MenuCategories.Any())
            {
                return;
            }

            var totalItems = MenuCategories.Count();

            if (totalItems >= minColumnCount)
            {
                FirstColumn.AddRange(MenuCategories);
                return;
            }

            var fisrtColSize = totalItems / 2 + 1;

            FirstColumn.AddRange(MenuCategories.Take(fisrtColSize));
            SecondColumn.AddRange(MenuCategories.Skip(fisrtColSize));
        }
        public async Task <MenuCategories> AddMenuCategoryAsync(long ownerId, long restaurantId, Dictionary <long, string> categoryName, Dictionary <long, string> categoryDescription)
        {
            CheckTheLoggedInPerson();

            EmployersRestaurants connection = await CheckEmployerRestaurantAsync(ownerId, restaurantId);

            Menus currentMenu = await CheckMenuExistanceAsync(restaurantId);

            List <MenuLanguages> menuLanguages = await MenuLanguagesRepo.GetItemsByMenuId(currentMenu.Id);

            MenuCategories menuCat = new MenuCategories();
            await MenuCategoriesRepo.AddAsync(menuCat, this.ModifierId);

            foreach (var menuLang in menuLanguages)
            {
                bool checkName = categoryName.TryGetValue(menuLang.Id, out string name);
                categoryDescription.TryGetValue(menuLang.Id, out string description);

                if (!checkName)
                {
                    name = "<< no name >>";
                }

                Categories cat = new Categories
                {
                    CategoryName        = name,
                    CategoryDescription = description,
                    MenuLanguageId      = menuLang.Id,
                    MenuCategoryId      = menuCat.Id
                };

                await CategoriesRepo.AddAsync(cat, this.ModifierId);
            }

            return(menuCat);
        }
    public string GetMenuCategoriesListJson(bool IsCategoryVisible,string PageName)
    {
        System.Web.Script.Serialization.JavaScriptSerializer jSearializer = new System.Web.Script.Serialization.JavaScriptSerializer();
        List<MenuCategories> RetMenuCat = null;
        string RetVal = string.Empty;
        DIConnection ObjDIConnection = null;
        CMSHelper Helper = new CMSHelper();
        List<System.Data.Common.DbParameter> DbParams = null;
        DataTable DtRetData = null;
        try
        {   //Get Connection Object
            ObjDIConnection = Helper.GetConnectionObject();
            // Checke if Connection  object is null then return null and stop further flow to execute
            if (ObjDIConnection == null)
            { return RetVal; }
            // If Connection object is not null then excute further code
            else
            {
                DbParams = new List<System.Data.Common.DbParameter>();

                // create database parameters
                System.Data.Common.DbParameter Param1 = ObjDIConnection.CreateDBParameter();// create RecordStartPosition parameter
                Param1.ParameterName = "@IsVisible";
                Param1.DbType = DbType.Int32;
                Param1.Value = IsCategoryVisible;
                DbParams.Add(Param1);

                System.Data.Common.DbParameter Param2 = ObjDIConnection.CreateDBParameter();// create RecordStartPosition parameter
                Param2.ParameterName = "@PageName";
                Param2.DbType = DbType.String;
                Param2.Value = PageName;
                DbParams.Add(Param2);
                // Execute stored procedure to get Tags From Database
                DtRetData = ObjDIConnection.ExecuteDataTable("sp_GetMenuCategoriesByPageName", CommandType.StoredProcedure, DbParams);
                // Check if return datatable is not null and having atleast 1 record
                if (DtRetData != null && DtRetData.Rows.Count > 0)
                {
                    RetMenuCat = new List<MenuCategories>();
                    // Itterate through loop
                    for (int Icount = 0; Icount < DtRetData.Rows.Count; Icount++)
                    {
                        MenuCategories ObjMenuCat = new MenuCategories();
                        ObjMenuCat.MenuCategory = DtRetData.Rows[Icount]["MenuCategory"].ToString();
                        ObjMenuCat.LinkText = DtRetData.Rows[Icount]["LinkText"].ToString();
                        ObjMenuCat.HeaderText = DtRetData.Rows[Icount]["HeaderText"].ToString();
                        ObjMenuCat.HeaderDesc = DtRetData.Rows[Icount]["HeaderDesc"].ToString();
                        ObjMenuCat.PageName = DtRetData.Rows[Icount]["PageName"].ToString();
                        // assign tag value to list RetVal
                        RetMenuCat.Add(ObjMenuCat);
                    }
                }
                RetVal = jSearializer.Serialize(RetMenuCat);
            }
        }
        catch (Exception Ex)
        {
            RetVal = string.Empty;
            Global.CreateExceptionString(Ex, null);
        }
        finally
        {
            ObjDIConnection = null;
        }
        return RetVal;
    }
        public async Task <MenuItems> AddMenuItemAsync(long ownerId, long restaurantId, long menuCategoryId, Dictionary <long, string> itemName, Dictionary <long, string> itemDescription, Dictionary <long, string> itemWarnings, Dictionary <long, float> itemPrice)
        {
            CheckTheLoggedInPerson();

            EmployersRestaurants connection = await CheckEmployerRestaurantAsync(ownerId, restaurantId);

            Menus currentMenu = await CheckMenuExistanceAsync(restaurantId);

            MenuCategories category = await CheckMenuCategoryExistance(menuCategoryId);

            MenuItems menuItem = new MenuItems
            {
                MenuId         = currentMenu.Id,
                MenuCategoryId = category.Id,
            };
            await MenuItemRepo.AddAsync(menuItem, this.ModifierId);

            List <MenuLanguages> menuLanguages = await MenuLanguagesRepo.GetItemsByMenuId(currentMenu.Id);

            foreach (var menuLang in menuLanguages)
            {
                bool checkName        = itemName.TryGetValue(menuLang.Id, out string name);
                bool checkDescription = itemDescription.TryGetValue(menuLang.Id, out string description);
                itemWarnings.TryGetValue(menuLang.Id, out string warning);

                if (!checkName)
                {
                    name = "<< no name >>";
                }
                if (!checkDescription)
                {
                    description = "<< no description >>";
                }

                MenuItemContents contents = new MenuItemContents
                {
                    ItemName        = name,
                    ItemDescription = description,
                    ItemWarnings    = warning,
                    MenuItemId      = menuItem.Id,
                    MenuLanguageId  = menuLang.Id
                };

                await MenuItemContentRepo.AddAsync(contents, this.ModifierId);
            }

            List <MenuCurrencies> menuCurrencies = await MenuCurrencyRepo.GetItemsByMenuId(currentMenu.Id);

            foreach (var currency in menuCurrencies)
            {
                bool checkValue = itemPrice.TryGetValue(currency.Id, out float price);

                if (!checkValue)
                {
                    price = 0F;
                }

                MenuItemValues value = new MenuItemValues
                {
                    Price          = price,
                    MenuCurrencyId = currency.Id,
                    MenuItemId     = menuItem.Id
                };

                await MenuItemValueRepo.AddAsync(value, this.ModifierId);
            }

            return(menuItem);
        }
    /// <summary>
    /// get articles from database,
    /// bind it to html
    /// </summary>
    /// <param name="CallingPageUrl">paramater for maintaining article type</param>
    private void ShowArticles(string CallingPageUrl, bool IsHiddenArticlesVisible)
    {
        ArticlesGenerator GenerateArticle = new ArticlesGenerator();
        List<MenuCategories> ListMenuCat = null;
        MenuCategories ObjMenuCat = null;
        string RetContentHtml = string.Empty;
        int MaxArticleCount = 0;
        int CurrentPageNo = 1;
        string RetMenuCategory = string.Empty;
        bool IsGetArticleByUrl = false;

        //   string AdaptaionPagingName = Constants.CMS.AdaptaionPagingName.ToLower();
        int ArticleStartPosition = 0;
        try
        {
            ListMenuCat = new List<MenuCategories>();
            ObjMenuCat = new MenuCategories();
            ListMenuCat = ObjMenuCat.GetMenuCategoriesList(true);
            foreach (MenuCategories Category in ListMenuCat)
            {
                if (CallingPageUrl.ToLower() == Category.MenuCategory.ToLower())
                {
                    IsGetArticleByUrl = true;
                    MenuCategory = Category.MenuCategory.ToLower();
                    if (!string.IsNullOrEmpty(Global.MaxArticlesCount))
                    {
                        MaxArticleCount = Convert.ToInt32(Global.MaxArticlesCount);
                    }

                    ArticleStartPosition = (CurrentPageNo - 1) * MaxArticleCount + 1;

                    // Get Html For News
                    RetContentHtml = GenerateArticle.GetArticleByMenuCategory(ArticleStartPosition, MaxArticleCount, MenuCategory, CurrentPageNo, IsHiddenArticlesVisible);
                    break;
                }
            }
            if (!IsGetArticleByUrl)
            {
                this.ShowArticleByUrl(CallingPageUrl, true);
            }
            // Check if Return Html is not empty
            else if (!string.IsNullOrEmpty(RetContentHtml))
            {
                //set Html to content page
                divContent.InnerHtml = RetContentHtml;
            }
            SelectedPageName = GenerateArticle.GetPageNameFromDbByMenuCategory(MenuCategory);
        }
        catch (Exception ex)
        {
            Global.CreateExceptionString(ex, null);
        }
    }
Beispiel #10
0
 public string MoveUpNDownMenuCat(string requestParam)
 {
     string CategoryName = string.Empty;
     bool MoveUp = false;
     bool MoveDown = false;
     string RetVal = string.Empty;
     MenuCategories ObjMenuCat = null;
     string PageName = string.Empty;
     string[] Params;
     try
     {
         Params = Global.SplitString(requestParam, Constants.Delimiters.ParamDelimiter);
         CategoryName = Params[0];
         MoveUp = Convert.ToBoolean(Params[1]);
         MoveDown = Convert.ToBoolean(Params[2]);
         PageName = Params[3];
         ObjMenuCat = new MenuCategories();
         RetVal = ObjMenuCat.MoveUpNDownMenuCat(CategoryName, MoveUp, MoveDown, PageName).ToString();
     }
     catch (Exception Ex)
     {
         RetVal = string.Empty;
         Global.CreateExceptionString(Ex, null);
     }
     return RetVal;
 }
Beispiel #11
0
 public string GetArticlesMenucategoriesListJson(string requestParam)
 {
     string RetVal = string.Empty;
     MenuCategories ObjMenuCat = null;
     bool isShowHiddenMenuCat = true;
     string PageName=  string.Empty;
         string[] Params;
     try
     {
         Params = Global.SplitString(requestParam, Constants.Delimiters.ParamDelimiter);
         PageName = Params[0];
         ObjMenuCat = new MenuCategories();
         RetVal = ObjMenuCat.GetMenuCategoriesListJson(isShowHiddenMenuCat, PageName);
     }
     catch (Exception Ex)
     {
         RetVal = string.Empty;
         Global.CreateExceptionString(Ex, null);
     }
     return RetVal;
 }
Beispiel #12
0
 public string EditMenuCategory(string requestParam)
 {
     string CategoryName = string.Empty;
     string LinkText = string.Empty;
     string HeaderText = string.Empty;
     string HeaderDesc = string.Empty;
     string RetVal = string.Empty;
     string SelcetedPageName = string.Empty;
     MenuCategories ObjMenuCat = null;
     string[] Params;
     try
     {
         Params = Global.SplitString(requestParam, Constants.Delimiters.ParamDelimiter);
         CategoryName = Params[0];
         LinkText = Params[1];
         HeaderText = Params[2];
         HeaderDesc = Params[3];
         SelcetedPageName = Params[4];
         ObjMenuCat = new MenuCategories();
         RetVal = ObjMenuCat.EditMenuCategory(CategoryName, LinkText, HeaderText, HeaderDesc, SelcetedPageName).ToString();
     }
     catch (Exception Ex)
     {
         RetVal = string.Empty;
         Global.CreateExceptionString(Ex, null);
     }
     return RetVal;
 }
Beispiel #13
0
 public string DeleteMenuCategory(string requestParam)
 {
     string RetVal = string.Empty;
     MenuCategories ObjMenuCat = null;
     string CategoryName = string.Empty;
     string[] Params;
     try
     {
         Params = Global.SplitString(requestParam, Constants.Delimiters.ParamDelimiter);
         CategoryName = Params[0];
         ObjMenuCat = new MenuCategories();
         RetVal = ObjMenuCat.DeleteMenuCategory(CategoryName).ToString();
     }
     catch (Exception Ex)
     {
         RetVal = string.Empty;
         Global.CreateExceptionString(Ex, null);
     }
     return RetVal;
 }