コード例 #1
0
        public IActionResult Get(CatSalemanCriteria criteria, int page, int size)
        {
            var data   = catSaleManService.Paging(criteria, page, size, out int rowCount);
            var result = new { data, totalItems = rowCount, page, size };

            return(Ok(result));
        }
コード例 #2
0
        public List <CatSaleManViewModel> Paging(CatSalemanCriteria criteria, int page, int size, out int rowsCount)
        {
            List <CatSaleManViewModel> results = null;
            var list = Query(criteria);

            if (list == null)
            {
                rowsCount = 0;
                return(results);
            }
            rowsCount = list.ToList().Count;
            if (size > 1)
            {
                if (page < 1)
                {
                    page = 1;
                }
                results = list.OrderByDescending(x => x.ModifiedDate).Skip((page - 1) * size).Take(size).ToList();
            }
            return(results);
        }
コード例 #3
0
        public IQueryable <CatSaleManViewModel> Query(CatSalemanCriteria criteria)
        {
            var salesMan = GetSaleMan().Where(x => x.PartnerId == criteria.PartnerId);
            var sysUser  = sysUserRepository.Get();
            var query    = from saleman in salesMan
                           join users in sysUser on saleman.SaleManId equals users.Id
                           select new { saleman, users };

            if (criteria.All == null)
            {
                query = query.Where(x =>
                                    (x.saleman.Company == criteria.Company || criteria.Company == Guid.Empty) &&
                                    (x.saleman.Office == criteria.Office || criteria.Office == Guid.Empty) &&
                                    (x.saleman.Status == criteria.Status || criteria.Status == null)
                                    );
            }
            else
            {
                query = query.Where(x =>
                                    (x.saleman.Company == criteria.Company || criteria.Company == Guid.Empty) ||
                                    (x.saleman.Office == criteria.Office || criteria.Office == Guid.Empty) ||
                                    (x.saleman.Status == criteria.Status || criteria.Status == null) ||
                                    (x.saleman.PartnerId == criteria.PartnerId)
                                    );
            }
            if (query.Count() == 0)
            {
                return(null);
            }
            List <CatSaleManViewModel> results = new List <CatSaleManViewModel>();

            foreach (var item in query)
            {
                var saleman = mapper.Map <CatSaleManViewModel>(item.saleman);
                saleman.Username = item.users.Username;
                results.Add(saleman);
            }
            return(results?.OrderBy(x => x.CreateDate).AsQueryable());
        }
コード例 #4
0
        public IActionResult Get(CatSalemanCriteria criteria)
        {
            var results = catSaleManService.Query(criteria);

            return(Ok(results));
        }