功能條整

This commit is contained in:
2026-08-07 18:00:51 +08:00
parent e60b172b39
commit 68206fcab2
6 changed files with 102 additions and 42 deletions
+1 -1
View File
@@ -42,7 +42,7 @@ namespace MyWeb
}
//定義欄位cookie==================end
private AdmItem JDecode(string json)
public AdmItem JDecode(string json)
{
json = encrypt.DecryptAutoKey(json); //解密
AdmItem mItem = JsonConvert.DeserializeObject<AdmItem>(json);
+60 -30
View File
@@ -1,17 +1,20 @@
using PagedList;
using DocumentFormat.OpenXml.EMMA;
using MINOM.COM.Utility;
using MyWeb;
using PagedList;
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Linq;
using System.Net;
using System.Text;
using System.Web;
using System.Web.Http;
using MyWeb;
using MINOM.COM.Utility;
using System.Text;
using static MyWeb.admin;
// api/pre_order
//[ezAuthorize(Roles = "admin")]//群組:*
//[ezAuthorize]
public class preOrderController: ApiController
public class preOrderController : ApiController
{
private Model.ezEntities _db = new Model.ezEntities();
@@ -76,11 +79,12 @@ public class preOrderController: ApiController
});
}
}
catch (Exception ex) {
catch (Exception ex)
{
return Ok(new
{
result="N",
message=ex.Message,
result = "N",
message = ex.Message,
});
}
}
@@ -92,20 +96,21 @@ public class preOrderController: ApiController
public IHttpActionResult GetPreOrder([FromBody] Model.ViewModel.preOrder pre, int page, int pageSize = 10,
string sortBy = "", bool sortDesc = false)
{
var qry=_db.pre_order.AsQueryable();
var qry = _db.pre_order.AsQueryable();
if (!string.IsNullOrEmpty(pre.f_name))
{
qry = qry.Where(x => _db.followers.Where(y => y.u_name.Contains( pre.f_name)).Select(y => y.num).ToList().Contains((int)x.f_num));
qry = qry.Where(x => _db.followers.Where(y => y.u_name.Contains(pre.f_name)).Select(y => y.num).ToList().Contains((int)x.f_num));
}
if (!string.IsNullOrEmpty(pre.order_no)) {
if (!string.IsNullOrEmpty(pre.order_no))
{
qry = qry.Where(x => x.order_no.Contains(pre.order_no));
}
if (!string.IsNullOrEmpty(pre.act_name))
{
qry = qry.Where(x => _db.activities.Where(z=>z.subject.Contains(pre.act_name)).Select(z=>z.num).ToList().Contains((int)x.act_num));
qry = qry.Where(x => _db.activities.Where(z => z.subject.Contains(pre.act_name)).Select(z => z.num).ToList().Contains((int)x.act_num));
}
//sortBy = sortBy ?? string.Empty;
qry =qry.OrderByDescending(x => x.num);
qry = qry.OrderByDescending(x => x.num);
var count = qry.Count(); //pageSize = count;//一次取回??
if (pageSize == -1)
{
@@ -117,10 +122,19 @@ public class preOrderController: ApiController
{
list = qry.ToPagedList(page, pageSize).Select(x => new
{
x.num,x.f_num,x.admin_num,x.order_no,x.item_count,x.total_amt,x.reg_time,x.receipt_num,x.act_num,
f_name=_db.followers.Where(z=>z.num==x.f_num).Select(z=>z.u_name).FirstOrDefault(),
act_name=_db.activities.Where(w=>w.num==x.act_num).Select(w=>w.subject).FirstOrDefault(),
receipt_amt=(_db.receipt_detail.Where(rd=>_db.receipt_master.Where(rm=>rm.order_no==x.order_no).Select(rm=>rm.num).ToList().Contains((int)rd.receipt_num))).Select(rd=>rd.amt).Sum()
x.num,
x.f_num,
x.admin_num,
x.order_no,
x.item_count,
x.total_amt,
x.reg_time,
x.receipt_num,
x.act_num,
admin_name=_db.admins.Where(q=>q.num==x.admin_num).Select(q=>q.u_name).FirstOrDefault(),
f_name = _db.followers.Where(z => z.num == x.f_num).Select(z => z.u_name).FirstOrDefault(),
act_name = _db.activities.Where(w => w.num == x.act_num).Select(w => w.subject).FirstOrDefault(),
receipt_amt = (_db.receipt_detail.Where(rd => _db.receipt_master.Where(rm => rm.order_no == x.order_no).Select(rm => rm.num).ToList().Contains((int)rd.receipt_num))).Select(rd => rd.amt).Sum()
}).ToList(),
count = count
};
@@ -136,12 +150,25 @@ public class preOrderController: ApiController
{
//要檢查有無報過名
var qry1 = _db.pro_order.AsQueryable();
qry1 = qry1.Where(y=>y.f_num==pre.f_num&&y.activity_num==pre.act_num);
var o=qry1.FirstOrDefault();
qry1 = qry1.Where(y => y.f_num == pre.f_num && y.activity_num == pre.act_num);
var o = qry1.FirstOrDefault();
if (o != null && !string.IsNullOrEmpty(o.order_no))
{
throw new Exception("已經報過名,請勿重複報名");
}
string scc = ConfigurationManager.AppSettings["shopCarCode"].ToString();
int admin_num =0;
if (HttpContext.Current.Session[scc + "admin"] != null)
{
MyWeb.admin admin = new MyWeb.admin();
AdmItem item = admin.JDecode(HttpContext.Current.Session[scc + "admin"].ToString());
string info = item.u_id;
if (!string.IsNullOrEmpty(info))
{
admin_num=_db.admins.Where(x => x.u_id == info).Select(x=>x.num).FirstOrDefault();
}
}
var qry = _db.followers.AsQueryable();
qry = qry.Where(x => x.num == pre.f_num);
@@ -154,34 +181,36 @@ public class preOrderController: ApiController
preO.act_num = pre.act_num;
preO.f_num = pre.f_num;
preO.item_count = pre.item_count;
if (admin_num!=0) {
preO.admin_num = admin_num;
}
preO.total_amt = pre.total_amt;
preO.reg_time = DateTime.Now;
proO.up_time= DateTime.Now;
proO.up_time = DateTime.Now;
proO.reg_time = DateTime.Now;
proO.order_no = preO.order_no;
proO.activity_num = pre.act_num;
proO.f_num = pre.f_num;
proO.keyin1 = "A01";
proO.phone = f.phone;
proO.address = f.address??"";
proO.address = f.address ?? "";
proO.demo = "";
_db.pre_order.Add(preO);
_db.pro_order.Add(proO);
_db.SaveChanges();
return Ok(new {result="Y",message="新增成功"});
return Ok(new { result = "Y", message = "新增成功" });
}
catch (Exception ex)
{
LogUtility log = new LogUtility();
log.writeErrorPath(ex.Message+ex.StackTrace);
log.writeErrorPath(ex.Message + ex.StackTrace);
return Ok(new { result = "N", message = $"新增失敗 {ex.Message}" });
}
}
[HttpPost]
@@ -191,13 +220,13 @@ public class preOrderController: ApiController
{
var qry = _db.pre_order.AsQueryable();
qry = qry.Where(x => x.order_no==pre.order_no);
qry = qry.Where(x => x.order_no == pre.order_no);
//sortBy = sortBy ?? string.Empty;
qry = qry.OrderByDescending(x => x.num);
var ret = new
{
data=qry.Select(x => new
data = qry.Select(x => new
{
x.num,
x.f_num,
@@ -212,8 +241,9 @@ public class preOrderController: ApiController
act_name = _db.activities.Where(w => w.num == x.act_num).Select(w => w.subject).FirstOrDefault(),
}).FirstOrDefault()
};
if (ret.data == null) {
return Ok(new {result="N",message=""});
if (ret.data == null)
{
return Ok(new { result = "N", message = "" });
}
;
return Ok(new