Esempio n. 1
0
        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"));
        }
Esempio n. 2
0
        //[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"));
        }
Esempio n. 3
0
        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));
        }