功能條整
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user