Example #1
0
        public MenuIndexModel LoadIndex(long?languageID)
        {
            MenuBusiness     menuBusiness     = new MenuBusiness();
            LanguageBusiness languageBusiness = new LanguageBusiness();

            MenuIndexModel menuIndexModel = new MenuIndexModel();

            long defaultLanguageID = languageBusiness.GetFirstLanguage();

            if (!languageID.HasValue)
            {
                languageID = defaultLanguageID;
            }

            IEnumerable <Language> languageList = languageBusiness.LanguageList();

            menuIndexModel.LanguageList = new SelectList(languageList, "ID", "Name", languageID);

            List <Menu> menu = menuBusiness.GetMenuList();

            List <MenuItemModel> menuItemList = new List <MenuItemModel>();

            foreach (Menu item in menu)
            {
                MenuItemModel tmpItem = new MenuItemModel();

                tmpItem.ID      = item.ID;
                tmpItem.TopMenu = item.TopMenu;

                List <MenuTranslation> _menuTranslation = item.MenuTranslation.ToList();

                if (_menuTranslation != null && _menuTranslation.Count > 0)
                {
                    MenuTranslation menuTranslation = _menuTranslation.FirstOrDefault(z => z.LanguageID == languageID);

                    if (menuTranslation != null)
                    {
                        tmpItem.LanguageID = menuTranslation.LanguageID;
                        tmpItem.Name       = menuTranslation.Name;
                        tmpItem.Sort       = menuTranslation.Sort;
                        tmpItem.URL        = menuTranslation.URL;
                    }
                    else
                    {
                        MenuTranslation defaultMenuTranslation = _menuTranslation.FirstOrDefault(z => z.LanguageID == defaultLanguageID);

                        tmpItem.LanguageID = defaultMenuTranslation.LanguageID;
                        tmpItem.Name       = string.Format("Çeviri eklenmemiş , ({0})", defaultMenuTranslation.Name);
                        tmpItem.Sort       = defaultMenuTranslation.Sort;
                        tmpItem.URL        = defaultMenuTranslation.URL;
                    }
                }

                menuItemList.Add(tmpItem);
            }

            menuIndexModel.MenuList = menuItemList;

            return(menuIndexModel);
        }
Example #2
0
        public JsonResult AddMenu(MenuViewModel menu)
        {
            try
            {
                int languageId = CultureHelper.GetCurrentLanguageId(Request.Cookies["_culture"]);

                #region Add Menu
                var men = new Menu()
                {
                    CreatedBy = User.Identity.Name,
                    CreatedOn = DateTime.Now,
                    ParentId  = menu.ParentId,
                    Status    = menu.Status,
                    Icon      = menu.Icon,
                    PageId    = menu.PageId,
                    SortOrder = menu.SortOrder,
                    PageUrl   = menu.PageUrl
                };
                _db.Menus.Add(men);
                _db.SaveChanges();

                var menTrans = new MenuTranslation()
                {
                    MenuId      = men.Id,
                    Description = menu.Description,
                    IsDefault   = languageId == CultureHelper.GetDefaultLanguageId(),
                    LanguageId  = languageId,
                    Title       = menu.Title
                };
                _db.MenuTranslations.Add(menTrans);
                if (!menTrans.IsDefault)
                {
                    var menTrans1 = new MenuTranslation()
                    {
                        MenuId      = men.Id,
                        Description = menu.Description,
                        IsDefault   = true,
                        LanguageId  = CultureHelper.GetDefaultLanguageId(),
                        Title       = menu.Title
                    };
                    _db.MenuTranslations.Add(menTrans1);
                }

                _db.SaveChanges();


                #endregion


                return(Json(menu, JsonRequestBehavior.AllowGet));
            }
            catch (Exception ex)
            {
                LogHelper.LogException(User.Identity.Name, ex, "Error While adding new menu");
                return(null);
            }
        }
Example #3
0
        public JsonResult EditMenu(MenuViewModel menu)
        {
            try
            {
                var men = _db.Menus.Find(menu.Id);
                if (men != null && men.Status != (int)GeneralEnums.StatusEnum.Deleted)
                {
                    men.ParentId         = menu.ParentId;
                    men.Status           = menu.Status;
                    men.Icon             = menu.Icon;
                    men.PageId           = menu.PageId;
                    men.PageUrl          = menu.PageUrl;
                    men.SortOrder        = menu.SortOrder;
                    _db.Entry(men).State = EntityState.Modified;
                    _db.SaveChanges();


                    var menTrans = _db.MenuTranslations.FirstOrDefault(r => r.MenuId == men.Id && r.LanguageId == menu.LanguageId);
                    if (menTrans != null)
                    {
                        menTrans.Title            = menu.Title;
                        menTrans.Description      = menu.Description;
                        _db.Entry(menTrans).State = EntityState.Modified;
                    }
                    else
                    {
                        menTrans = new MenuTranslation()
                        {
                            MenuId      = men.Id,
                            Description = menu.Description,
                            IsDefault   = false,
                            LanguageId  = menu.LanguageId,
                            Title       = menu.Title
                        };
                        _db.MenuTranslations.Add(menTrans);
                    }

                    _db.SaveChanges();
                }


                return(Json(menu, JsonRequestBehavior.AllowGet));
            }
            catch (Exception ex)
            {
                LogHelper.LogException(User.Identity.Name, ex, "Error While editing menu (Post)");
                return(null);
            }
        }
Example #4
0
        public MenuCreateModel CreateMenu(MenuCreateModel request)
        {
            LanguageBusiness languageBusiness = new LanguageBusiness();
            MenuBusiness     menuBusiness     = new MenuBusiness();

            MenuCreateModel menuCreateModel = new MenuCreateModel();

            IEnumerable <Language> languageList = languageBusiness.LanguageList();

            menuCreateModel.LanguageList = new SelectList(languageList, "ID", "Name", request.LanguageID);


            if (string.IsNullOrEmpty(request.Name))
            {
                menuCreateModel.Alerts.AlertList.Add("Menü adı boş bırakılamaz.");
                menuCreateModel.Alerts.AlertType = Model.Base.Alerts.AlertTypes.Error;
            }
            else
            {
                if (string.IsNullOrEmpty(request.URL))
                {
                    menuCreateModel.Alerts.AlertList.Add("Menü URL boş bırakılamaz.");
                    menuCreateModel.Alerts.AlertType = Model.Base.Alerts.AlertTypes.Error;
                }
                else
                {
                    try
                    {
                        MenuTranslation menuTranslation = menuBusiness.CreateMenuTranslation(request.LanguageID, request.Name, request.URL, request.Sort, request.TopMenu);

                        menuCreateModel.Alerts.AlertList.Add("Menü başarıyla eklendi");
                        menuCreateModel.RedirectURL      = "/Management/Menu/Index";
                        menuCreateModel.Alerts.AlertType = Model.Base.Alerts.AlertTypes.Success;
                    }
                    catch (Exception ex)
                    {
                        menuCreateModel.Alerts.AlertList.Add("Menü kaydedilemedi [ " + ex.Message + " ]");
                        menuCreateModel.Alerts.AlertType = Model.Base.Alerts.AlertTypes.Error;
                    }
                }
            }

            return(menuCreateModel);
        }
Example #5
0
        public MenuTranslation CreateMenuTranslation(long languageID, string name, string url, int sort, long?topMenu)
        {
            DateTime date = DateTime.Now;

            Menu menu = new Menu
            {
                CreatedDate = date,
                UpdatedDate = date,
                TopMenu     = topMenu
            };

            context.Menu.Add(menu);

            MenuTranslation menuTranslation = new MenuTranslation
            {
                CreatedDate = date,
                UpdatedDate = date,
                LanguageID  = languageID,
                MenuID      = menu.ID,
                Name        = name,
                Sort        = sort,
                URL         = url
            };

            context.MenuTranslation.Add(menuTranslation);

            using (TransactionScope scope = new TransactionScope())
            {
                try
                {
                    context.SaveChanges();
                    scope.Complete();
                }
                catch (Exception ex)
                {
                    throw ex;
                }
            }

            return(menuTranslation);
        }