// To protect from overposting attacks, please enable the specific properties you want to bind to, for // more details see https://aka.ms/RazorPagesCRUD. public async Task <IActionResult> OnPostAsync() { var emptyDrink = new Drink(); if (await TryUpdateModelAsync <Drink>( emptyDrink, "drink", s => s.DrinkID, s => s.DrinkCategoryID, s => s.Name, s => s.Size)) { _context.Drinks.Add(emptyDrink); await _context.SaveChangesAsync(); return(RedirectToPage("./Index")); } // Select DrinkCategoryID if TryUpdateModelAsync fails... PopulateDrinksDropDownList(_context, emptyDrink.DrinkCategoryID); return(Page()); /* if (!ModelState.IsValid) //Before updating related Data.... * { * return Page(); * } * * _context.Drinks.Add(Drink); * await _context.SaveChangesAsync(); * * return RedirectToPage("./Index");*/ }
public async Task <IActionResult> OnPostAsync(int?id) { try { if (await _context.DrinkCategories.AnyAsync( m => m.DrinkCategoryID == id)) { // DrinkCategory.rowVersion value is from when the entity was fetched. // If it doesn't match the DB, a DbUpdateConcurrencyException is thrown. _context.DrinkCategories.Remove(DrinkCategory); await _context.SaveChangesAsync(); } return(RedirectToPage("./Index")); } catch (DbUpdateConcurrencyException) { return(RedirectToPage("./Delete", new { concurrencyError = true, id = id })); } /* if (id == null) * { * return NotFound(); * } * * DrinkCategory = await _context.DrinkCategories.FindAsync(id); * * if (DrinkCategory != null) * { * _context.DrinkCategories.Remove(DrinkCategory); * await _context.SaveChangesAsync(); * } * * return RedirectToPage("./Index");*/ }
public async Task <IActionResult> OnPostAsync(int?id) { if (id == null) { return(NotFound()); } Company company = await _context.Companies .Include(i => i.DrinkAssignments) .SingleAsync(i => i.CompanyID == id); if (company == null) { return(RedirectToPage("./Index")); } var drinkCategories = await _context.DrinkCategories .Where(d => d.CompanyID == id) .ToListAsync(); drinkCategories.ForEach(d => d.CompanyID = null); _context.Companies.Remove(company); await _context.SaveChangesAsync(); /*Company = await _context.Companies.FindAsync(id); * * if (Company != null) * { * _context.Companies.Remove(Company); * await _context.SaveChangesAsync(); * }*/ return(RedirectToPage("./Index")); }
// To protect from overposting attacks, please enable the specific properties you want to bind to, for // more details see https://aka.ms/RazorPagesCRUD. public async Task <IActionResult> OnPostAsync() { /*if (!ModelState.IsValid) * { * return Page(); * } * * _context.Foods.Add(Food); * await _context.SaveChangesAsync(); * * return RedirectToPage("./Index");*/ var emptyFood = new Food(); if (await TryUpdateModelAsync <Food> ( emptyFood, "food", f => f.Name, f => f.ExpirationDate)) { _context.Foods.Add(emptyFood); await _context.SaveChangesAsync(); return(RedirectToPage("./Index")); } return(Page()); }
// To protect from overposting attacks, please enable the specific properties you want to bind to, for // more details see https://aka.ms/RazorPagesCRUD. public async Task <IActionResult> OnPostAsync(int?id) { /*if (!ModelState.IsValid) // Before using updated related DATA * { * return Page(); * } * * _context.Attach(Drink).State = EntityState.Modified; * * try * { * await _context.SaveChangesAsync(); * } * catch (DbUpdateConcurrencyException) * { * if (!DrinkExists(Drink.DrinkID)) * { * return NotFound(); * } * else * { * throw; * } * } * * return RedirectToPage("./Index");*/ if (id == null) { return(NotFound()); } var drinkToUpdate = await _context.Drinks.FindAsync(id); if (drinkToUpdate == null) { return(NotFound()); } if (await TryUpdateModelAsync <Drink> ( drinkToUpdate, "drink", d => d.Size, d => d.DrinkCategoryID, d => d.Name)) { await _context.SaveChangesAsync(); return(RedirectToPage("./Index")); } //Select DrinkCategoryID if TryUpdateModelAsync fails. PopulateDrinksDropDownList(_context, drinkToUpdate.DrinkCategoryID); return(Page()); }
// To protect from overposting attacks, please enable the specific properties you want to bind to, for // more details see https://aka.ms/RazorPagesCRUD. public async Task <IActionResult> OnPostAsync() { if (!ModelState.IsValid) { return(Page()); } _context.DrinkCategories.Add(DrinkCategory); await _context.SaveChangesAsync(); return(RedirectToPage("./Index")); }
// To protect from overposting attacks, please enable the specific properties you want to bind to, for // more details see https://aka.ms/RazorPagesCRUD. public async Task <IActionResult> OnPostAsync(int id) { var foodToUpdate = await _context.Foods.FindAsync(id); if (foodToUpdate == null) { return(NotFound()); } if (await TryUpdateModelAsync <Food> ( foodToUpdate, "food", f => f.Name, f => f.ExpirationDate)) { await _context.SaveChangesAsync(); return(RedirectToPage("./Index")); } return(Page()); /* * if (!ModelState.IsValid) * { * return Page(); * } * * _context.Attach(Food).State = EntityState.Modified; * * try * { * await _context.SaveChangesAsync(); * } * catch (DbUpdateConcurrencyException) * { * if (!FoodExists(Food.FoodID)) * { * return NotFound(); * } * else * { * throw; * } * } * * return RedirectToPage("./Index"); */ }
public async Task <IActionResult> OnPostAsync(int?id) { if (id == null) { return(NotFound()); } Drink = await _context.Drinks.FindAsync(id); if (Drink != null) { _context.Drinks.Remove(Drink); await _context.SaveChangesAsync(); } return(RedirectToPage("./Index")); }
// To protect from overposting attacks, please enable the specific properties you want to bind to, for // more details see https://aka.ms/RazorPagesCRUD. public async Task <IActionResult> OnPostAsync(string[] selectedDrinks) { var newCompany = new Company(); if (selectedDrinks != null) { newCompany.DrinkAssignments = new List <DrinkAssignment>(); foreach (var drink in selectedDrinks) { var drinkToAdd = new DrinkAssignment { DrinkID = int.Parse(drink) }; newCompany.DrinkAssignments.Add(drinkToAdd); } } if (await TryUpdateModelAsync <Company> ( newCompany, "Company", i => i.Name, i => i.FoundedDate, i => i.CompanyHQ)) { _context.Companies.Add(newCompany); await _context.SaveChangesAsync(); return(RedirectToPage("./Index")); } PopulateAssignedDrinkData(_context, newCompany); return(Page()); /* if (!ModelState.IsValid) * { * return Page(); * } * * _context.Companies.Add(Company); * await _context.SaveChangesAsync(); * * return RedirectToPage("./Index");*/ }
public async Task<IActionResult> OnPostAsync(int? id) { if (id == null) { return NotFound(); } var food = await _context.Foods.FindAsync(id); if(food == null) { return NotFound(); } try { _context.Foods.Remove(food); await _context.SaveChangesAsync(); return RedirectToPage("./Index"); } catch (DbUpdateException) { //Log the error(uncomment ex variable name and write a log.) return RedirectToAction("./Delete", new { id, saveChangesError = true }); } /*Food = await _context.Foods.FindAsync(id); if (Food != null) { _context.Foods.Remove(Food); await _context.SaveChangesAsync(); } return RedirectToPage("./Index");*/ }
// To protect from overposting attacks, please enable the specific properties you want to bind to, for // more details see https://aka.ms/RazorPagesCRUD. public async Task <IActionResult> OnPostAsync(int?id, string[] selectedDrinks) { if (id == null) { return(NotFound()); } var companyToUpdate = await _context.Companies .Include(i => i.CompanyHQ) .Include(i => i.DrinkAssignments) .ThenInclude(i => i.Drink) .FirstOrDefaultAsync(s => s.CompanyID == id); if (companyToUpdate == null) { return(NotFound()); } if (await TryUpdateModelAsync <Company>( companyToUpdate, "Company", i => i.Name, i => i.FoundedDate, i => i.CompanyHQ)) { if (String.IsNullOrWhiteSpace( companyToUpdate.CompanyHQ?.Location)) { companyToUpdate.CompanyHQ = null; } UpdateCompanyDrinks(_context, selectedDrinks, companyToUpdate); await _context.SaveChangesAsync(); return(RedirectToPage("./Index")); } UpdateCompanyDrinks(_context, selectedDrinks, companyToUpdate); PopulateAssignedDrinkData(_context, companyToUpdate); return(Page()); }
// To protect from overposting attacks, please enable the specific properties you want to bind to, for // more details see https://aka.ms/RazorPagesCRUD. public async Task <IActionResult> OnPostAsync(int id) { if (!ModelState.IsValid) { return(Page()); } var drinkCategoryToUpdate = await _context.DrinkCategories .Include(i => i.CompanyHead) .FirstOrDefaultAsync(m => m.DrinkCategoryID == id); if (drinkCategoryToUpdate == null) { return(HandleDeletedDrinkCategory()); } _context.Entry(drinkCategoryToUpdate) .Property("RowVersion") .OriginalValue = DrinkCategory.RowVersion; if (await TryUpdateModelAsync <DrinkCategory>( drinkCategoryToUpdate, "Drink Category", s => s.Name, s => s.Alcoholic, s => s.MinProductionCost, s => s.CompanyID)) { try { await _context.SaveChangesAsync(); return(RedirectToPage("./Index")); } catch (DbUpdateConcurrencyException ex) { var exceptionEntry = ex.Entries.Single(); var clientValues = (DrinkCategory)exceptionEntry.Entity; var databaseEntry = exceptionEntry.GetDatabaseValues(); if (databaseEntry == null) { ModelState.AddModelError(string.Empty, "Unable to save. " + "The department was deleted by another user."); return(Page()); } var dbValues = (DrinkCategory)databaseEntry.ToObject(); await setDbErrorMessage(dbValues, clientValues, _context); //Save the current RowVersion so next postback matched unless an new concurrency issue happens. DrinkCategory.RowVersion = (byte[])dbValues.RowVersion; //Clear the model error for the next postback. ModelState.Remove("Department.RowVersion"); } } CompanyNameSL = new SelectList(_context.Companies, "ID", "Name", drinkCategoryToUpdate.CompanyID); return(Page()); /*_context.Attach(DrinkCategory).State = EntityState.Modified; // before Concurrency implementation * * try * { * await _context.SaveChangesAsync(); * } * catch (DbUpdateConcurrencyException) * { * if (!DrinkCategoryExists(DrinkCategory.DrinkCategoryID)) * { * return NotFound(); * } * else * { * throw; * } * } * * return RedirectToPage("./Index");*/ }