// GET: SnackInfoes/Edit/5 public async Task <IActionResult> Edit(int?id) { if (id == null) { return(NotFound()); } var snackInfo = await _context.SnackInfo.FindAsync(id); if (snackInfo == null) { return(NotFound()); } // Use LINQ to get list of category. IQueryable <string> categoryQuery = from m in _context.SnackCategory where m.Status == 1 orderby m.CategoryNum select m.CategoryName; SnackEditViewModel EditViewModel = new SnackEditViewModel() { SnackInfo = snackInfo, CateGorieNameList = new SelectList(categoryQuery.ToList()) }; return(View(EditViewModel)); }
public async Task <IActionResult> Edit(int id, SnackEditViewModel snackEditView) { if (id != snackEditView.SnackInfo.Id) { return(NotFound()); } //if (ModelState.IsValid) //{ if (snackEditView.PushFile != null) { string file_name = $"{snackEditView.SnackInfo.SnackNum}_{DateTime.Now.ToString("yyyymmddHHmmss")}.jpg"; using (var fileStream = new FileStream(Path.Combine(_dir, file_name), FileMode.Create, FileAccess.Write)) { snackEditView.PushFile.CopyTo(fileStream); } snackEditView.SnackInfo.ImgUrl = relative_path + file_name; } try { long category_id = _context.SnackCategory.FirstOrDefault(c => c.CategoryName == snackEditView.CategoryName).CategoryNum; snackEditView.SnackInfo.CategoryId = category_id; if (snackEditView.SnackInfo.ImgUrl == null) { snackEditView.SnackInfo.ImgUrl = _context.SnackInfo.AsNoTracking().FirstOrDefault(s => s.Id == snackEditView.SnackInfo.Id).ImgUrl; } _context.Update(snackEditView.SnackInfo); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!SnackInfoExists(snackEditView.SnackInfo.Id)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); //} }