STAGE 3-4
This commit is contained in:
@@ -21,6 +21,9 @@ public class orderController : ApiController
|
||||
{
|
||||
private Model.ezEntities _db = new Model.ezEntities();
|
||||
// GET api/<controller>
|
||||
// TODO: CRITICAL - 無參數 Get() 會載入所有訂單到內存(可能數千筆)
|
||||
// 建議:停用此方法,強制使用分頁版本 Get(page, pageSize)
|
||||
// 或改為:return _db.pro_order.AsQueryable(); 讓客戶端決定如何處理
|
||||
public IEnumerable<Model.pro_order> Get()
|
||||
{
|
||||
var list = _db.pro_order.ToList();
|
||||
@@ -57,17 +60,17 @@ public class orderController : ApiController
|
||||
// DELETE api/<controller>/5
|
||||
public void Delete(string id)
|
||||
{
|
||||
var prod = _db.pro_order.AsEnumerable().Where(q => q.order_no == id).FirstOrDefault(); //刪除該筆資料
|
||||
var prod = _db.pro_order.Where(q => q.order_no == id).FirstOrDefault(); //刪除該筆資料
|
||||
if (prod != null)
|
||||
{
|
||||
//刪除掛單表單
|
||||
var prod3 = _db.bed_order.AsEnumerable().Where(q => q.order_no == id).ToList();
|
||||
var prod3 = _db.bed_order.Where(q => q.order_no == id).ToList();
|
||||
if (prod3.Count > 0)
|
||||
{
|
||||
//刪除掛單明細
|
||||
foreach (var item3 in prod3)
|
||||
{
|
||||
var prod4 = _db.bed_order_detail.AsEnumerable().Where(q => q.bed_order_no == item3.bed_order_no).ToList();
|
||||
var prod4 = _db.bed_order_detail.Where(q => q.bed_order_no == item3.bed_order_no).ToList();
|
||||
if (prod4.Count > 0)
|
||||
{
|
||||
_db.bed_order_detail.RemoveRange(prod4); //查詢結果全部刪除
|
||||
@@ -103,13 +106,13 @@ public class orderController : ApiController
|
||||
if (prod != null)
|
||||
{
|
||||
//刪除掛單表單
|
||||
var prod3 = _db.bed_order.AsEnumerable().Where(q => q.order_no == prod.order_no).ToList();
|
||||
var prod3 = _db.bed_order.Where(q => q.order_no == prod.order_no).ToList();
|
||||
if (prod3.Count > 0) //count = 1
|
||||
{
|
||||
//刪除掛單明細
|
||||
foreach (var item3 in prod3)
|
||||
{
|
||||
var prod4 = _db.bed_order_detail.AsEnumerable().Where(q => q.bed_order_no == item3.bed_order_no).ToList();
|
||||
var prod4 = _db.bed_order_detail.Where(q => q.bed_order_no == item3.bed_order_no).ToList();
|
||||
if (prod4.Count > 0)
|
||||
{
|
||||
_db.bed_order_detail.RemoveRange(prod4); //查詢結果全部刪除
|
||||
@@ -137,17 +140,17 @@ public class orderController : ApiController
|
||||
var prod = _db.pro_order.Where(q => ids.Contains(q.order_no)).ToList();
|
||||
if (prod.Count() > 0)
|
||||
{
|
||||
var prod2 = _db.pro_order_detail.AsEnumerable().Where(q => ids.Contains(Convert.ToString(q.order_no))).ToList();
|
||||
var prod2 = _db.pro_order_detail.Where(q => ids.Contains(Convert.ToString(q.order_no))).ToList();
|
||||
if (prod2.Count > 0)
|
||||
{
|
||||
foreach (var item2 in prod2)
|
||||
{
|
||||
var prod3 = _db.bed_order.AsEnumerable().Where(q => q.order_no == item2.order_no && q.o_detail_id == item2.num).ToList();
|
||||
var prod3 = _db.bed_order.Where(q => q.order_no == item2.order_no && q.o_detail_id == item2.num).ToList();
|
||||
if (prod3.Count > 0)
|
||||
{
|
||||
foreach (var item3 in prod3)
|
||||
{
|
||||
var prod4 = _db.bed_order_detail.AsEnumerable().Where(q => q.bed_order_no == item3.bed_order_no).ToList();
|
||||
var prod4 = _db.bed_order_detail.Where(q => q.bed_order_no == item3.bed_order_no).ToList();
|
||||
if (prod4.Count > 0)
|
||||
{
|
||||
_db.bed_order_detail.RemoveRange(prod4);
|
||||
@@ -327,7 +330,7 @@ public class orderController : ApiController
|
||||
{
|
||||
|
||||
int activity = prod.activity_num.HasValue ? prod.activity_num.Value : 0; //活動
|
||||
var bedDt = _db.bed_order_detail.AsEnumerable().Where(b => b.bed_order.order_no == order_no); ;//掛單明細
|
||||
var bedDt = _db.bed_order_detail.Where(b => b.bed_order.order_no == order_no); ;//掛單明細
|
||||
|
||||
|
||||
//var qry1 = _db.pro_order_detail.AsEnumerable();
|
||||
@@ -1080,7 +1083,7 @@ public class orderController : ApiController
|
||||
if (detail_num > 0)
|
||||
{
|
||||
//檢查
|
||||
var prod = _db.pro_order_record.AsEnumerable().Where(o => o.detail_num == detail_num)
|
||||
var prod = _db.pro_order_record.Where(o => o.detail_num == detail_num)
|
||||
.OrderByDescending(o => o.pay_date).ToList();
|
||||
int i = 1;
|
||||
|
||||
@@ -1134,8 +1137,8 @@ public class orderController : ApiController
|
||||
{
|
||||
if (item.detail_num > 0)
|
||||
{
|
||||
float total = _db.pro_order_detail.AsEnumerable().Where(x => x.num == item.detail_num).Select(x => x.price.Value * x.qty.Value).Sum();
|
||||
float pay = _db.pro_order_record.AsEnumerable().Where(x => x.detail_num == item.detail_num).Select(x => x.price.Value).Sum();
|
||||
float total = _db.pro_order_detail.Where(x => x.num == item.detail_num).Select(x => x.price.Value * x.qty.Value).Sum();
|
||||
float pay = _db.pro_order_record.Where(x => x.detail_num == item.detail_num).Select(x => x.price.Value).Sum();
|
||||
|
||||
if (pay + item.price.Value <= total)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user