/// <summary> /// 获取报警消息列表 /// </summary> /// <param name="arg"></param> /// <returns></returns> public Task <IApiResult> GetMessageList(P_Message.P_GetMessageList arg) { return(Task.Run(() => { IApiResult ar = new IApiResult(); try { using (DAL.CarRentEntities db = new CarRentEntities()) { var query = from m in db.ExceptionMessage join d in db.Devices on m.DeviceID equals d.DeviceID join u in db.Users on d.UserID equals u.UserID where m.Deleted == 0 select new R_Message.GetMessageListPage_Result.GetMessageListPage_List { Created = m.Created ?? default(DateTime), DeviceName = d.DeviceName, UserID = u.UserID, UserName = u.UserName, ExceptionID = m.ExceptionID, PhoneNum = d.PhoneNum, Message = m.Message, SerialNumber = d.SerialNumber }; if (arg.userid != null) { query = query.Where(q => q.UserID == arg.userid); } if (arg.start_date != null) { query = query.Where(q => q.Created >= arg.start_date); } if (arg.end_date != null) { query = query.Where(q => q.Created <= arg.end_date); } if (!string.IsNullOrEmpty(arg.keyword)) { query = query.Where(q => q.DeviceName.Contains(arg.keyword) || q.SerialNumber.Contains(arg.keyword) || q.PhoneNum.Contains(arg.keyword)); } int total = query.Count(); // p=1 , pagesize=20 (p - 1) * pagesize = 0 var index = (arg.p - 1) * arg.pagesize; query = query.OrderBy(p => p.Created).Skip(index).Take(arg.pagesize); var list = query.ToList(); list.ForEach((s) => { s.RowIndex = ++index; }); ar.message = $"查询到{total}条数据."; ar.result = new { list = list, pages = total % arg.pagesize == 0 ? total / arg.pagesize : total / arg.pagesize + 1, // pages = Math.Ceiling(Convert.ToDecimal(total / arg.pagesize)), total = total }; } } catch (Exception ex) { Log.Error(this, ex); ar.code = StatusCode.error; ar.message = ex.Message; } return ar; })); }
public async Task <IApiResult> GetMessageList([FromUri] P_Message.P_GetMessageList pars) { return(await ApiAsync(pars, new BLL.MessageManager.Message().GetMessageList)); }