Ejemplo n.º 1
0
        public IActionResult Index(IndexVM param)
        {
            //mapping
            GetMenuRequest request = new GetMenuRequest()
            {
                CH                 = param.CarboHydrate,
                Protein            = param.Protein,
                Fat                = param.Fat,
                CHFlexibility      = param.CarboHydrateFlexibility,
                ProteinFlexibility = param.ProteinFlexibility,
                FatFlexibility     = param.FatFlexibility,
                IsMenuIncluded     = false,
                Day                = DayOfWeek.Tuesday,
                CategoryFilters    = param.SelectedCategoryFilters // new List<CategoriesFilter>()
                                                                   //{
                                                                   //    new CategoriesFilter()
                                                                   //    {
                                                                   //        AmountAtLeast = 2,
                                                                   //        Category = Categories.Soup
                                                                   //    }
                                                                   //}
            };

            //Use DI
            MenuGeneratorService menuGenerator          = new MenuGeneratorService();
            List <IEnumerable <ProductWrapper> > result = menuGenerator.GetMenu(request);

            param.Menus = result;
            return(View(param));
        }
Ejemplo n.º 2
0
        public List <IEnumerable <ProductWrapper> > GetMenu(GetMenuRequest request)
        {
            List <ProductWrapper> products = ServiceHelpers.GetAllProductFromXml().Where(x => x.Day == request.Day.ToString()).ToList();
            var result = MenuCalculator.CalculateMenu(products, request);

            return(result);
        }
Ejemplo n.º 3
0
        /// <summary>
        /// 取得菜单
        /// </summary>
        /// <returns></returns>
        public static List <Button> GetMenu()
        {
            //取得菜单信息
            IMpClient             mpClient = new MpClient();
            AccessTokenGetRequest request  = new AccessTokenGetRequest()
            {
                AppIdInfo = new AppIdInfo()
                {
                    AppID = appId, AppSecret = appSecret
                }
            };
            AccessTokenGetResponse response = mpClient.Execute(request);

            if (response.IsError)
            {
                return(null);
            }
            else
            {
                GetMenuRequest getRequest = new GetMenuRequest()
                {
                    AccessToken = response.AccessToken.AccessToken
                };
                var getResponse = mpClient.Execute(getRequest);
                if (getResponse.IsError)
                {
                    return(null);
                }
                else
                {
                    var m = getResponse.Menu.menu.button;
                    return(m);
                }
            }
        }
Ejemplo n.º 4
0
        public void Then_The_Url_Is_Correctly_Built(string menuType)
        {
            //Act
            var actual = new GetMenuRequest(menuType);

            //Assert
            actual.GetUrl.Should().Be($"entries?content_type=navigationMenu&fields.type={menuType}");
        }
Ejemplo n.º 5
0
        public void GetMenu()
        {
            var request = new GetMenuRequest();
            var rtn     = _smartWeChatRequest.Execute(request).Result;

            Assert.Equal(0, rtn.ErrorCode);
            Assert.Equal(2, rtn.Menu.Button.Count());
        }
Ejemplo n.º 6
0
        public ListResponse <Menu> GetMenu(GetMenuRequest request)
        {
            var menus = _filterQuery(request);

            var displayData = menus.Skip((request.Page - 1) * request.PageSize).Take(request.PageSize).ToList();

            return(new ListResponse <Menu>()
            {
                TotalItems = displayData.Count,
                Data = displayData
            });
        }
Ejemplo n.º 7
0
 public DTO.Menu Get(GetMenuRequest request)
 {
     try
     {
         var menu = _menuRepository.FindBy(request.Id);
         menu.ThrowExceptionIfRecordIsNull();
         return(_menuFactory.Execute(menu));
     }
     catch (DataAccessException)
     {
         throw new ApplicationException();
     }
 }
Ejemplo n.º 8
0
        private IQueryable <Menu> _filterQuery(GetMenuRequest request)
        {
            var query = _context.Menu.Where(w => w._DeletedFlag != true);

            if (!string.IsNullOrEmpty(request.MenuName))
            {
                query = _context.Menu.Where(p => p.MenuName != null &&
                                            p.MenuName.ToLower().Contains(request.MenuName.ToLower()));
            }
            query = query.OrderBy(o => o.MenuName);

            return(query);
        }
Ejemplo n.º 9
0
        public async Task <MenuResponse> GetMenu()
        {
            var getMenuReq  = new GetMenuRequest((await GetTokenAsync()).Access_Token);
            var getMenuResp = WebCache.Get <MenuResponse>(getMenuReq.MenuRequestCacheKey);

            if (getMenuResp == null)
            {
                _logger.LogInformation("Menu己过期,重新获取");
                getMenuResp = await _clientService.ExecuteAsync(getMenuReq, RequestStringDataTypes.String);

                WebCache.Set(getMenuReq.MenuRequestCacheKey, getMenuResp, new CacheDependency("GetMenu", new DateTime(2, 0, 0)));
            }
            return(getMenuResp);
        }
Ejemplo n.º 10
0
        public void GetMenuTest()
        {
            TokenManager  manger = new TokenManager();
            TokenEntity   entiy  = manger.GetToken("0");
            IWeiXinClient client = new DefaultWeiXinClient();

            client.Token = entiy;
            GetMenuRequest request = new GetMenuRequest();

            request.AgentId = entiy.AgentID;
            GetMenuResponse response = client.Execute <GetMenuResponse>(request);

            Assert.AreEqual(0, response.ErrCode);
        }
Ejemplo n.º 11
0
        public GetMenuResponse GetMenu(GetMenuRequest request)
        {
            try
            {
                var menu     = DataContext.Menus.Include(x => x.RoleGroups).First(x => x.Id == request.Id);
                var response = menu.MapTo <GetMenuResponse>();

                return(response);
            }
            catch (System.InvalidOperationException x)
            {
                return(new GetMenuResponse
                {
                    IsSuccess = false,
                    Message = x.Message
                });
            }
        }
Ejemplo n.º 12
0
        public void TestMenuHub()
        {
            var context = MockContextFactory.Create();

            var getMenuService  = new MenuService(new MockDataService(context));
            var SubmenuService  = new SubmenuService(new MockDataService(context));
            var getItemsService = new ItemTypeService(new MockDataService(context));

            context.Menu.Add(new Database.Models.Menu
            {
                Id          = 1,
                Number      = 1,
                Description = "Sommer",
                Name        = "Sommerspeisen",
            });

            var request = new GetMenuRequest();

            var command = new Command <GetMenuRequest>();

            command.RequestId = "123";
            command.Arguments = request;

            var called = false;

            var hub = new MenuHub(getMenuService, SubmenuService, getItemsService);

            var responseType = "GetMenuResponse";
            var action       = new Action <Command <GetMenuResponse> >((response) =>
            {
                Assert.Equal(response.RequestId, command.RequestId);
                Assert.NotNull(response.Arguments.Menus);
                called = true;
            });

            hub.Clients = MockHubFactory.CreateClients(responseType, action);
            hub.GetMenuRequest(command);

            Assert.True(called);
        }
Ejemplo n.º 13
0
        /// <summary>
        /// 查询菜单测试
        /// </summary>
        public static void GetMenuTest()
        {
            IMpClient             mpClient = new MpClient();
            AccessTokenGetRequest request  = new AccessTokenGetRequest()
            {
                AppIdInfo = new AppIdInfo()
                {
                    AppID = appId, AppSecret = appSecret
                }
            };
            AccessTokenGetResponse response = mpClient.Execute(request);

            if (response.IsError)
            {
                Console.WriteLine("获取令牌环失败..");
                return;
            }

            GetMenuRequest getRequest = new GetMenuRequest()
            {
                AccessToken = response.AccessToken.AccessToken
            };

            var getResponse = mpClient.Execute(getRequest);

            if (getResponse.IsError)
            {
                Console.WriteLine("查询菜单发生错误,错误信息为:" + getResponse.ErrInfo.ErrCode + "-" + getResponse.ErrInfo.ErrMsg);
            }
            else
            {
                Console.WriteLine("查询菜单成功");
                var m = getResponse.Menu;
                Console.WriteLine(m.ToJsonString());
            }
        }
Ejemplo n.º 14
0
 public Menu Get(GetMenuRequest request)
 {
     return(_menuService.Get(request));
 }
Ejemplo n.º 15
0
 public ListResponse <Menu> GetMenu([FromBody] GetMenuRequest request)
 {
     return(_menuApplicationService.GetMenu(request));
 }
Ejemplo n.º 16
0
        static void Main(string[] args)
        {
            List <ProductWrapper> allProduct     = GetAllProductFromXml();
            GetMenuRequest        getMenuRequest = new GetMenuRequest()
            {
                CH              = 509,
                Protein         = 168,
                Fat             = 129,
                IsMenuIncluded  = false,
                CategoryFilters = new List <CategoriesFilter>()
                {
                    new CategoriesFilter()
                    {
                        Category            = Categories.Breakfast,
                        AmountAtLeast       = 1,
                        AmountFlexible_Plus = 4
                    },
                    new CategoriesFilter()
                    {
                        Category            = Categories.Soup,
                        AmountAtLeast       = 1,
                        AmountFlexible_Plus = 2
                    },
                    new CategoriesFilter()
                    {
                        Category            = Categories.Freshschnitzel,
                        AmountAtLeast       = 2,
                        AmountFlexible_Plus = 6
                    },
                    new CategoriesFilter()
                    {
                        Category            = Categories.Dish,
                        AmountAtLeast       = 2,
                        AmountFlexible_Plus = 6
                    }
                }
            };

            Console.WriteLine("-----PARAMTERS-----");
            Console.WriteLine($"Protein: {getMenuRequest.Protein}");
            Console.WriteLine($"Carbohydrate: {getMenuRequest.CH}");
            Console.WriteLine($"Fat: {getMenuRequest.Fat}");
            getMenuRequest.CategoryFilters.ForEach(x => Console.WriteLine($"{x.Category}: {x.AmountAtLeast} db."));

            Console.WriteLine();
            Console.WriteLine();

            Console.WriteLine("-----RESULTS-----");
            List <IEnumerable <ProductWrapper> > dailyMenus = GetMenu(DayOfWeek.Tuesday, allProduct, getMenuRequest);

            foreach (var dailyMenu in dailyMenus)
            {
                Console.WriteLine($"Calorie: {dailyMenu.Sum(x => x.Calorie)}");
                Console.WriteLine($"Protein: {dailyMenu.Sum(x => x.Protein)}");
                Console.WriteLine($"Carbohydrate: {dailyMenu.Sum(x => x.Carbohydrate)}");
                Console.WriteLine($"Fat: {dailyMenu.Sum(x => x.Fat)}");
                dailyMenu.GroupBy(x => x.Category).ToList().ForEach(x => Console.WriteLine($"{x.Key}: {x.Count()} db."));
                Console.WriteLine();
                Console.WriteLine();
                dailyMenu.ToList().ForEach(x => Console.WriteLine($"{x.Category} - {x.Name}"));
                Console.WriteLine();
                Console.WriteLine();
                Console.WriteLine();
                Console.WriteLine();
            }
            Console.ReadLine();
        }
Ejemplo n.º 17
0
        private void button2_Click(object sender, EventArgs e)
        {
            GetMenuRequest req = new GetMenuRequest();
            req.token = token;
            var res = SDKFactory.Client.Execute(req);

            MessageBox.Show(res.ResponseBody);
        }
Ejemplo n.º 18
0
 public async Task <ActionResult> Get([FromQuery] GetMenuRequest command)
 {
     return(await base.Query <GetMenuRequest, MenuDto>(command));
 }
Ejemplo n.º 19
0
Archivo: WinXin.cs Proyecto: uwitec/O2O
 /// <summary>
 /// 取得菜单
 /// </summary>
 /// <returns></returns>
 public static List<Button> GetMenu()
 {
     //取得菜单信息
     IMpClient mpClient = new MpClient();
     AccessTokenGetRequest request = new AccessTokenGetRequest()
     {
         AppIdInfo = new AppIdInfo() { AppID = appId, AppSecret = appSecret }
     };
     AccessTokenGetResponse response = mpClient.Execute(request);
     if (response.IsError)
     {
         return null;
     }
     else
     {
         GetMenuRequest getRequest = new GetMenuRequest()
         {
             AccessToken = response.AccessToken.AccessToken
         };
         var getResponse = mpClient.Execute(getRequest);
         if (getResponse.IsError)
         {
             return null;
         }
         else
         {
             var m = getResponse.Menu.menu.button;
             return m;
         }
     }
 }
Ejemplo n.º 20
0
        private static List <IEnumerable <ProductWrapper> > GetMenu(DayOfWeek day, List <ProductWrapper> allProduct, GetMenuRequest getMenuRequest)
        {
            List <ProductWrapper> result        = new List <ProductWrapper>();
            List <ProductWrapper> dailyProducts = allProduct.Where(x => x.Day == day.ToString()).ToList();

            return(dailyProducts.CalculateMenu(getMenuRequest));
        }