public ActionResult SaveMenuItem(MenuItemVm <int, int?> vm) { try { _menuItemRepository.SaveById(new MenuItem { Id = vm.Id, Code = vm.Code, IsActive = vm.IsActive, Name = vm.Name, SortOrder = vm.SortOrder, DateCreated = DateTime.Now, ParentId = vm.ParentId }); return(Json(new { success = true })); } catch (Exception ex) { LogEventManager.Logger.Error(ex.Message, ex); return(Json(new { success = false })); } finally { } }
public static Page GetPage(MenuItemVm item) { var account = Auth.Account.Current; switch (item.Type) { case MenuType.Home: return(new MainPage()); case MenuType.Configurations: return(new ConfigurationPage()); case MenuType.FavoriteEvent: if (account.IsValid) { return(new FavoriteEventsPage()); } return(new LoginPage()); case MenuType.ContactUs: return(new ContactUsPage()); case MenuType.Logout: return(new LogoutPage()); case MenuType.Login: return(new LoginPage()); default: return(new MainPage()); } }
//public async Task<IActionResult> DeletePost(int? id) // works public async Task <IActionResult> DeletePost(MenuItemVm menuItemVm) // works with passing hidden inputs { string webRootPath = _hostingEnv.WebRootPath; //MenuItem menuItem = await _db.MenuItems.FindAsync(menuItemVm.MenuItem.Id); var menuItem = menuItemVm.MenuItem; if (menuItem != null) { if (menuItem.Image != null) { var uploads = Path.Combine(webRootPath, "images"); var extension = menuItem.Image .Substring(menuItem.Image.LastIndexOf("."), menuItem.Image.Length - menuItem.Image.LastIndexOf(".")); var imagePath = Path.Combine(uploads, menuItem.Id + extension); if (System.IO.File.Exists(imagePath)) { System.IO.File.Delete(imagePath); } } _db.MenuItems.Remove(menuItem); await _db.SaveChangesAsync(); } else { return(NotFound()); } return(RedirectToAction(nameof(Index))); }
public MenuItemController(ApplicationDbContext context, HostingEnvironment hostingEnvironment) { _context = context; _hostingEnvironment = hostingEnvironment; MenuItemVm = new MenuItemVm { Category = _context.categories, MenuItem = new MenuItem() }; }
public MenuAdminIndexVm() { RouteParameter = new RouteParameterVm <TKey>(); RouteName = new RouteNameVm <TKey>(); MenuItemRelationGroup = new MenuItemRelationGroupVm <TKey>(); MenuItem = new MenuItemVm <TKey, TParentId>(); CurrentRouteMenuItems = new List <RouteMenuItemVm <TKey, TParentId> >(); CurrentRouteName = new List <RouteNameVm <TKey> >(); CurrentRouteParameters = new List <RouteParameterVm <TKey> >(); }
public async Task <IActionResult> CreatePost(MenuItemVm menuItemVm) { if (!ModelState.IsValid) { return(base.View(this.MenuItemVm)); } this.MenuItemVm.MenuItem = menuItemVm.MenuItem; // use javascript in form to populate it use NAME tag - not id // get values from form //this.MenuItemVm.MenuItem.SubCategoryId = Convert.ToInt32(Request.Form["SubCategoryId"]); //this.MenuItemVm.MenuItem.CategoryId = Convert.ToInt32(Request.Form["CategoryId"]); // because they are not mapped ??????? this.MenuItemVm.MenuItem.SubCategoryId = menuItemVm.SubCategoryId; this.MenuItemVm.MenuItem.CategoryId = menuItemVm.CategoryId; _db.MenuItems.Add(this.MenuItemVm.MenuItem); await _db.SaveChangesAsync(); // save Image string wwwRootPath = _hostingEnv.WebRootPath; var files = HttpContext.Request.Form.Files; var menuItemFromDb = _db.MenuItems.Find(this.MenuItemVm.MenuItem.Id); if (files[0] != null && files[0].Length > 0) { //when user uploads an image var uploads = Path.Combine(wwwRootPath, "images"); var extension = files[0].FileName.Substring(files[0].FileName.LastIndexOf("."), files[0].FileName.Length - files[0].FileName.LastIndexOf(".")); using (var filestream = new FileStream(Path.Combine(uploads, this.MenuItemVm.MenuItem.Id + extension), FileMode.Create)) { files[0].CopyTo(filestream); } menuItemFromDb.Image = @"\images\" + this.MenuItemVm.MenuItem.Id + extension; } else { //when user does not upload image var uploads = Path.Combine(wwwRootPath, @"images\" + StaticDetails.DefaultFoodImageName); System.IO.File.Copy(uploads, wwwRootPath + @"\images\" + this.MenuItemVm.MenuItem.Id + ".png"); menuItemFromDb.Image = @"\images\" + this.MenuItemVm.MenuItem.Id + ".png"; } await _db.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); }
public MenuItemsController(ApplicationDbContext db, IHostingEnvironment hostingEnv) { _db = db; _hostingEnv = hostingEnv; MenuItemVm = new MenuItemVm { MenuItem = new MenuItem(), CategoryCollection = _db.Categories.Select(i => new SelectListItem { Text = i.Name, Value = i.Id.ToString() }).ToList(), // do not initialize SubCategoryCollection because we use cascade dropdown }; }
public static Page GetPage(MenuItemVm item) { switch (item.Type) { case MenuType.Carteira: return(new MainPage()); case MenuType.Proposta: return(new ListaPropostaPage()); case MenuType.Empreendimento: return(new ListaEmpreendimentoPage()); case MenuType.GravarProposta: return(new GravarPropostaPage()); case MenuType.About: return(new AboutPage()); default: return(new MainPage()); } }
private MenuItemVm Map(MenuItem menuItem) { var menuItemVm = new MenuItemVm { Id = menuItem.Id, Name = menuItem.Name, Link = menuItem.Entity == null ? menuItem.CustomLink : $"/{menuItem.Entity.Slug}" }; var childItems = menuItem.Children.OrderBy(x => x.DisplayOrder); foreach (var childItem in childItems) { var childMenuItemVm = Map(childItem); menuItemVm.AddChildItem(childMenuItemVm); } return(menuItemVm); }
public MenuItemsController(ApplicationDbContext db, IHostingEnvironment hostingEnv) { _db = db; _hostingEnv = hostingEnv; this.MenuItemVm = new MenuItemVm { //MenuItem = new MenuItem(), CategoryCollection = _db.Categories.Select(i => new SelectListItem { Text = i.Name, Value = i.Id.ToString() }).ToList(), // do not initialize SubCategoryCollection because we use cascade dropdown }; this.MenuItemVm.CategoryCollection.Insert(0, new SelectListItem { Text = "Select a Category", Value = string.Empty }); this.MenuItemVm.SubCategoryCollection.Insert(0, new SelectListItem { Text = "Select a Sub Category", Value = string.Empty }); }
private MenuItemVm Map(MenuItem menuItem, Dictionary <string, Func <long, string, string, string> > menuItemEntityTypeTranslations) { var menuItemName = menuItem.Entity == null ? _localizer.GetString(menuItem.Name) : menuItemEntityTypeTranslations[menuItem.Entity.EntityTypeId](menuItem.Entity.EntityId, nameof(menuItem.Entity.Name), menuItem.Entity.Name); var menuItemVm = new MenuItemVm { Id = menuItem.Id, Name = menuItemName, Link = menuItem.Entity == null ? menuItem.CustomLink : $"/{menuItem.Entity.Slug}" }; var childItems = menuItem.Children.OrderBy(x => x.DisplayOrder); foreach (var childItem in childItems) { var childMenuItemVm = Map(childItem, menuItemEntityTypeTranslations); menuItemVm.AddChildItem(childMenuItemVm); } return(menuItemVm); }
public async Task <IActionResult> Edit(int id, MenuItemVm vm /*, List<Category> CategoryCollection*/) { MenuItemVm.MenuItem = vm.MenuItem; MenuItemVm.MenuItem.SubCategoryId = Convert.ToInt32(Request.Form["SubCategoryId"]); MenuItemVm.MenuItem.CategoryId = Convert.ToInt32(Request.Form["CategoryId"]); //var temp = (Request.Form["Model.CategoryCollection"]).ToList(); if (id != MenuItemVm.MenuItem.Id) { return(NotFound()); } if (!ModelState.IsValid) { MenuItemVm.SubCategoryCollection = _db.SubCategories.Where(s => s.CategoryId == MenuItemVm.MenuItem.CategoryId). Select(i => new SelectListItem { Text = i.Name, Value = i.Id.ToString() }).ToList(); return(View(MenuItemVm)); } else { try { string webRootPath = _hostingEnv.WebRootPath; var files = HttpContext.Request.Form.Files; var menuItemFromDb = _db.MenuItems.Where(m => m.Id == MenuItemVm.MenuItem.Id).FirstOrDefault(); if (files[0].Length > 0 && files[0] != null) { //if user uploads a new image var uploads = Path.Combine(webRootPath, "images"); var extension_New = files[0].FileName.Substring(files[0].FileName.LastIndexOf("."), files[0].FileName.Length - files[0].FileName.LastIndexOf(".")); var extension_Old = menuItemFromDb.Image.Substring(menuItemFromDb.Image.LastIndexOf("."), menuItemFromDb.Image.Length - menuItemFromDb.Image.LastIndexOf(".")); if (System.IO.File.Exists(Path.Combine(uploads, MenuItemVm.MenuItem.Id + extension_Old))) { System.IO.File.Delete(Path.Combine(uploads, MenuItemVm.MenuItem.Id + extension_Old)); } using (var filestream = new FileStream(Path.Combine(uploads, MenuItemVm.MenuItem.Id + extension_New), FileMode.Create)) { files[0].CopyTo(filestream); } MenuItemVm.MenuItem.Image = @"\images\" + MenuItemVm.MenuItem.Id + extension_New; } menuItemFromDb.Name = MenuItemVm.MenuItem.Name; menuItemFromDb.Description = MenuItemVm.MenuItem.Description; menuItemFromDb.Price = MenuItemVm.MenuItem.Price; menuItemFromDb.SpicyType = MenuItemVm.MenuItem.SpicyType; menuItemFromDb.CategoryId = MenuItemVm.MenuItem.CategoryId; menuItemFromDb.SubCategoryId = MenuItemVm.MenuItem.SubCategoryId; if (MenuItemVm.MenuItem.Image != null) { menuItemFromDb.Image = MenuItemVm.MenuItem.Image; } await _db.SaveChangesAsync(); } catch (Exception ex) { } return(RedirectToAction(nameof(Index))); } }