public async Task <IActionResult> Details(int?id) { if (id == null) { return(NotFound()); } WineDetailsViewModel viewModel = new WineDetailsViewModel(); var wine = await _context.Wine .Include(w => w.Winery) .Include(w => w.Variety) .FirstOrDefaultAsync(m => m.WineId == id); if (wine == null) { return(NotFound()); } var foods = await _context.Food .Include(f => f.FoodCategory) .ThenInclude(fc => fc.Category) .ThenInclude(c => c.Variety) .ThenInclude(v => v.Wines) .Where(f => f.FoodCategory.Any(fc => fc.CategoryId == wine.Variety.CategoryId)) .ToListAsync() ; viewModel.Wine = wine; viewModel.Foods = foods; return(View(viewModel)); }
public async Task <IActionResult> Details(string id) { //to get the wine data // var wineServiceModel = await this.winesService.GetWineDetails(id); WineDetailsViewModel wineDetailsViewModel = new WineDetailsViewModel { Id = wineServiceModel.Id, Name = wineServiceModel.Name, Type = wineServiceModel.Type, Picture = wineServiceModel.Picture, Description = wineServiceModel.Description, Country = wineServiceModel.Country, Colour = wineServiceModel.Colour, Year = wineServiceModel.Year, Price = wineServiceModel.Price, Likes = wineServiceModel.Likes }; //var wine = this.winesService.GetWineDetails(id); //to pass it to the view in viewModel return(this.View(wineDetailsViewModel)); }
public async Task <IActionResult> Edit(int id, Wine wine) { if (id != wine.WineId) { return(NotFound()); } var user = await GetCurrentUserAsync(); if (ModelState.IsValid) { try { wine.ApplicationUserId = user.Id; _context.Update(wine); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!WineExists(wine.WineId)) { return(NotFound()); } else { throw; } } WineDetailsViewModel viewModel = new WineDetailsViewModel(); var updatedWine = await _context.Wine .Include(w => w.Winery) .Include(w => w.Variety) .FirstOrDefaultAsync(m => m.WineId == id); if (wine == null) { return(NotFound()); } var foods = await _context.Food .Include(f => f.FoodCategory) .ThenInclude(fc => fc.Category) .ThenInclude(c => c.Variety) .ThenInclude(v => v.Wines) .Where(f => f.FoodCategory.Any(fc => fc.CategoryId == updatedWine.Variety.CategoryId)) .ToListAsync() ; viewModel.Wine = updatedWine; viewModel.Foods = foods; return(View("Details", viewModel)); } ViewData["ApplicationUserId"] = new SelectList(_context.ApplicationUsers, "Id", "Id", wine.ApplicationUserId); return(View(wine)); }
protected override void OnNavigatedTo(NavigationEventArgs e) { if (DataContext == null) { string selectedIndex = ""; if (NavigationContext.QueryString.TryGetValue("selectedItem", out selectedIndex)) { int index = int.Parse(selectedIndex); _viewModel = IoCContainer.Get <WineDetailsViewModel>(); _viewModel.SelectWine(index); DataContext = _viewModel; } } }
public SaveWinePage() { InitializeComponent(); buildLocalizedApplicationBar(); _viewModel = IoCContainer.Get <WineDetailsViewModel>(); }