修復 Batch 1: FollowerController, memberController, accountingController, stockController

- FollowerController.cs: 8 處修復
- memberController.cs: 9 處修復
- accountingController.cs: 8 處修復
- stockController.cs: 8 處修復

總計 33 處,覆蓋會員、財務、庫存核心功能
This commit is contained in:
2025-11-12 16:37:59 +08:00
parent cd05ad2305
commit 79b7dd114f
5 changed files with 68 additions and 54 deletions

1
tyme4net/tyme4net Submodule

Submodule tyme4net/tyme4net added at 9ee8f71dac

View File

@@ -55,7 +55,7 @@ public class FollowerController : ApiController
// DELETE api/<controller>/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<Model.follower.type>();
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<Model.follower.type>();
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);

View File

@@ -52,7 +52,7 @@ public class accountingController : BaseApiController
// DELETE api/<controller>/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<Model.accounting.type>();
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))

View File

@@ -48,7 +48,7 @@ public class memberController : BaseApiController
// DELETE api/<controller>/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<Model.member.attendances.type>();
var tdesc2 = publicFun.enum_desc<Model.member.attendances.login>();
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));

View File

@@ -54,7 +54,7 @@ public class stockController : BaseApiController
// DELETE api/<controller>/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<Model.stock.type>();
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))