public async Task <IActionResult> EditAppetizer([FromBody] AppetizerInfo appetizerInfo) { string emailAddress = HttpContext.User.Identity.Name; var restaurant = await _context.Restaurant .Where(rest => rest.EmailAddress.Equals(emailAddress)) .FirstOrDefaultAsync(); string appetizerName = Request.Headers["appetizerName"]; Appetizer appetizerToUpdate = await _context.Appetizer .Where(d => d.Name.Equals(appetizerName)) .FirstOrDefaultAsync(); appetizerToUpdate.Name = appetizerInfo.Name; appetizerToUpdate.Price = appetizerInfo.Price; appetizerToUpdate.Description = appetizerInfo.Description; appetizerToUpdate.HouseSpecial = appetizerInfo.HouseSpecial; if (ModelState.IsValid) { try { _context.Update(appetizerToUpdate); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { throw; } } HttpContext.Response.StatusCode = 200; return(new JsonResult("Appetizer successfully updated")); }
//[ValidateAntiForgeryToken] public async Task <JsonResult> CreateAppetizer([FromBody] AppetizerInfo appetiezerInfo) { string emailAddress = HttpContext.User.Identity.Name; var restaurant = await _context.Restaurant .Where(rest => rest.EmailAddress.Equals(emailAddress)) .FirstOrDefaultAsync(); if (checkAppetizerNameInSameRestaurant(appetiezerInfo.Name, restaurant.Id)) { HttpContext.Response.StatusCode = 400; return(new JsonResult("Appetiezer " + appetiezerInfo.Name + " already exists in restaurant")); } Appetizer newAppetizer = new Appetizer { Name = appetiezerInfo.Name, Description = appetiezerInfo.Description, Price = appetiezerInfo.Price, HouseSpecial = appetiezerInfo.HouseSpecial }; if (ModelState.IsValid) { newAppetizer.RestaurantId = restaurant.Id; _context.Add(newAppetizer); await _context.SaveChangesAsync(); //return RedirectToAction(nameof(Index), new { id = id }); } HttpContext.Response.StatusCode = 200; return(new JsonResult("Appetizer successfully created")); }
public async Task <JsonResult> Appetiezers() { string emailAddress = HttpContext.User.Identity.Name; var restaurant = await _context.Restaurant .Where(rest => rest.EmailAddress.Equals(emailAddress)) .FirstOrDefaultAsync(); List <AppetizerInfo> appetiezersToReturn = new List <AppetizerInfo>(); List <Appetizer> restaurantAppetizers = await _context.Appetizer .Where(d => d.RestaurantId == restaurant.Id) .ToListAsync(); foreach (Appetizer appetizer in restaurantAppetizers) { AppetizerInfo appetizerInfo = new AppetizerInfo(appetizer.Name, appetizer.Price, appetizer.Description, appetizer.HouseSpecial); appetiezersToReturn.Add(appetizerInfo); } return(new JsonResult(appetiezersToReturn)); }