From 79b7dd114f072e6d6a7371416b695117da1cdd44 Mon Sep 17 00:00:00 2001 From: yiming Date: Wed, 12 Nov 2025 16:37:59 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=BE=A9=20Batch=201:=20FollowerContr?= =?UTF-8?q?oller,=20memberController,=20accountingController,=20stockContr?= =?UTF-8?q?oller?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - FollowerController.cs: 8 處修復 - memberController.cs: 9 處修復 - accountingController.cs: 8 處修復 - stockController.cs: 8 處修復 總計 33 處,覆蓋會員、財務、庫存核心功能 --- tyme4net/tyme4net | 1 + web/App_Code/api/FollowerController.cs | 28 ++++++++++++--------- web/App_Code/api/accountingController.cs | 31 +++++++++++++----------- web/App_Code/api/memberController.cs | 31 +++++++++++++----------- web/App_Code/api/stockController.cs | 31 +++++++++++++----------- 5 files changed, 68 insertions(+), 54 deletions(-) create mode 160000 tyme4net/tyme4net diff --git a/tyme4net/tyme4net b/tyme4net/tyme4net new file mode 160000 index 0000000..9ee8f71 --- /dev/null +++ b/tyme4net/tyme4net @@ -0,0 +1 @@ +Subproject commit 9ee8f71daca375a12c0970cd10e56cd9ea16135a diff --git a/web/App_Code/api/FollowerController.cs b/web/App_Code/api/FollowerController.cs index 44d60bb..6373c90 100644 --- a/web/App_Code/api/FollowerController.cs +++ b/web/App_Code/api/FollowerController.cs @@ -55,7 +55,7 @@ public class FollowerController : ApiController // DELETE api//5 public void Delete(int id) { - var prod = _db.followers.AsEnumerable().Where(q => q.num == id).FirstOrDefault(); //刪除該筆資料 + var prod = _db.followers.Where(q => q.num == id).FirstOrDefault(); //刪除該筆資料 /*if (prod != null) { @@ -96,7 +96,7 @@ public class FollowerController : ApiController { var getDelItem = nums.TrimEnd(',').Split(',').Select(s => int.Parse(s)); - var prod = _db.followers.AsEnumerable().Where(q => getDelItem.Contains(q.num)).ToList(); + var prod = _db.followers.Where(q => getDelItem.Contains(q.num)).ToList(); if (prod.Count() > 0) { foreach (var item in prod) @@ -139,8 +139,8 @@ public class FollowerController : ApiController public IHttpActionResult GetList([FromBody] Model.ViewModel.follower q, int page, int pageSize = 10, string sortBy = "", bool sortDesc = false) { - ////var qry = _db.followers.Where(a => a.IsDel == false).AsEnumerable();////不確定是否新增欄位? 先註解 - var qry = _db.followers.AsEnumerable(); + ////var qry = _db.followers.Where(a => a.IsDel == false).AsQueryable();////不確定是否新增欄位? 先註解 + var qry = _db.followers.AsQueryable(); if (!string.IsNullOrEmpty(q.f_number)) qry = qry.Where(o => o.f_number.Contains(q.f_number.Trim())); @@ -151,7 +151,7 @@ public class FollowerController : ApiController if (q.birthday2.HasValue) qry = qry.Where(o => o.birthday < Convert.ToDateTime(q.birthday2.Value).AddDays(1)); if (!string.IsNullOrEmpty(q.address)) - qry = qry.Where(o => o.address !=null && o.address.Contains(q.address?.Trim())); + qry = qry.Where(o => o.address !=null && o.address.Contains(q.address.Trim())); //if (q.num.HasValue && q.num.Value>0) // qry = qry.Where(o => o.num==q.num.Value); if (q.ept_self.HasValue && q.ept_self.Value )//排除自己 @@ -215,9 +215,10 @@ public class FollowerController : ApiController var tdesc = publicFun.enum_desc(); 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 { num = x.num, f_number = x.f_number, @@ -341,7 +342,8 @@ public class FollowerController : ApiController - var qry = _db.followers.AsEnumerable().Where(f => cc.Any(x => x == f.num) || cc.Any(x => x == f.leader)); + var ccList = cc.ToList(); + var qry = _db.followers.Where(f => ccList.Contains(f.num) || (f.leader.HasValue && ccList.Contains(f.leader.Value))); @@ -359,11 +361,12 @@ public class FollowerController : ApiController qry = qry.OrderByDescending(o => o.num); MyWeb.encrypt encrypt = new MyWeb.encrypt(); var tdesc = publicFun.enum_desc(); - int i = 1; var count = qry.Count(); //pageSize = count;//一次取回?? + var qryList = (pageSize > 0) ? qry.ToPagedList(page, pageSize).ToList() : qry.ToList(); + int i = 1; var ret = new { - list = qry.ToPagedList(page, pageSize).Select(x => new + list = qryList.Select(x => new { id = i++, num = x.num, @@ -524,13 +527,14 @@ public class FollowerController : ApiController if (_follower > 0) { - var qry = _db.followers_tablet.AsEnumerable().Where(x=>( x.f_num??0) == _follower); + var qry = _db.followers_tablet.Where(x=> x.f_num == _follower); qry = qry.OrderByDescending(o => o.num); var count = qry.Count(); //pageSize = count;//一次取回?? + var qryList = (pageSize > 0) ? qry.ToPagedList(page, pageSize).ToList() : qry.ToList(); int i = 1; var ret = new { - list = qry.ToPagedList(page, pageSize).Select(x => new + list = qryList.Select(x => new { id = i++, num = x.num, @@ -593,7 +597,7 @@ public class FollowerController : ApiController [Route("api/follower/tabletDelete/{id}")] public void tabletDelete(int id) { - var prod = _db.followers_tablet.AsEnumerable().Where(q => q.num == id).FirstOrDefault(); //刪除該筆資料 + var prod = _db.followers_tablet.Where(q => q.num == id).FirstOrDefault(); //刪除該筆資料 if (prod != null) { _db.followers_tablet.Remove(prod); diff --git a/web/App_Code/api/accountingController.cs b/web/App_Code/api/accountingController.cs index 5a175dc..af5f598 100644 --- a/web/App_Code/api/accountingController.cs +++ b/web/App_Code/api/accountingController.cs @@ -52,7 +52,7 @@ public class accountingController : BaseApiController // DELETE api//5 public void Delete(int id) { - var prod = _db.accountings.AsEnumerable().Where(q => q.num == id).FirstOrDefault(); //刪除該筆資料 + var prod = _db.accountings.Where(q => q.num == id).FirstOrDefault(); //刪除該筆資料 if (prod != null) { var prod2 = prod.accounting_files; @@ -91,10 +91,10 @@ public class accountingController : BaseApiController { var getDelItem = nums.TrimEnd(',').Split(',').Select(s => int.Parse(s)); - var prod = _db.accountings.AsEnumerable().Where(q => getDelItem.Contains(q.num)).ToList(); + var prod = _db.accountings.Where(q => getDelItem.Contains(q.num)).ToList(); if (prod.Count() > 0) { - var prod2 = _db.accounting_files.AsEnumerable().Where(q => q.accounting_num.HasValue && getDelItem.Contains(q.accounting_num.Value)).ToList(); + var prod2 = _db.accounting_files.Where(q => q.accounting_num.HasValue && getDelItem.Contains(q.accounting_num.Value)).ToList(); if (prod2.Count() > 0) { publicFun publicFun = new publicFun(); @@ -126,7 +126,7 @@ public class accountingController : BaseApiController public IHttpActionResult GetList([FromBody] Model.ViewModel.accounting q, int page, int pageSize = 10, string sortBy = "", bool sortDesc = false) { - var qry = _db.accountings.AsEnumerable(); + var qry = _db.accountings.AsQueryable(); if (q.category.HasValue) qry = qry.Where(o => o.category == q.category.Value); @@ -215,10 +215,12 @@ public class accountingController : BaseApiController qry = qry.OrderByDescending(o => o.num); var tdesc = publicFun.enum_desc(); + 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, category = x.category, @@ -245,7 +247,7 @@ public class accountingController : BaseApiController total =(x.price ?? 0)+( x.tax?? 0), }), - count = qry.Count() + count = count }; @@ -259,7 +261,7 @@ public class accountingController : BaseApiController public IHttpActionResult GetTitleKindList([FromBody] Model.ViewModel.accounting_kind q, int page, int pageSize = 10, string sortBy = "", bool sortDesc = false) { - var qry = _db.accounting_kind.AsEnumerable(); + var qry = _db.accounting_kind.AsQueryable(); if (!string.IsNullOrEmpty(q.kind)) qry = qry.Where(o => o.kind.Contains(q.kind)); @@ -297,7 +299,7 @@ public class accountingController : BaseApiController public IHttpActionResult GetAccountKindList([FromBody] Model.ViewModel.accounting_kind2 q, int page, int pageSize = 10, string sortBy = "", bool sortDesc = false) { - var qry = _db.accounting_kind2.AsEnumerable(); + var qry = _db.accounting_kind2.AsQueryable(); if (!string.IsNullOrEmpty(q.kind)) qry = qry.Where(o => o.kind.Contains(q.kind)); @@ -341,15 +343,16 @@ public class accountingController : BaseApiController if (q.accounting_num.HasValue && q.accounting_num.Value > 0) { //檢查 - var qry = _db.accounting_files.AsEnumerable(); - qry = qry.Where(o => o.accounting_num == q.accounting_num.Value); - qry.OrderByDescending(x => x.num); + var qry = _db.accounting_files.Where(o => o.accounting_num == q.accounting_num.Value); + qry = qry.OrderByDescending(x => x.num); + var count = qry.Count(); + var qryList = (pageSize > 0) ? qry.ToPagedList(page, pageSize).ToList() : qry.ToList(); int i = 1; //已有值 var ret = new { - list = qry.ToPagedList(page, pageSize).Select(x => new + list = qryList.Select(x => new { id = i++, num = x.num, @@ -357,7 +360,7 @@ public class accountingController : BaseApiController pic1 = x.pic1, pic1_name = x.pic1_name, }), - count = qry.Count(), + count = count, }; if (ret.list == null) throw new HttpResponseException(HttpStatusCode.NotFound); @@ -473,7 +476,7 @@ public class accountingController : BaseApiController [Route("api/accounting/DeleteFilesItem/{id}")]//刪除相關檔案 public void DeleteFilesItem(int id) { - var prod = _db.accounting_files.AsEnumerable().Where(q => q.num == id).FirstOrDefault(); //刪除該筆資料 + var prod = _db.accounting_files.Where(q => q.num == id).FirstOrDefault(); //刪除該筆資料 if (prod != null) { if (!string.IsNullOrEmpty(prod.pic1)) diff --git a/web/App_Code/api/memberController.cs b/web/App_Code/api/memberController.cs index 86127fe..79d57ce 100644 --- a/web/App_Code/api/memberController.cs +++ b/web/App_Code/api/memberController.cs @@ -48,7 +48,7 @@ public class memberController : BaseApiController // DELETE api//5 public void Delete(int id) { - var prod = _db.members.AsEnumerable().Where(q => q.num == id).FirstOrDefault(); //刪除該筆資料 + var prod = _db.members.Where(q => q.num == id).FirstOrDefault(); //刪除該筆資料 if (prod != null) { if(!string.IsNullOrEmpty(prod.pic1)) @@ -79,7 +79,7 @@ public class memberController : BaseApiController [Route("api/member/DeleteCheck/{id}")] public void DeleteCheck(int id) //刪除考勤資料 { - var prod = _db.member_check.AsEnumerable().Where(q => q.num == id).FirstOrDefault(); //刪除該筆資料 + var prod = _db.member_check.Where(q => q.num == id).FirstOrDefault(); //刪除該筆資料 if (prod != null) { _db.member_check.Remove(prod); @@ -95,7 +95,7 @@ public class memberController : BaseApiController { var getDelItem = nums.TrimEnd(',').Split(',').Select(s => int.Parse(s)); - var prod = _db.members.AsEnumerable().Where(q => getDelItem.Contains(q.num)).ToList(); + var prod = _db.members.Where(q => getDelItem.Contains(q.num)).ToList(); if (prod.Count() > 0) { publicFun publicFun = new publicFun(); @@ -107,7 +107,7 @@ public class memberController : BaseApiController } } - var prod2 = _db.member_check.AsEnumerable().Where(q => getDelItem.Contains(Convert.ToInt32(q.mem_num))).ToList(); + var prod2 = _db.member_check.Where(q => getDelItem.Contains(q.mem_num)).ToList(); if (prod2.Count > 0) { _db.member_check.RemoveRange(prod2); @@ -136,7 +136,7 @@ public class memberController : BaseApiController if (!string.IsNullOrEmpty(nums)) { var ids = nums.TrimEnd(',').Split(',').Select(s => int.Parse(s)); - var prod = _db.member_check.AsEnumerable().Where(q => ids.Contains(q.num)).ToList(); + var prod = _db.member_check.Where(q => ids.Contains(q.num)).ToList(); if (prod.Count() > 0) { _db.member_check.RemoveRange(prod); @@ -150,7 +150,7 @@ public class memberController : BaseApiController public IHttpActionResult GetList([FromBody] Model.ViewModel.member q, int page, int pageSize = 10, string sortBy = "", bool sortDesc = false) { - var qry = _db.members.AsEnumerable(); + var qry = _db.members.AsQueryable(); if (!string.IsNullOrEmpty(q.u_name)) qry = qry.Where(o => o.u_name.Contains(q.u_name.Trim())); @@ -220,10 +220,11 @@ public class memberController : 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, m_number = x.m_number, @@ -242,7 +243,7 @@ public class memberController : BaseApiController starttime = x.group_kind.HasValue ? x.member_group.starttime : (object)null, demo = x.demo, }), - count = qry.Count() + count = count }; @@ -256,7 +257,7 @@ public class memberController : BaseApiController public IHttpActionResult GetCheckList([FromBody] Model.ViewModel.member_check q, int page, int pageSize = 10, string sortBy = "", bool sortDesc = false) { - var qry = _db.member_check.AsEnumerable(); + var qry = _db.member_check.AsQueryable(); if (!string.IsNullOrEmpty(q.u_name)) qry = qry.Where(o => o.member.u_name.Contains(q.u_name)); @@ -317,9 +318,11 @@ public class memberController : BaseApiController var tdesc = publicFun.enum_desc(); var tdesc2 = publicFun.enum_desc(); + 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, m_number = x.member.m_number, @@ -332,7 +335,7 @@ public class memberController : BaseApiController login_type_desc = tdesc2[x.login_type ?? 1] }), - count = qry.Count() + count = count }; @@ -346,7 +349,7 @@ public class memberController : BaseApiController public IHttpActionResult GetGroupList([FromBody] Model.ViewModel.member_group q, int page, int pageSize = 10, string sortBy = "", bool sortDesc = false) { - var qry = _db.member_group.AsEnumerable(); + var qry = _db.member_group.AsQueryable(); if (!string.IsNullOrEmpty(q.kind)) qry = qry.Where(o => o.kind.Contains(q.kind)); @@ -394,7 +397,7 @@ public class memberController : BaseApiController public IHttpActionResult GetTitleList([FromBody] Model.ViewModel.member_title q, int page, int pageSize = 10, string sortBy = "", bool sortDesc = false) { - var qry = _db.member_title.AsEnumerable(); + var qry = _db.member_title.AsQueryable(); if (!string.IsNullOrEmpty(q.kind)) qry = qry.Where(o => o.kind.Contains(q.kind)); diff --git a/web/App_Code/api/stockController.cs b/web/App_Code/api/stockController.cs index a5fa880..fc38c8c 100644 --- a/web/App_Code/api/stockController.cs +++ b/web/App_Code/api/stockController.cs @@ -54,7 +54,7 @@ public class stockController : BaseApiController // DELETE api//5 public void Delete(int id) { - var prod = _db.stocks.AsEnumerable().Where(q => q.num == id).FirstOrDefault(); //刪除該筆資料 + var prod = _db.stocks.Where(q => q.num == id).FirstOrDefault(); //刪除該筆資料 if (prod != null) { var prod2 = prod.stock_files; @@ -86,10 +86,10 @@ public class stockController : BaseApiController if (!string.IsNullOrEmpty(nums)) { var getDelItem = nums.TrimEnd(',').Split(',').Select(s => int.Parse(s)); - var prod = _db.stocks.AsEnumerable().Where(q => getDelItem.Contains(q.num)).ToList(); + var prod = _db.stocks.Where(q => getDelItem.Contains(q.num)).ToList(); if (prod.Count() > 0) { - var prod2 = _db.stock_files.AsEnumerable().Where(q => q.stock_num.HasValue && getDelItem.Contains(q.stock_num.Value)).ToList(); + var prod2 = _db.stock_files.Where(q => q.stock_num.HasValue && getDelItem.Contains(q.stock_num.Value)).ToList(); if (prod2.Count() > 0) { publicFun publicFun = new publicFun(); @@ -114,7 +114,7 @@ public class stockController : BaseApiController public IHttpActionResult GetList([FromBody] Model.ViewModel.stock q, int page, int pageSize = 10, string sortBy = "", bool sortDesc = false) { - var qry = _db.stocks.AsEnumerable(); + var qry = _db.stocks.AsQueryable(); if (q.category.HasValue) qry = qry.Where(o => o.category == q.category.Value); @@ -198,10 +198,12 @@ public class stockController : BaseApiController qry = qry.OrderByDescending(o => o.num); var tdesc = publicFun.enum_desc(); + 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, category = x.category, @@ -230,7 +232,7 @@ public class stockController : BaseApiController price = x.price, }), - count = qry.Count() + count = count }; @@ -244,7 +246,7 @@ public class stockController : BaseApiController public IHttpActionResult GetKindList([FromBody] Model.ViewModel.stock_kind q, int page, int pageSize = 10, string sortBy = "", bool sortDesc = false) { - var qry = _db.stock_kind.AsEnumerable(); + var qry = _db.stock_kind.AsQueryable(); if (!string.IsNullOrEmpty(q.kind)) qry = qry.Where(o => o.kind.Contains(q.kind)); @@ -293,7 +295,7 @@ public class stockController : BaseApiController public IHttpActionResult GetReasonList([FromBody] Model.ViewModel.stock_reason q, int page, int pageSize = 10, string sortBy = "", bool sortDesc = false) { - var qry = _db.stock_reason.AsEnumerable(); + var qry = _db.stock_reason.AsQueryable(); if (!string.IsNullOrEmpty(q.kind)) qry = qry.Where(o => o.kind.Contains(q.kind)); @@ -335,15 +337,16 @@ public class stockController : BaseApiController if (q.stock_num.HasValue && q.stock_num.Value>0) { //檢查 - var qry = _db.stock_files.AsEnumerable(); - qry = qry.Where(o => o.stock_num == q.stock_num.Value); - qry.OrderByDescending(x => x.num); + var qry = _db.stock_files.Where(o => o.stock_num == q.stock_num.Value); + qry = qry.OrderByDescending(x => x.num); + var count = qry.Count(); + var qryList = (pageSize > 0) ? qry.ToPagedList(page, pageSize).ToList() : qry.ToList(); int i = 1; //已有值 var ret = new { - list = qry.ToPagedList(page, pageSize).Select(x => new + list = qryList.Select(x => new { id = i++, num = x.num, @@ -351,7 +354,7 @@ public class stockController : BaseApiController pic1 = x.pic1, pic1_name = x.pic1_name, }), - count = qry.Count(), + count = count, }; if (ret.list == null) throw new HttpResponseException(HttpStatusCode.NotFound); @@ -466,7 +469,7 @@ public class stockController : BaseApiController [Route("api/stock/DeleteFilesItem/{id}")]//刪除相關檔案 public void DeleteFilesItem(int id) { - var prod = _db.stock_files.AsEnumerable().Where(q => q.num == id).FirstOrDefault(); //刪除該筆資料 + var prod = _db.stock_files.Where(q => q.num == id).FirstOrDefault(); //刪除該筆資料 if (prod != null) { if (!string.IsNullOrEmpty(prod.pic1))