55 lines
1.7 KiB
C#
55 lines
1.7 KiB
C#
using PagedList;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Net;
|
|
using System.Web;
|
|
using System.Web.Http;
|
|
|
|
// api/pre_order
|
|
//[ezAuthorize(Roles = "admin")]//群組:*
|
|
//[ezAuthorize]
|
|
public class preOrderController: ApiController
|
|
{
|
|
|
|
private Model.ezEntities _db = new Model.ezEntities();
|
|
public preOrderController()
|
|
{
|
|
//
|
|
// TODO: 在這裡新增建構函式邏輯
|
|
//
|
|
}
|
|
[HttpPost]
|
|
[Route("api/preOrder/GetPreOrder")]
|
|
|
|
public IHttpActionResult GetPreOrder([FromBody] Model.ViewModel.preOrder pre, int page, int pageSize = 10,
|
|
string sortBy = "", bool sortDesc = false)
|
|
{
|
|
var qry=_db.pre_order.AsQueryable();
|
|
if (!string.IsNullOrEmpty(pre.f_name))
|
|
{
|
|
qry = qry.Where(x => _db.followers.Where(y => y.u_name == pre.f_name).Select(y => y.num).ToList().Contains((int)x.f_num));
|
|
}
|
|
sortBy = sortBy ?? string.Empty;
|
|
var count = qry.Count(); //pageSize = count;//一次取回??
|
|
if (pageSize == -1)
|
|
{
|
|
pageSize = count;
|
|
}
|
|
if (pageSize == 0)
|
|
pageSize = 10;
|
|
var ret = new
|
|
{
|
|
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(),
|
|
}).ToList(),
|
|
count = count
|
|
};
|
|
if (ret.list == null) throw new HttpResponseException(HttpStatusCode.NotFound);
|
|
return Ok(ret);
|
|
}
|
|
|
|
} |