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); }
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); } }
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); } }
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); }
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); }