修改挂单功能
This commit is contained in:
@@ -11,7 +11,7 @@ using System.Web.Http;
|
||||
/// lianyouController 的摘要描述
|
||||
/// </summary>
|
||||
[ezAuthorize]
|
||||
public class lianyouController: ApiController
|
||||
public class lianyouController : ApiController
|
||||
{
|
||||
private Model.ezEntities _db = new Model.ezEntities();
|
||||
|
||||
@@ -19,13 +19,34 @@ public class lianyouController: ApiController
|
||||
[Route("api/lianyou/getfollowers")]
|
||||
public async Task<IHttpActionResult> GetGuadanFollowers(int page, int pageSize, string searchName = null)
|
||||
{
|
||||
var qry = _db.followers.AsEnumerable();
|
||||
if(searchName != null)
|
||||
// IQueryable 可讓 EF 在資料庫層面執行過濾和投影
|
||||
var qry = _db.followers.AsQueryable();
|
||||
|
||||
if (!string.IsNullOrEmpty(searchName))
|
||||
{
|
||||
qry = qry.Where(a => (a.u_name ?? "").Contains(searchName) || (a.phone ?? "").Contains(searchName));
|
||||
}
|
||||
var count = qry.Count();
|
||||
var data = qry.OrderBy(a => a.f_number).ToPagedList(page, pageSize);
|
||||
return Ok(new {data = data, count = count});
|
||||
|
||||
var count = await qry.CountAsync();
|
||||
|
||||
// 投影到只需要的欄位
|
||||
var projected = qry
|
||||
.OrderBy(a => a.f_number)
|
||||
.Select(a => new
|
||||
{
|
||||
num = a.num,
|
||||
u_name = a.u_name,
|
||||
phone = a.phone,
|
||||
sex = a.sex,
|
||||
});
|
||||
|
||||
// 分頁
|
||||
var data = projected
|
||||
.Skip((page - 1) * pageSize)
|
||||
.Take(pageSize)
|
||||
.ToList(); // 如果使用 EF Core 可用 ToListAsync()
|
||||
|
||||
return Ok(new { data = data, count = count });
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user