public IActionResult GetMenu(int weekNumber, int dayOfWeek) { try { var data = _baseRepo.GetAll <Menu>(x => x.Include(y => y.MenuDetails).ThenInclude(d => d.Product) .Include(y => y.MenuDetails).ThenInclude(d => d.Unit) , y => y.Active == true && y.WeekNumber == weekNumber && y.DayOfWeek == (DayOfWeek)dayOfWeek).ToList().GroupBy(x => x.WeekNumber).ToList(); var result = new List <WeekMenuModel>(); data.ForEach(d => { WeekMenuModel model = new WeekMenuModel() { WeekNumber = d.Key, Days = d.GroupBy(x => x.DayOfWeek).ToList().Select(x => new DayMenuModel() { DayOfWeek = x.Key, MenuDetails = d.Select(j => j.MenuDetails).SelectMany(r => r).ToList() }).ToList() }; result.Add(model); }); return(Ok(new { Id = 0, Status = 0, data = result })); } catch (Exception ex) { return(Ok(new { status = -1, message = ex.Message })); } }
public ActionResult MenuCalendar(int id = 0) { ViewBag.Index = id; var model = new WeekMenuModel(); var date = DateTime.Today.AddDays(id * 7); var menuBiz = new MenuBiz(); var foodBiz = new FoodBiz(); var menus = menuBiz.GetWeekMenu(date); var primaryFoods = foodBiz.GetPrimaryFoods(); var secondaryFoods = foodBiz.GetSecondaryFoods(); model.Menus = menus; model.PrimaryFoods = primaryFoods; model.SecondaryFoods = secondaryFoods; return(View(model)); }