public async Task <JsonResult> GetList(string name, int page = 0, int rows = 20) { try { var balance = ObjectContainer.Resolve <IBalanceService>(); var staff = ObjectContainer.Resolve <IStaffService>(); return(await Task.Run(() => { var para = new CustomerPara { Id = name, PageNumber = page - 1, PageSize = rows, OrgId = LoginInfo.Org.Id, RoleId = LoginInfo.Role }; var rlt = _customerService.GetModels(para, out var count); var data = rlt.MapTo <List <Models.CustomerModel> >(); data.ForEach(async m => m.Balance = await balance.GetBalanceAsync(m.Id)); data.ForEach(m => m.SalesMan = staff.Get(m.SalesMan)?.Name); data.ForEach(m => m.Name = _authentyService.Get(m.Id)?.Name); data.ForEach(m => m.Licence = _authentyService.Get(m.Id)?.Licence); return new JsonResult(new { total = count, rows = data }); })); } catch (Exception e) { Logger.Error("customerController GetList Error", e); return(new JsonResult(new { total = 0, rows = "" })); } }
public List <CustomerDto> GetModels(CustomerPara para, out int total) { var p = PredicateBuilder.Default <CustomerDto>(); if (!string.IsNullOrWhiteSpace(para.Id)) { p = p.And(m => m.Id.Contains(para.Id)); } if (para.SalesMan.IsNotNullOrEmpty()) { p = p.And(m => m.SalesMan.Equals(para.SalesMan)); } //p = p.And(m => m.Status < AccountStatus.Obsolete); var lst = GetList(para.RoleId, para.OrgId).Where(p.Compile()).ToList(); total = lst.Count; var rlt = lst.OrderByDescending(m => m.CreateDate).Skip(para.PageNumber * para.PageSize).Take(para.PageSize).ToList(); return(rlt); }
public List <CustomerDto> CustomerPara(CustomerPara para, out int total) { var count = 0; var customers = UnitOfWorkService.Execute(() => { var p = PredicateBuilder.Default <CustomerEntity>(); if (!string.IsNullOrEmpty(para.Id))//账号 { p = p.And(m => m.Id.Equals(para.Id)); } p = p.And(m => m.Status < 8); var customer = _customerRepository.GetPaged(p, para.PageNumber, para.PageSize, out count, false, item => item.CreateDate); return(customer?.Select(c => c.MapTo <CustomerDto>()).ToList()); }); if (customers == null) { total = 0; return(new List <CustomerDto>()); } total = count; return(customers); }