diff --git a/web/App_Code/api/adminUserController.cs b/web/App_Code/api/adminUserController.cs index cf04653..1a56b61 100644 --- a/web/App_Code/api/adminUserController.cs +++ b/web/App_Code/api/adminUserController.cs @@ -52,7 +52,7 @@ public class adminUserController : ApiController // DELETE api//5 public void Delete(int id) { - var prod = _db.admins.AsEnumerable().Where(q => q.num == id).FirstOrDefault(); //刪除該筆資料 + var prod = _db.admins.Where(q => q.num == id).FirstOrDefault(); //刪除該筆資料 if (prod != null) { @@ -76,7 +76,7 @@ public class adminUserController : ApiController public IHttpActionResult GetList([FromBody] Model.ViewModel.admin q, int page, int pageSize = 10, string sortBy = "", bool sortDesc = false) { - var qry = _db.admins.AsEnumerable(); + var qry = _db.admins.AsQueryable(); if (!string.IsNullOrEmpty(q.u_id)) qry = qry.Where(o => o.u_id.Contains(q.u_id)); @@ -90,17 +90,14 @@ public class adminUserController : ApiController if(q.removeExist.HasValue && q.removeExist.Value) { + var existingAdminNums = _db.members.Select(b => b.admin_num).ToList(); if (q.num.HasValue && q.num.Value > 0) { - qry = qry.Where(o => (!(from b in _db.members.AsEnumerable() - select b.admin_num) - .Contains(o.num)) || o.num == Convert.ToInt32(q.num.Value)); + qry = qry.Where(o => !existingAdminNums.Contains(o.num) || o.num == q.num.Value); } else { - qry = qry.Where(o => (!(from b in _db.members.AsEnumerable() - select b.admin_num) - .Contains(o.num))); + qry = qry.Where(o => !existingAdminNums.Contains(o.num)); } } @@ -114,9 +111,12 @@ public class adminUserController : ApiController else qry = qry.OrderByDescending(o => o.num); + var count = qry.Count(); + var qryList = (pageSize > 0) ? qry.ToPagedList(page, pageSize).ToList() : qry.ToList(); + var ret = new { - list = qry.ToPagedList(page, pageSize).Select(x => new + list = qryList.Select(x => new { num = x.num, u_id = x.u_id, @@ -124,7 +124,7 @@ public class adminUserController : ApiController power = x.power, }), - count = qry.Count() + count = count }; diff --git a/web/App_Code/api/orderdetailController.cs b/web/App_Code/api/orderdetailController.cs index 8d265c5..b01f38b 100644 --- a/web/App_Code/api/orderdetailController.cs +++ b/web/App_Code/api/orderdetailController.cs @@ -27,14 +27,14 @@ public class orderdetailController:ApiController //var OrderList = _db.pro_order.Where(u => u.activity_num == activity_num).Select(j => j.order_no).ToList(); //var gdzOrderList = _db.pro_order_detail.Where(o => OrderList.Contains(o.order_no) && o.print_id.Contains("主")).Select(o => o.order_no).Distinct().ToList(); //var qry = _db.pro_order.Where(u => gdzOrderList.Contains(u.order_no)).AsEnumerable(); - var qry = _db.pro_order.Where( u => u.activity_num == activity_num).AsEnumerable(); - - qry = qry.OrderByDescending(o => o.reg_time); + var qry = _db.pro_order.Where( u => u.activity_num == activity_num).OrderByDescending(o => o.reg_time); var count = qry.Count(); //pageSize = count;//一次取回?? + var qryList = (pageSize > 0) ? qry.ToPagedList(page, pageSize).ToList() : qry.ToList(); + var ret = new { - list = qry.ToPagedList(page, pageSize).Select(x => new + list = qryList.Select(x => new { order_no = x.order_no, f_num = x.f_num, @@ -50,7 +50,7 @@ public class orderdetailController:ApiController || u.actItem.subject.Contains("牌") || !string.IsNullOrEmpty(u.f_num_tablet)) .Count(), - actItem = x.pro_order_detail.Where(u => u.printed_files != null).FirstOrDefault()?.print_id } + actItem = x.pro_order_detail.Where(u => u.printed_files != null).Select(u => u.print_id).FirstOrDefault() } }), count = count }; diff --git a/web/App_Code/api/supplierController.cs b/web/App_Code/api/supplierController.cs index ce9d34f..90e7212 100644 --- a/web/App_Code/api/supplierController.cs +++ b/web/App_Code/api/supplierController.cs @@ -50,7 +50,7 @@ public class supplierController : BaseApiController // DELETE api//5 public void Delete(int id) { - var prod = _db.suppliers.AsEnumerable().Where(q => q.num == id).FirstOrDefault(); //刪除該筆資料 + var prod = _db.suppliers.Where(q => q.num == id).FirstOrDefault(); //刪除該筆資料 if (prod != null) { if (!string.IsNullOrEmpty(prod.pic1)) @@ -80,8 +80,8 @@ public class supplierController : BaseApiController { if (!string.IsNullOrEmpty(nums)) { - var ids = nums.TrimEnd(',').Split(',').Select(s => int.Parse(s)); - var prod = _db.suppliers.AsEnumerable().Where(q => ids.Contains(q.num)).ToList(); + var ids = nums.TrimEnd(',').Split(',').Select(s => int.Parse(s)).ToList(); + var prod = _db.suppliers.Where(q => ids.Contains(q.num)).ToList(); if (prod.Count() > 0) { publicFun publicFun = new publicFun(); @@ -113,7 +113,7 @@ public class supplierController : BaseApiController public IHttpActionResult GetList([FromBody] Model.ViewModel.supplier q, int page, int pageSize = 10, string sortBy = "", bool sortDesc = false) { - var qry = _db.suppliers.AsEnumerable(); + var qry = _db.suppliers.AsQueryable(); if (!string.IsNullOrEmpty(q.u_name)) qry = qry.Where(o => o.u_name.Contains(q.u_name.Trim())); @@ -159,9 +159,12 @@ public class supplierController : BaseApiController else qry = qry.OrderByDescending(o => o.num); + var count = qry.Count(); + var qryList = (pageSize > 0) ? qry.ToPagedList(page, pageSize).ToList() : qry.ToList(); + var ret = new { - list = qry.ToPagedList(page, pageSize).Select(x => new + list = qryList.Select(x => new { num = x.num, u_name = x.u_name, @@ -176,7 +179,7 @@ public class supplierController : BaseApiController }).ToList(), x.kind) : "", }), - count = qry.Count() + count = count }; @@ -192,7 +195,7 @@ public class supplierController : BaseApiController { - var qry = _db.supplier_kind.AsEnumerable(); + var qry = _db.supplier_kind.AsQueryable(); if (!string.IsNullOrEmpty(q.kind)) qry = qry.Where(o => o.kind.Contains(q.kind)); @@ -205,17 +208,18 @@ public class supplierController : BaseApiController range = o.range, }).OrderBy(x => x.root).ThenBy(x => x.kind).ToList(), 0, 0); - + var count = qry.Count(); + var qry2List = (pageSize > 0) ? qry2.ToPagedList(page, pageSize).ToList() : qry2.ToList(); var ret = new { - list = qry2.ToPagedList(page, pageSize).Select(x => new + list = qry2List.Select(x => new { num = x.num, kind = new TreeView().RptDash(x.Level) + x.kind, }), - count = qry.Count() + count = count }; diff --git a/web/App_Code/api/transfer_registerController.cs b/web/App_Code/api/transfer_registerController.cs index f7af55b..bb4deab 100644 --- a/web/App_Code/api/transfer_registerController.cs +++ b/web/App_Code/api/transfer_registerController.cs @@ -237,7 +237,7 @@ public class transfer_registerController : ApiController x.draft, follower = x.f_num != null ? _db.followers .Where(f => f.num == x.f_num) - .AsEnumerable() + .ToList() .Select(f => new { f.num, f.u_name, @@ -417,7 +417,7 @@ public class transfer_registerController : ApiController d.demo, reg_time = o.reg_time // 報名日期 })) - .AsEnumerable() + .ToList() .Select(x => new { x.order_no, x.activity_num, @@ -481,7 +481,7 @@ public class transfer_registerController : ApiController x.draft, follower = x.f_num != null ? _db.followers .Where(f => f.num == x.f_num) - .AsEnumerable() + .ToList() .Select(f => new { f.num, f.u_name, @@ -817,7 +817,7 @@ public class transfer_registerController : ApiController tr.balance_act_item, balance_actitem_name = tr.balance_act_item != null ? _db.actItems.Where(a => a.num == tr.balance_act_item).Select(a => a.subject).FirstOrDefault() : "" }) - .AsEnumerable() + .ToList() .Select(tr => new { tr.id, @@ -1054,7 +1054,7 @@ public class transfer_registerController : ApiController d.price, paid = d.pro_order_record.Select(r => r.price).DefaultIfEmpty(0).Sum() })) - .AsEnumerable() + .ToList() .Select(x => new { x.f_num, x.follower_name, @@ -1104,7 +1104,7 @@ public class transfer_registerController : ApiController d.demo, reg_time = o.reg_time // 報名日期 })) - .AsEnumerable() + .ToList() .Select(x => new { x.order_no, x.activity_num,