コード例 #1
0
        public async Task <IViewComponentResult> InvokeAsync(DayMenu day)
        {
            //  daydate = DateTime.Now;
            //var cid = this.User.GetCompanyID();
            //return View(_daydishrepo.DishesPerDay(daydate).ToList());
            DateTime daydate = day.Date;

            ViewData["AllowEdit"] = _udaydishrepo.IsAllowDayEdit(daydate, this.User.GetCompanyID()) && _udaydishrepo.GetConfrimedAdmin(this.User.GetUserId())
                                    /*&& _udaydishrepo.IsBalancePositive(this.User.GetUserId())*/;
            ViewData["AllowAdmin"] = _udaydishrepo.GetConfrimedAdmin(this.User.GetUserId());
            //to do check balance
            //ViewData["PositiveBalance"] = _udaydishrepo.IsBalancePositive(this.User.GetUserId());
            IQueryable <UserDayComplexViewModel> complexes;
            string viewName = "Default";

            if ((_udaydishrepo.GetCompanyOrderType(this.User.GetCompanyID()) & OrderTypeEnum.OneComplexType) > 0)
            {
                complexes = _udaydishrepo.AvaibleComplexDay(daydate, this.User.GetUserId(), this.User.GetCompanyID());
                viewName  = "OneDayComplex";
            }
            else
            {
                complexes = _udaydishrepo.AllComplexDay(daydate, this.User.GetUserId(), this.User.GetCompanyID());
            }
            if (day.DishKind != 0)
            {
                complexes = complexes.Where(com => com.DishKindId == day.DishKind);
            }
            if (day.Category != 0)
            {
                complexes = complexes.Where(com => com.ComplexCategoryId == day.Category);
            }
            if (day.Categories != null && day.Categories.Count > 0)
            {
                complexes = complexes.Where(com => day.Categories.Contains(com.ComplexCategoryId));
            }
            complexes = complexes.OrderBy(com => com.ComplexCategoryCode);
            return(await Task.FromResult((IViewComponentResult)View(viewName, complexes)));

            //return await Task.FromResult((IViewComponentResult)View("Default", _udaydishrepo.ComplexPerDay(daydate, this.User.GetUserId(), this.User.GetCompanyID())));
            // return await Task.FromResult((IViewComponentResult)View("Default", _udaydishrepo.AvaibleComplexDay(daydate, this.User.GetUserId(), this.User.GetCompanyID())));
        }