コード例 #1
0
        // 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));
        }
コード例 #2
0
        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));
            }
        }
コード例 #3
0
        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));
        }
コード例 #4
0
        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));
            }
        }
コード例 #5
0
        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);
        }
コード例 #6
0
        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));
            }
        }