Beispiel #1
0
        public ActionResult Index(客戶資料VM VM)
        {
            //if (Session == null)
            //    return RedirectToAction("Login", "Login");
            //else if (Session["Login"] as string != "Admin")
            //    return RedirectToAction("Login", "Login");

            #region 排序

            if (!string.IsNullOrEmpty(VM.Order))
            {
                VM.Order = VM.Order == "asc" ? "desc" : "asc";
            }
            var 客戶資料 = 客戶資料repo.SerachSortByCondition(VM);

            #endregion 排序

            #region 分頁

            int currentPage = VM.Page < 1 ? 1 : VM.Page;
            var result      = 客戶資料.ToPagedList(VM.Page, pageSize);

            #endregion 分頁

            #region ViewBag配置

            ViewBag.VM   = VM;
            ViewBag.客戶分類 = new SelectList(客戶類型repo.All(), "客戶分類", "客戶分類");

            #endregion ViewBag配置

            return(View(result));
        }
Beispiel #2
0
        public ActionResult SearchFilter(客戶資料VM vm)
        {
            if (ModelState.IsValid)
            {
                vm.客戶資料s = Repo.SearchByVM(vm);
            }

            return(View("Index", vm));
        }
Beispiel #3
0
        public ActionResult Export客戶資料(客戶資料VM 客戶資料SSVM)
        {
            //取得資料
            var data = 客戶資料repo
                       .SerachByCondition(客戶資料SSVM.CustName, 客戶資料SSVM.CustNo, 客戶資料SSVM.Category)
                       .Select(c => new { c.客戶分類, c.客戶名稱, c.統一編號, c.電話, c.傳真, c.地址, c.Email });

            return(Export(data as IQueryable));
        }
Beispiel #4
0
        public ActionResult Index()
        {
            var vm = new 客戶資料VM()
            {
                客戶資料s = Repo.All().ToList()
            };

            return(View(vm));
        }
Beispiel #5
0
        public ActionResult Index(客戶資料VM search, int?page)
        {
            ViewBag.客戶分類 = repo.Get客戶分類下拉選單列表();
            var data = repo.Get客戶資料列表所有資料(search);

            int currentPageIndex = page.HasValue ? page.Value - 1 : 0;

            return(View(data.ToPagedList(currentPageIndex, PageSize)));
        }
Beispiel #6
0
        public ActionResult Index(int 客戶分類Id)
        {
            if (ModelState.IsValid)
            {
                var vm = new 客戶資料VM()
                {
                    客戶資料s = Repo.SearchByType(客戶分類Id)
                };

                return(View(vm));
            }

            return(View());
        }
Beispiel #7
0
        public IQueryable <客戶資料> Get客戶資料列表所有資料(客戶資料VM search)
        {
            var data = this.All();

            // 搜尋名稱
            if (!string.IsNullOrEmpty(search.keyword))
            {
                data = data.Where(x => x.客戶名稱.Contains(search.keyword));
            }
            // 搜尋 客戶分類
            if (!string.IsNullOrEmpty(search.客戶分類))
            {
                data = data.Where(x => x.客戶分類.Contains(search.客戶分類));
            }
            return(data.OrderByDescending(x => x.Id));
        }
        public List <客戶資料> SearchByVM(客戶資料VM vm)
        {
            var query = this.All();

            if (!string.IsNullOrEmpty(vm.客戶名稱))
            {
                query = query.Where(x => x.客戶名稱.Contains(vm.客戶名稱));
            }
            if (vm.客戶分類Id != 0)
            {
                query = query.Where(x => x.客戶分類Id == vm.客戶分類Id);
            }
            if (!string.IsNullOrEmpty(vm.統一編號))
            {
                query = query.Where(x => x.統一編號.Contains(vm.統一編號));
            }
            if (!string.IsNullOrEmpty(vm.電話))
            {
                query = query.Where(x => x.電話.Contains(vm.電話));
            }
            if (!string.IsNullOrEmpty(vm.Email))
            {
                query = query.Where(x => x.Email.Contains(vm.Email));
            }
            if (!string.IsNullOrEmpty(vm.排序))
            {
                var propertyInfo = typeof(客戶資料).GetProperty(vm.排序);

                if (!string.IsNullOrEmpty(vm.升降))
                {
                    if (vm.升降 == "降冪")
                    {
                        query = query.OrderBy(string.Format("{0} {1}", vm.排序, "desc"));
                    }
                    else
                    {
                        query = query.OrderBy(string.Format("{0} {1}", vm.排序, "asc"));
                    }
                }
                else
                {
                    query = query.OrderBy(string.Format("{0} {1}", vm.排序, "asc"));
                }
            }

            return(query.ToList());
        }
Beispiel #9
0
        public ActionResult EditData([Bind(Include = "Id,電話,傳真,地址,Email,密碼")] 客戶資料VM 客戶資料VM)
        {
            var 客戶資料 = 客戶資料Repo.Find(客戶資料VM.Id);

            if (ModelState.IsValid)
            {
                客戶資料.密碼    = FormsAuthentication.HashPasswordForStoringInConfigFile(客戶資料.帳號 + 客戶資料VM.密碼, "SHA1");
                客戶資料.電話    = 客戶資料VM.電話;
                客戶資料.傳真    = 客戶資料VM.傳真;
                客戶資料.地址    = 客戶資料VM.地址;
                客戶資料.Email = 客戶資料VM.Email;
                客戶資料Repo.UnitOfWork.Context.Entry(客戶資料).State = EntityState.Modified;
                客戶資料Repo.UnitOfWork.Commit();
                return(View(客戶資料));
            }

            return(View(客戶資料));
        }
Beispiel #10
0
        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 = "客戶名稱";
                ws.Cell("B1").Value = "客戶分類";
                ws.Cell("C1").Value = "統一編號";
                ws.Cell("D1").Value = "電話";
                ws.Cell("E1").Value = "傳真";
                ws.Cell("F1").Value = "地址";
                ws.Cell("G1").Value = "Email";
                ws.Cell("H1").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.Email;
                    ws.Cell("H" + rowIndex).Value = item.IsDeleted;

                    rowIndex++;
                }

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