/// <summary>取回所有使用者資料</summary> public IQueryable <BD03ViewModel_SM01DDL> Get() { List <BD03ViewModel_SM01DDL> model = new List <BD03ViewModel_SM01DDL>(); var dbresult = db.Get().AsQueryable(); foreach (var items in dbresult) { BD03ViewModel_SM01DDL _model = new BD03ViewModel_SM01DDL(); _model.usable = items.usable; _model.user_id = items.user_id.Trim(); _model.user_name = items.user_name.Trim(); _model.user_org = items.user_org.Trim(); _model.user_dept = items.user_dept.Trim(); _model.user_tel = items.user_tel.Trim(); _model.user_mail = items.user_mail.Trim(); model.Add(_model); } model.OrderBy(e => e.user_org).ThenBy(e => e.user_dept).ThenBy(e => e.user_id); return(model.AsQueryable()); }
/// <summary>分頁程式碼</summary> public IQueryable <BD03ViewModel_SM01DDL> Get(int CurrPage, int PageSize, string Select_Org, string Select_Dept, string Select_Id, string Select_Name, out int TotalRow) { //定義的ViewModel List <BD03ViewModel_SM01DDL> model = new List <BD03ViewModel_SM01DDL>(); List <bd03_user> dbresult = new List <bd03_user>(); var q = db.Get().ToList(); if (Select_Org == "all" && Select_Dept == "all" && Select_Id == "all" && Select_Name == "all") { //取得所有筆數 TotalRow = db.Get().ToList().Count; //使用Linq篩選分頁 dbresult = db.Get().OrderByDescending(e => e.user_org).ThenBy(e => e.user_dept).ThenBy(e => e.user_id).Skip((CurrPage - 1) * PageSize).Take(PageSize).ToList(); } else { //使用查詢時Linq篩選資料 TotalRow = db.Get().Where(u => u.user_org == (Select_Org.Equals("all") ? u.user_org : Select_Org) && u.user_dept == (Select_Dept.Equals("all") ? u.user_dept : Select_Dept) && u.user_id.Trim() == (Select_Id.Equals("all") ? u.user_id.Trim() : Select_Id) && u.user_name.Trim() == (Select_Name.Equals("all") ? u.user_name.Trim() : Select_Name)).ToList().Count; dbresult = db.Get().Where(u => u.user_org == (Select_Org.Equals("all") ? u.user_org : Select_Org) && u.user_dept == (Select_Dept.Equals("all") ? u.user_dept : Select_Dept) && u.user_id.Trim() == (Select_Id.Equals("all") ? u.user_id.Trim() : Select_Id) && u.user_name.Trim() == (Select_Name.Equals("all") ? u.user_name.Trim() : Select_Name)).OrderByDescending(e => e.user_org).ThenBy(e => e.user_dept).ThenBy(e => e.user_id).Skip((CurrPage - 1) * PageSize).Take(PageSize).ToList(); } //從資料讀出後傳回列表 foreach (var items in dbresult) { BD03ViewModel_SM01DDL _model = new BD03ViewModel_SM01DDL(); _model.usable = items.usable; _model.user_id = items.user_id.Trim(); _model.user_name = items.user_name.Trim(); _model.user_org = items.user_org.Trim(); _model.user_dept = items.user_dept.Trim(); _model.user_tel = items.user_tel.Trim(); _model.user_mail = items.user_mail.Trim(); model.Add(_model); } return(model.AsQueryable()); }