Пример #1
0
 /// <summary>
 /// 获取供应商列表
 /// </summary>
 /// <param name="arg"></param>
 /// <returns></returns>
 public async Task <IApiResult> GetList(P_Users.P_GetUserListPage arg)
 {
     return(await Task.Run(() =>
     {
         IApiResult ar = new IApiResult();
         var userid = userInfo.UserID;
         try
         {
             using (DAL.CarRentEntities db = new DAL.CarRentEntities())
             {
                 var query = from u in db.Users
                             where u.ParentID == userid && u.Deleted == false
                             select new Models.Return.R_Users.GetUsersListPage_Result.GetUsersListPage_List
                 {
                     UserID = u.UserID,
                     UserName = u.UserName,
                     LoginName = u.LoginName,
                     Contact = u.FirstName ?? "",
                     CellPhone = u.CellPhone ?? "",
                     Price = u.ActivationCount,
                     AllDeviceCount = u.AllDeviceCount,
                     Created = u.Created,
                     Address = u.Address1 ?? ""
                 };
                 if (arg.start_date != null)
                 {
                     query = query.Where(u => u.Created >= arg.start_date);
                 }
                 if (arg.end_date != null)
                 {
                     query = query.Where(u => u.Created <= arg.end_date);
                 }
                 if (!string.IsNullOrEmpty(arg.keyword))
                 {
                     query = query.Where(u => u.UserName.Contains(arg.keyword) || u.LoginName.Contains(arg.keyword) || u.Contact.Contains(arg.keyword) || u.CellPhone.Contains(arg.keyword));
                 }
                 int index = (arg.p - 1) * arg.pagesize;
                 var total = query.Count();
                 var list = query.OrderBy(u => u.UserID).Skip(index).Take(arg.pagesize).ToList();
                 list.ForEach(item => item.RowIndex = ++index);
                 ar.result = new
                 {
                     total = total,
                     pages = Math.Ceiling(Convert.ToDecimal(total / Convert.ToDouble(arg.pagesize))),
                     list = list,
                 };
                 ar.message = $"There are {total} data";
             }
         }
         catch (Exception ex)
         {
             Log.Error(this, ex);
             ar.code = StatusCode.error;
             ar.message = ex.Message;
         }
         return ar;
     }));
 }
Пример #2
0
 public async Task <IApiResult> GetUserList([FromUri] P_Users.P_GetUserListPage pars)
 {
     return(await ApiAsync(pars, new BLL.UsersManager.Users().GetList));
 }