快速報名
This commit is contained in:
@@ -43,6 +43,7 @@ namespace Model.ViewModel
|
||||
public string country { get; set; }
|
||||
public string country2 { get; set; }
|
||||
public string phone_idcode { get; set; } // 電話/證號搜尋欄位
|
||||
public string cellphone { get; set; }
|
||||
}
|
||||
public class followers_tablet
|
||||
{
|
||||
|
||||
@@ -43,6 +43,8 @@ namespace Model.ViewModel
|
||||
|
||||
public List<pro_order_detail> details { get; set; }
|
||||
|
||||
public follower f_user { get; set; }
|
||||
|
||||
}
|
||||
|
||||
public class pro_order_detail
|
||||
@@ -85,6 +87,10 @@ namespace Model.ViewModel
|
||||
public string follower_name { get; set; }
|
||||
public string full_description { get; set; }
|
||||
public string order_info { get; set; }
|
||||
public string style { get; set; }
|
||||
|
||||
public List<family_members> mid_items { get; set; }
|
||||
public List<family_members> left_items { get; set; }
|
||||
|
||||
}
|
||||
}
|
||||
@@ -1008,6 +1008,7 @@ public class activityController : ApiController
|
||||
{
|
||||
text = x.actItem?.subject,
|
||||
val = x.actItem_num,
|
||||
style=x.actItem.defaultStyle
|
||||
},
|
||||
price = x.price ?? 0,
|
||||
qty = x.qty ?? 0,
|
||||
|
||||
@@ -2,6 +2,8 @@
|
||||
using Model;
|
||||
using MyWeb;
|
||||
using Newtonsoft.Json;
|
||||
using OfficeOpenXml.FormulaParsing.Excel.Functions.Text;
|
||||
using Org.BouncyCastle.Utilities.Encoders;
|
||||
using PagedList;
|
||||
using System;
|
||||
using System.Activities.Expressions;
|
||||
@@ -202,6 +204,142 @@ public class orderController : ApiController
|
||||
var count = _db.pro_order.Count();
|
||||
return count;
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[Route("api/order/AddOrderWithDetail")]
|
||||
public IHttpActionResult AddOrderWithDetail([FromBody] Model.ViewModel.pro_order q)
|
||||
{
|
||||
try
|
||||
{
|
||||
MyWeb.encrypt encrypt = new MyWeb.encrypt();
|
||||
//先塞信眾
|
||||
Model.follower follower = new Model.follower();
|
||||
follower.u_name = q.f_user.u_name;
|
||||
follower.phone = encrypt.EncryptAutoKey(q.f_user.phone);
|
||||
follower.cellphone = encrypt.EncryptAutoKey(q.f_user.cellphone);
|
||||
follower.country = q.f_user.country;
|
||||
follower.id_code = q.f_user.id_code;
|
||||
follower.sex = q.f_user.sex;
|
||||
follower.identity_type = q.f_user.identity_type;
|
||||
follower.birthday = q.f_user.birthday;
|
||||
string sex = q.f_user.sex;
|
||||
follower.f_number = Model.follower.generate_f_number(sex);
|
||||
_db.followers.Add(follower);
|
||||
_db.SaveChanges();
|
||||
int _id = follower.num;//取回信眾的sql server自動編號
|
||||
Hashtable ht= new Hashtable();
|
||||
//再塞親友
|
||||
foreach (var detail in q.details)
|
||||
{
|
||||
//要考慮相同名字只能塞一次,下一個遇到要幫他塞回num
|
||||
foreach (var mid in detail.mid_items)
|
||||
{
|
||||
if (ht.ContainsKey(mid.fam_name))
|
||||
{
|
||||
mid.num = int.Parse(ht[mid.fam_name].ToString());
|
||||
continue;
|
||||
}
|
||||
Model.family_members fam = new Model.family_members();
|
||||
fam.follower_num = _id;
|
||||
fam.fam_name = mid.fam_name;
|
||||
fam.deceased = mid.deceased;
|
||||
_db.family_members.Add(fam);
|
||||
_db.SaveChanges();
|
||||
|
||||
mid.num = fam.num;
|
||||
ht.Add(mid.fam_name, fam.num);
|
||||
}
|
||||
foreach (var left in detail.left_items)
|
||||
{
|
||||
if (ht.ContainsKey(left.fam_name))
|
||||
{
|
||||
left.num =int.Parse( ht[left.fam_name].ToString());
|
||||
continue;
|
||||
}
|
||||
Model.family_members fam = new Model.family_members();
|
||||
fam.follower_num = _id;
|
||||
fam.fam_name = left.fam_name;
|
||||
fam.deceased = left.deceased;
|
||||
_db.family_members.Add(fam);
|
||||
_db.SaveChanges();
|
||||
left.num = fam.num;
|
||||
ht.Add(left.fam_name, fam.num);
|
||||
}
|
||||
}
|
||||
|
||||
//再來報名主檔
|
||||
Model.pro_order order = new Model.pro_order();
|
||||
order.order_no = createOrderNumber();
|
||||
order.up_time = DateTime.Now;
|
||||
order.reg_time = DateTime.Now;
|
||||
order.keyin1 = "A01";
|
||||
order.f_num = _id;
|
||||
order.phone = !string.IsNullOrEmpty(q.f_user.phone)?
|
||||
encrypt.EncryptAutoKey(q.f_user.phone): encrypt.EncryptAutoKey(q.f_user.cellphone);
|
||||
order.activity_num = q.activity_num;
|
||||
order.address = q.f_user.address;
|
||||
order.demo = "";
|
||||
order.send_receipt=false;
|
||||
_db.pro_order.Add(order);
|
||||
//最後功德項目
|
||||
foreach (var detail in q.details)
|
||||
{
|
||||
Model.pro_order_detail o_detail = new Model.pro_order_detail();
|
||||
o_detail.order_no = order.order_no;
|
||||
o_detail.actItem_num = detail.actItem_num;
|
||||
o_detail.price = detail.price;
|
||||
o_detail.qty = detail.qty;
|
||||
o_detail.printed_files = detail.printed_files;
|
||||
o_detail.style = detail.style;
|
||||
Newtonsoft.Json.Linq.JArray mid_items = new Newtonsoft.Json.Linq.JArray();
|
||||
foreach (var data in detail.mid_items)
|
||||
{
|
||||
Newtonsoft.Json.Linq.JObject item = new Newtonsoft.Json.Linq.JObject();
|
||||
item["num"] = data.num;
|
||||
item["fam_name"] = data.fam_name;
|
||||
item["fam_gender"] = "";
|
||||
item["deceased"] = data.deceased;
|
||||
item["fam_title"] = "";
|
||||
item["option_break"] = false;
|
||||
item["IsShuWen"] = false;
|
||||
mid_items.Add(item);
|
||||
}
|
||||
|
||||
Newtonsoft.Json.Linq.JArray left_items = new Newtonsoft.Json.Linq.JArray();
|
||||
foreach (var data in detail.left_items)
|
||||
{
|
||||
Newtonsoft.Json.Linq.JObject item = new Newtonsoft.Json.Linq.JObject();
|
||||
item["num"] = data.num;
|
||||
item["fam_name"] = data.fam_name;
|
||||
item["fam_gender"] = "";
|
||||
item["deceased"] = data.deceased;
|
||||
item["fam_title"] = "";
|
||||
item["option_break"] = false;
|
||||
item["IsShuWen"] = false;
|
||||
left_items.Add(item);
|
||||
}
|
||||
Newtonsoft.Json.Linq.JObject tablet = new Newtonsoft.Json.Linq.JObject();
|
||||
tablet["mid_items"] = mid_items;
|
||||
tablet["left_items"] = left_items;
|
||||
o_detail.f_num_tablet = tablet.ToString();
|
||||
_db.pro_order_detail.Add(o_detail);
|
||||
}
|
||||
_db.SaveChanges();
|
||||
|
||||
return Ok(new
|
||||
{
|
||||
result = "Y",message="報名成功"
|
||||
});
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
return Ok(new
|
||||
{
|
||||
result = "N",message=ex.Message
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[Route("api/order/GetList")]
|
||||
public IHttpActionResult GetList([FromBody] Model.ViewModel.pro_order q, int page, int pageSize = 10,
|
||||
|
||||
Reference in New Issue
Block a user