예제 #1
0
        public List <客戶銀行資訊> SearchByVM(客戶銀行資訊VM vm)
        {
            var query = this.All();

            if (!string.IsNullOrEmpty(vm.銀行名稱))
            {
                query = query.Where(x => x.銀行名稱.Contains(vm.銀行名稱));
            }
            if (vm.銀行代碼 != null)
            {
                query = query.Where(x => x.銀行代碼 == vm.銀行代碼);
            }
            if (vm.分行代碼 != null)
            {
                query = query.Where(x => x.分行代碼 == vm.分行代碼);
            }
            if (!string.IsNullOrEmpty(vm.帳戶名稱))
            {
                query = query.Where(x => x.帳戶名稱.Contains(vm.帳戶名稱));
            }
            if (!string.IsNullOrEmpty(vm.帳戶號碼))
            {
                query = query.Where(x => x.帳戶號碼.Contains(vm.帳戶號碼));
            }

            return(query.ToList());
        }
        public ActionResult Index(客戶銀行資訊VM vm)
        {
            if (ModelState.IsValid)
            {
                vm.客戶銀行資訊s = Repo.SearchByVM(vm);
            }

            return(View(vm));
        }
        // GET: 客戶銀行資訊
        public ActionResult Index()
        {
            var vm = new 客戶銀行資訊VM()
            {
                客戶銀行資訊s = Repo.All().Include(客 => 客.客戶資料).ToList()
            };

            return(View(vm));
        }
        public FileResult Export(客戶銀行資訊VM vm)
        {
            using (var wb = new XLWorkbook())
            {
                var           ws       = wb.Worksheets.Add("客戶銀行資訊");
                List <客戶銀行資訊> 客戶銀行資訊s  = Repo.SearchByVM(vm);
                var           rowIndex = 2;

                ws.Cell("A1").Value = "客戶Id";
                ws.Cell("B1").Value = "銀行名稱";
                ws.Cell("C1").Value = "銀行代碼";
                ws.Cell("D1").Value = "分行代碼";
                ws.Cell("E1").Value = "帳戶名稱";
                ws.Cell("F1").Value = "帳戶號碼";
                ws.Cell("G1").Value = "已刪除";

                foreach (var item in 客戶銀行資訊s)
                {
                    ws.Cell("A" + rowIndex).Value = item.客戶資料.客戶名稱;
                    ws.Cell("B" + rowIndex).Value = item.銀行名稱;
                    ws.Cell("C" + rowIndex).Value = item.銀行代碼;
                    ws.Cell("D" + rowIndex).Value = item.分行代碼;
                    ws.Cell("E" + rowIndex).Value = item.帳戶名稱;
                    ws.Cell("F" + rowIndex).Value = item.帳戶號碼;
                    ws.Cell("G" + rowIndex).Value = item.IsDeleted;

                    rowIndex++;
                }

                using (MemoryStream stream = new MemoryStream())
                {
                    wb.SaveAs(stream);
                    return(File(stream.ToArray(), "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "客戶銀行資訊.xlsx"));
                }
            }
        }