public async Task <IActionResult> EditMainCourse([FromBody] MainCourseInfo mainCourseInfo) { string emailAddress = HttpContext.User.Identity.Name; var restaurant = await _context.Restaurant .Where(rest => rest.EmailAddress.Equals(emailAddress)) .FirstOrDefaultAsync(); string mainCourseName = Request.Headers["mainCourseName"]; MainCourse mainCourseToUpdate = await _context.MainCourse .Where(d => d.Name.Equals(mainCourseName)) .FirstOrDefaultAsync(); mainCourseToUpdate.Name = mainCourseInfo.Name; mainCourseToUpdate.Price = mainCourseInfo.Price; mainCourseToUpdate.Description = mainCourseInfo.Description; mainCourseToUpdate.HouseSpecial = mainCourseInfo.HouseSpecial; if (ModelState.IsValid) { try { _context.Update(mainCourseToUpdate); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { throw; } } HttpContext.Response.StatusCode = 200; return(new JsonResult("MainCourse successfully updated")); }
//[ValidateAntiForgeryToken] public async Task <JsonResult> CreateMainCourse([FromBody] MainCourseInfo mainCourseInfo) { string emailAddress = HttpContext.User.Identity.Name; var restaurant = await _context.Restaurant .Where(rest => rest.EmailAddress.Equals(emailAddress)) .FirstOrDefaultAsync(); if (checkMainCourseNameInSameRestaurant(mainCourseInfo.Name, restaurant.Id)) { HttpContext.Response.StatusCode = 400; return(new JsonResult("MainCourse " + mainCourseInfo.Name + " already exists in restaurant")); } MainCourse newMainCourse = new MainCourse { Name = mainCourseInfo.Name, Description = mainCourseInfo.Description, Price = mainCourseInfo.Price, HouseSpecial = mainCourseInfo.HouseSpecial }; if (ModelState.IsValid) { newMainCourse.RestaurantId = restaurant.Id; _context.Add(newMainCourse); await _context.SaveChangesAsync(); //return RedirectToAction(nameof(Index), new { id = id }); } HttpContext.Response.StatusCode = 200; return(new JsonResult("MainCourse successfully created")); }
public async Task <JsonResult> MainCourses() { string emailAddress = HttpContext.User.Identity.Name; var restaurant = await _context.Restaurant .Where(rest => rest.EmailAddress.Equals(emailAddress)) .FirstOrDefaultAsync(); List <MainCourseInfo> mainCoursesToReturn = new List <MainCourseInfo>(); List <MainCourse> restaurantMainCoursees = await _context.MainCourse .Where(d => d.RestaurantId == restaurant.Id) .ToListAsync(); // add mainCourse to mainCourse representation model class foreach (MainCourse mainCourse in restaurantMainCoursees) { MainCourseInfo mainCourseInfo = new MainCourseInfo(mainCourse.Name, mainCourse.Price, mainCourse.Description, mainCourse.HouseSpecial); mainCoursesToReturn.Add(mainCourseInfo); } return(new JsonResult(mainCoursesToReturn)); }