62 lines
2.6 KiB
C#
62 lines
2.6 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Net;
|
|
using System.Net.Http;
|
|
using System.Web.Http;
|
|
using PagedList;
|
|
using Newtonsoft.Json;
|
|
using System.Collections;
|
|
using static TreeView;
|
|
using System.Data.Entity;
|
|
|
|
/// <summary>
|
|
/// orderdetail 的摘要说明
|
|
/// </summary>
|
|
public class orderdetailController:ApiController
|
|
{
|
|
private Model.ezEntities _db = new Model.ezEntities();
|
|
|
|
[HttpPost]
|
|
[Route("api/orderdetail/GetList")]
|
|
public IHttpActionResult GetList([FromBody] Model.ViewModel.pro_order q, int page, int pageSize = 10, string sortBy = "", bool sortDesc = false)
|
|
{
|
|
int activity_num = Convert.ToInt32(q.activity_num);
|
|
//現在的牌位預覽只會出現功德主,修改為所有人都會出現
|
|
//var aIDt = _db.actItems.AsEnumerable().Where(f => f.subject.Contains(q.actItemTxt.Trim())).Select(f => f.num);//品項
|
|
//var OrderList = _db.pro_order.Where(u => u.activity_num == activity_num).Select(j => j.order_no).ToList();
|
|
//var gdzOrderList = _db.pro_order_detail.Where(o => OrderList.Contains(o.order_no) && o.print_id.Contains("主")).Select(o => o.order_no).Distinct().ToList();
|
|
//var qry = _db.pro_order.Where(u => gdzOrderList.Contains(u.order_no)).AsEnumerable();
|
|
var qry = _db.pro_order.Where( u => u.activity_num == activity_num).AsEnumerable();
|
|
|
|
qry = qry.OrderByDescending(o => o.reg_time);
|
|
|
|
var count = qry.Count(); //pageSize = count;//一次取回??
|
|
var ret = new
|
|
{
|
|
list = qry.ToPagedList(page, pageSize).Select(x => new
|
|
{
|
|
order_no = x.order_no,
|
|
f_num = x.f_num,
|
|
u_name = x.f_num.HasValue ? x.follower.u_name : "",
|
|
activity_num = x.activity_num,
|
|
subject = x.activity_num.HasValue ? x.activity.subject : "",
|
|
keyin1 = x.keyin1,
|
|
up_time = x.up_time,
|
|
keyin1_txt = Model.pro_order.keyin1_value_to_text(x.keyin1),
|
|
//detail = x.pro_order_detail.Where(u => u.printed_files != null)
|
|
detail = new { count = x.pro_order_detail
|
|
.Where(u => (u.parent_num != null)
|
|
|| u.actItem.subject.Contains("牌")
|
|
|| !string.IsNullOrEmpty(u.f_num_tablet))
|
|
.Count(),
|
|
actItem = x.pro_order_detail.Where(u => u.printed_files != null).FirstOrDefault()?.print_id }
|
|
}),
|
|
count = count
|
|
};
|
|
|
|
|
|
if (ret.list == null) throw new HttpResponseException(HttpStatusCode.NotFound);
|
|
return Ok(ret);
|
|
}
|
|
} |