// GET: MenuItemController/Create public async Task <IActionResult> Create() { var categories = await _catRepo.FindAll(); var categoryItems = categories.Select(q => new SelectListItem { Text = q.Name, Value = q.Id.ToString() }); var model = new CreateMenuItemVM { Category = categoryItems }; return(View(model)); }
public async Task <IActionResult> UpdateMenuItem([FromForm] CreateMenuItemVM menu) { try { if (menu == null) { throw new Exception("Menu object is missing"); } var menuItemPage = await _menuService.UpdateMenuItemAsync(menu); return(Ok(menuItemPage)); } catch (Exception ex) { return(BadRequest(ex.Message)); } }
public async Task <MenuItemPageVM> UpdateMenuItemAsync(CreateMenuItemVM menu) { var item = await _db.MenuItems.GetByIdAsync(menu.Id); item.Title = menu.Title; item.Info = menu.Info; item.Note = menu.Note; item.Price = menu.Price; item.PriceWithSales = menu.PriceWithSales; item.IsActive = menu.IsActive; item.MenuId = menu.MenuId; var newItem = await _db.MenuItems.UpdateAsync(item); var menu2 = _db.Menus.GetAll().FirstOrDefault(m => m.Id == menu.MenuId); var currency = menu2?.Location.Currency; return(new MenuItemPageVM(newItem, currency)); }
public async Task <IActionResult> CreateMenuItem([FromForm] CreateMenuItemVM menu) { try { if (menu == null) { throw new Exception("MenuItem object is missing"); } menu.Photo = HttpContext.Request.Form.Files[0]; var menuItemPage = await _menuService.CreateMenuItemAsync(menu); return(Ok(menuItemPage)); } catch (Exception ex) { return(BadRequest(ex.Message)); } }
public async Task <MenuItemPageVM> CreateMenuItemAsync(CreateMenuItemVM menu) { var fileId = (await _fileService.CreateFileDbAsync(menu.Photo)).Id; var dbMenu = new MenuItem { Title = menu.Title, Info = menu.Info, Note = menu.Note, Price = menu.Price, PriceWithSales = menu.PriceWithSales, IsActive = menu.IsActive, MenuId = menu.MenuId, FileModelId = fileId }; var menuNew = await _db.MenuItems.CreateAsync(dbMenu); var menu2 = _db.Menus.GetAll().FirstOrDefault(m => m.Id == menu.MenuId); var currency = menu2?.Location.Currency; var retMenu = new MenuItemPageVM(menuNew, currency); return(retMenu); }
public async Task <IActionResult> Create(CreateMenuItemVM model) { try { var categories = await _catRepo.FindAll(); var categoryItems = categories.Select(q => new SelectListItem { Text = q.Name, Value = q.Id.ToString() }); model.Category = categoryItems; if (!ModelState.IsValid) { return(View(model)); } string uniqueFileName = null; if (model.Image != null) { string uploadsFolder = Path.Combine(_webHostEnvironment.WebRootPath, "images"); uniqueFileName = Guid.NewGuid().ToString() + "_" + model.Image.FileName; string filepath = Path.Combine(uploadsFolder, uniqueFileName); using (var fileStream = new FileStream(filepath, FileMode.Create)) { model.Image.CopyTo(fileStream); } } /*var files = HttpContext.Request.Form.Files; * if (files.Count > 0) * { * byte[] p1 = null; * using(var fs1 = files[0].OpenReadStream()) * { * using(var ms1=new MemoryStream()) * { * fs1.CopyTo(ms1); * p1 = ms1.ToArray(); * } * } * model.Picture = p1; * }*/ var newMenuItem = new MenuItemVM { Name = model.Name, Description = model.Description, Spicyness = model.Spicyness, Image = uniqueFileName, CategoryId = model.CategoryId, Price = model.Price }; var obj = _mapper.Map <MenuItem>(newMenuItem); var success = await _repo.Create(obj); if (!success) { ModelState.AddModelError("", "Something went wrong with request"); return(View(model)); } return(RedirectToAction(nameof(Index))); } catch { ModelState.AddModelError("", "Something went wrong with request"); return(View(model)); } }