예제 #1
0
        public IEnumerable <Menu> Find(MenuSearch menuSearch)
        {
            var fromDateFilter = Filter.Empty;

            if (menuSearch.FromDate.HasValue)
            {
                fromDateFilter = Filter.Gte(m => m.Date, menuSearch.FromDate?.Date);
            }

            var toDateFilter = Filter.Empty;

            if (menuSearch.ToDate.HasValue)
            {
                toDateFilter = Filter.Lte(m => m.Date, menuSearch.ToDate?.Date);
            }

            var filter     = Filter.And(fromDateFilter, toDateFilter);
            var foundMenus = collection.Find(filter);

            if (!menuSearch.MealTypeFilter.HasValue)
            {
                return(foundMenus.ToEnumerable());
            }

            return(foundMenus.Project(m => new Menu {
                Id = m.Id,
                Date = m.Date,
                Meals = m.Meals.Where(meal => meal.MealType == menuSearch.MealTypeFilter.Value)
            }).ToEnumerable());
        }
예제 #2
0
        /// <summary>
        /// 获取菜单列表
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public ActionResult GetMenuList(MenuSearch model)
        {
            int totalCount = 0;
            Expression <Func <Menu, int> > orderLambda = d => d.Sort;
            var whereLambda = PredicateBuilder.True <Menu>();

            if (!string.IsNullOrEmpty(model.Name))
            {
                whereLambda = whereLambda.AndAlso(d => d.Name.Contains(model.Name));
            }
            var menus     = new MenuBLL().Get(orderLambda, whereLambda, model.Order, model.Rows, model.Page, out totalCount);
            var menusList = menus.Select(d => new MenuList
            {
                Id          = d.Id,
                Name        = d.Name,
                ParentId    = d.ParentId,
                ParentName  = d.ParentId.HasValue ? new MenuBLL().Find(d.ParentId.Value).Name : "顶级菜单",
                Code        = d.Code,
                LinkAddress = d.LinkAddress,
                Icon        = d.Icon,
                Sort        = d.Sort,
                UpdateBy    = d.UpdateBy,
                UpdateTime  = d.UpdateTime
            }).ToList();
            var result = new DataResult <MenuList>
            {
                total = totalCount,
                rows  = menusList
            };

            return(Json(result, JsonRequestBehavior.AllowGet));
        }
예제 #3
0
 public DataMenus(string folder)
 {
     MenuMain   = MenuMain.GetMenu(folder + "/Menu.txt");
     MenuInput  = MenuInput.GetMenu(folder + "/MenuInput.txt");
     MenuShow   = MenuShow.GetMenu(folder + "/MenuShow.txt");
     MenuSearch = MenuSearch.GetMenu(folder + "/MenuSearch.txt");
     MenuReport = MenuReport.GetMenu(folder + "/MenuReport.txt");
 }
예제 #4
0
        public async Task <IActionResult> List(long?parentId, int page = 1, int rows = 10)
        {
            var search = new MenuSearch();

            search.ParentId = parentId;
            var data = await service.GetListAsync(page, rows, search, "OrderIndex asc");

            return(PagerData(data.items, page, rows, data.count));
        }
예제 #5
0
        public DataMenus()
        {
            folder = "../../Data";

            MenuMain   = MenuMain.GetMenu(folder + "/Menu.txt");
            MenuInput  = MenuInput.GetMenu(folder + "/MenuInput.txt");
            MenuShow   = MenuShow.GetMenu(folder + "/MenuShow.txt");
            MenuSearch = MenuSearch.GetMenu(folder + "/MenuSearch.txt");
            MenuReport = MenuReport.GetMenu(folder + "/MenuReport.txt");
        }
예제 #6
0
        public IActionResult Find([FromBody] MenuSearch menuSearch)
        {
            if (menuSearch == null)
            {
                return(BadRequest("Ill-formed search object."));
            }

            var foundMenus = mapper.Map <IEnumerable <Menu>, IEnumerable <PePeMenu> >(menuManager.Find(menuSearch));

            return(Json(foundMenus));
        }
예제 #7
0
파일: EFGetMenu.cs 프로젝트: ankaada09/Post
        public IEnumerable <MenuDto> Execute(MenuSearch request)
        {
            var query = Context.Menus.AsQueryable();

            if (request.MenuName != null)
            {
                query = query.Where(c => c.MenuName.ToLower().Contains(request.MenuName.ToLower()));
            }
            return(query.Select(m => new MenuDto
            {
                Id = m.Id,
                MenuName = m.MenuName,
                Link = m.MenuName
            }));
        }
예제 #8
0
        public IEnumerable <MenuDto> Execute(MenuSearch search)
        {
            var query = _context.Manues.AsQueryable();

            if (search.MenuName != null)
            {
                query = query.Where(x => x.Name.ToLower().Contains(search.MenuName.ToLower()));
            }
            return(query.Select(m => new MenuDto
            {
                MenuName = m.Name,
                Id = m.Id,
                Link = m.href
            }));
        }
예제 #9
0
        public async Task <IActionResult> OnPostDataAsync(int page, int rows, MenuSearch where)
        {
            var data = await _service.GetListAsync(page, rows, where, "OrderIndex asc");

            return(PagerData(data.items, page, rows, data.count));
        }
예제 #10
0
 public IActionResult GetMenues([FromQuery] MenuSearch search, [FromServices] IGetMenuQuery query)
 {
     return(Ok(executor.ExecuteQuery(query, search)));
 }
예제 #11
0
 public IEnumerable <Menu> Find(MenuSearch search)
 {
     return(menuDao.Find(search));
 }
예제 #12
0
 public ActionResult Get([FromQuery] MenuSearch search)
 {
     return(Ok(_getMenu.Execute(search)));
 }