Example #1
0
        // GET: Console/ExportReports

        public ActionResult ExportReports()
        {
            IViewerFactory <ReportView> factory = new ReportViewFactory();

            var list = factory.Query(new Criteria(new
            {
                MenuDate = DateTime.Today,
                MenuType = (int)MenuDto.GetMenuLunchOrSupper(0, false)
            }));

            if (list != null && list.Count > 0)
            {
                var mapper  = ReportDto.ConfigMapper().CreateMapper();
                var reports = mapper.Map <IEnumerable <ReportDto> >(list.AsEnumerable()).ToList();

                var book = ExcelManager.BuildReportWorkbook(reports);

                byte[] file;
                using (var ms = new MemoryStream())
                {
                    book.Write(ms);
                    file = ms.GetBuffer();
                }

                return(File(file, "application/vnd.ms-excel", $@"今日订餐统计表-{DateTime.Today:yyyyMMdd}.xls"));
            }


            return(RedirectToAction("Index", "Home"));
        }
        public ActionResult Index()
        {
            var model = new ConsoleModels.IndexDto();

            IViewerFactory <ReportView> factory = new ReportViewFactory();

            var list = factory.Query(new Criteria(new
            {
                MenuDate = DateTime.Today,
                MenuType = (int)MenuDto.GetMenuLunchOrSupper(0, false)
            }));

            if (list != null && list.Count > 0)
            {
                var mapper = ReportDto.ConfigMapper().CreateMapper();

                model.Reports = mapper.Map <IEnumerable <ReportDto> >(list.AsEnumerable()).ToList();

                // 查找今日的菜单,判断是否大班长确认过
                var currentMenus = Menu.Cache.MenuListActiveToday.FindAll(x =>
                                                                          x.MenuType.Equals(MenuDto.GetMenuLunchOrSupper(0, false)));

                model.ApproverInfo = currentMenus.Exists(x => x.IsApproved) ?
                                     currentMenus[0].Remark : string.Empty;
            }

            return(View(model));
        }