public ActionResult UpdateWine(WineViewModel model) { Wine wine = _wineRepository.GetByID(model.WineID); if (wine == null) { return(Json(new { success = false, message = "No item found" })); } wine.Name = model.Name; wine.RegionID = model.RegionID; wine.CountryID = model.CountryID; wine.BottleSizeID = model.BottleSizeID; wine.Description = model.Description; wine.Vintage = model.Vintage; wine.Price = model.Price; wine.WineID = model.WineID; wine.SubTypeID = model.SubTypeID; wine.TypeID = model.TypeID; if (model.File != null && model.File.ContentLength > 0) { var uploadDir = "~/Content/img/uploads"; var imagePath = Path.Combine(Server.MapPath(uploadDir), model.File.FileName); var imageUrl = Path.Combine(uploadDir, model.File.FileName); model.File.SaveAs(imagePath); wine.ImagePath = imageUrl; } _wineRepository.Update(wine); //return Json(new { success = true }, JsonRequestBehavior.AllowGet); return(RedirectToAction("Index")); }
public ActionResult Details(int id) { var wine = _wineRepository.GetByID(id); if (wine == null) { return(Content("This wine does not exist")); } WineViewModel model = new WineViewModel() { CountryID = wine.CountryID, RegionID = wine.RegionID, TypeID = wine.TypeID, WineID = wine.WineID, Vintage = wine.Vintage, Name = wine.Name, Description = wine.Description, ImagePath = wine.ImagePath, BottleSizeID = wine.BottleSizeID, Types = wine.Types.TypeName, Price = wine.Price, RegionName = wine.Regions.RegionName, CountryName = wine.Countrys.CountryName, SubTypes = wine.SubTypes.SubTypeName }; return(View(model)); }
public IActionResult ViewWine(int id) { // Get wine from database by ID Wine wine = context.Wines.SingleOrDefault(w => w.ID == id); WineViewModel viewWine = new WineViewModel { WineID = wine.ID, Name = wine.Name, Description = wine.Description, Notes = wine.Notes, Winery = context.Wineries.Single(w => w.ID == wine.WineryID), Type = context.WineTypes.Single(t => t.ID == wine.TypeID), Rating = wine.Rating, Count = wine.Count, InStock = wine.InStock }; viewWine.RatingTxt = Enum.GetName(typeof(WineRatings), viewWine.Rating); TryValidateModel(viewWine); if (ModelState.IsValid) { return(View(viewWine)); } return(Redirect("/Wine")); }
public async Task <IActionResult> Edit([Bind("ID, Name, Description, Price, Sparkling, RegionId")] WineViewModel updEntry) { try { if (!ModelState.IsValid || updEntry == null) { return(BadRequest()); } var findWine = await _wineService.GetWineById(updEntry.ID); findWine.ID = updEntry.ID; findWine.Name = updEntry.Name; findWine.RegionId = updEntry.RegionId; findWine.Description = updEntry.Description; findWine.Price = updEntry.Price; findWine.Sparkling = updEntry.Sparkling; await _wineService.UpdateWineById(findWine); } catch (WebException) { return(View()); } return(RedirectToAction("Index", "wines")); }
public IActionResult GetWinebyId(int?id) { try { if (id == null) { return(BadRequest()); } var wineModel = _context.Wines.Where(x => x.ID == id).FirstOrDefault(); var wineResponse = new WineViewModel() { ID = wineModel.ID, Name = wineModel.Name, Description = wineModel.Description, Price = wineModel.Price, Sparkling = wineModel.Sparkling, RegionId = wineModel.RegionId }; if (wineResponse == null) { throw new ItemNotFoundExceptions("The id was not found"); } return(Ok(wineResponse)); } catch (Exception ex) { Trace.TraceError(ex.Message); return(BadRequest()); } }
public ActionResult Create(WineViewModel model) { var validImageTypes = new string[] { "image/gif", "image/jpeg", "image/pjpeg", "image/png" }; if (model.File == null || model.File.ContentLength == 0) { ModelState.AddModelError("File", "This field is required"); } else if (!validImageTypes.Contains(model.File.ContentType)) { ModelState.AddModelError("ImageUpload", "Please choose either a GIF, JPG or PNG image."); } if (ModelState.IsValid) { var wine = new Wine { WineID = model.WineID, TypeID = model.TypeID, SubTypeID = model.SubTypeID, RegionID = model.RegionID, CountryID = model.CountryID, BottleSizeID = model.BottleSizeID, Vintage = model.Vintage, Name = model.Name, Description = model.Description, Price = model.Price }; if (model.File != null && model.File.ContentLength > 0) { var uploadDir = "~/Content/img/uploads"; var imagePath = Path.Combine(Server.MapPath(uploadDir), model.File.FileName); var imageUrl = Path.Combine(uploadDir, model.File.FileName); model.File.SaveAs(imagePath); wine.ImagePath = imageUrl; } _wineRepository.Insert(wine); return(RedirectToAction("Index")); } return(View(model)); }
public ActionResult Create() { var model = new WineViewModel(); model.TypesList = _typesRepository.GetTypes(); model.SubTypesList = _subTypeRepository.GetAll(); model.BottleSizeList = _bottleSizeRepository.GetAll(); model.RegionList = _regionRepository.GetAll(); model.CountryList = db.Countries.ToList(); return(View(model)); }
public IActionResult AddWine([FromBody] WineViewModel model) { try { if (!ModelState.IsValid) { return(BadRequest()); } if (model == null) { return(BadRequest()); } var addNewWine = new Wine.Data.Wine() { // Id not added because the DB will generate it automatically Name = model.Name, Description = model.Description, Price = model.Price, Sparkling = model.Sparkling, RegionId = model.RegionId }; if (addNewWine != null) { _context.Add(addNewWine); _context.SaveChanges(); } var response = new WineViewModel() { ID = addNewWine.ID, Name = addNewWine.Name, Description = addNewWine.Description, Price = addNewWine.Price, Sparkling = addNewWine.Sparkling, RegionId = addNewWine.RegionId }; return(Ok(response)); } catch (Exception ex) { Trace.TraceError(ex.Message); return(BadRequest()); } }
public async Task <IActionResult> DeleteWineById([Bind("ID")] WineViewModel wineModel) { try { var findWine = await _wineService.GetWineById(wineModel.ID); await _wineService.DeleteWineById(findWine.ID); } catch (WebException) { return(View()); } return(RedirectToAction("Index", "wines")); }
public ActionResult EditWine(int id) { WineViewModel model; var wine = _wineRepository.GetByID(id); if (wine == null) { return(Json(new { success = false, message = "No item found" })); } model = new WineViewModel(wine); model.TypesList = _typesRepository.GetTypes(); model.SubTypesList = _subTypeRepository.GetAll(); model.BottleSizeList = _bottleSizeRepository.GetAll(); model.RegionList = _regionRepository.GetAll(); model.CountryList = db.Countries.ToList(); return(View(model)); }
public IActionResult Edit(int id) { Wine editWine = context.Wines.SingleOrDefault(w => w.ID == id); WineViewModel wine = new WineViewModel(context.Wineries.ToList(), context.WineTypes.ToList()) { WineID = editWine.ID, Name = editWine.Name, Description = editWine.Description, Notes = editWine.Notes, Winery = context.Wineries.Single(wn => wn.ID == editWine.WineryID), Type = context.WineTypes.Single(t => t.ID == editWine.TypeID), Rating = editWine.Rating, Count = editWine.Count, InStock = editWine.InStock }; return(View(wine)); }
public IActionResult UpdateWine([FromBody] WineViewModel updModel) { try { if (!ModelState.IsValid || updModel == null) { return(BadRequest()); } // mapping 1 var wine = _context.Wines.Where(x => x.ID == updModel.ID).FirstOrDefault(); if (wine != null) { wine.Name = updModel.Name; wine.Description = updModel.Description; wine.Price = updModel.Price; wine.Sparkling = updModel.Sparkling; wine.RegionId = updModel.RegionId; _context.Update(wine); _context.SaveChanges(); } var updResponse = new WineViewModel() { ID = wine.ID, Name = wine.Name, Description = wine.Description, Price = wine.Price, Sparkling = wine.Sparkling, RegionId = wine.RegionId }; return(Ok(updResponse)); } catch (Exception ex) { Trace.TraceError(ex.Message); return(BadRequest()); } }
public IActionResult Edit(WineViewModel editedWine) { if (ModelState.IsValid) { Wine wine = context.Wines.SingleOrDefault(w => w.ID == editedWine.WineID); if (wine != null) { wine.Name = editedWine.Name; wine.Description = editedWine.Description; wine.Notes = editedWine.Notes; wine.WineryID = editedWine.WineryID; wine.TypeID = editedWine.TypeID; wine.Rating = editedWine.Rating; context.SaveChanges(); } return(Redirect("/Wine/ViewWine/" + wine.ID)); } return(View(editedWine)); }
public async Task <IActionResult> Delete(int id) { try { var findWine = await _wineService.GetWineById(id); var output = new WineViewModel { ID = findWine.ID, Name = findWine.Name, RegionId = findWine.RegionId, Description = findWine.Description, Price = findWine.Price, Sparkling = findWine.Sparkling }; return(View(output)); } catch (WebException) { return(View()); } }
public IActionResult Add(WineViewModel newWineModel) { if (ModelState.IsValid) { Wine newWine = new Wine { Name = newWineModel.Name, Description = newWineModel.Description, Notes = newWineModel.Notes, Rating = newWineModel.Rating, WineryID = newWineModel.WineryID, TypeID = newWineModel.TypeID, InStock = false }; context.Wines.Add(newWine); context.SaveChanges(); return(Redirect("/Wine/ViewAll")); } return(View(newWineModel)); }
public async Task <IActionResult> AddWine([Bind("ID, Name, Description, Price, Sparkling, RegionId")] WineViewModel newEntry) { try { if (!ModelState.IsValid || newEntry == null) { return(BadRequest()); } var addWine = new WineModel { Name = newEntry.Name, RegionId = newEntry.RegionId, Description = newEntry.Description, Price = newEntry.Price, Sparkling = newEntry.Sparkling }; await _wineService.AddNewWine(addWine); var output = new WineViewModel { ID = addWine.ID, Name = addWine.Name, RegionId = addWine.RegionId, Description = addWine.Description, Price = addWine.Price, Sparkling = addWine.Sparkling }; } catch (WebException) { return(View()); } return(RedirectToAction("Index", "wines")); }