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 = "" }));
            }
        }
示例#2
0
        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);
        }
示例#3
0
        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);
        }