Ejemplo n.º 1
0
        /* public IEnumerable<Audit.PersonInfo> GetPersonInfoList(Audit.PersonInfo.Criteria criteria)
         * => _zdDBContext.ProspectPerson
         *      .OrderByDescending(x => x.CreateDate)
         *      .Include(p => p.Operator)
         *      .Sort(criteria.SortField, criteria.IsOrderByDesc)
         *      .FilterBy(criteria)
         *      .AsNoTracking()
         *      .MapToList<Audit.PersonInfo>(); */

        public IEnumerable <Audit.PersonInfo> GetPersonInfoList(Audit.PersonInfo.Criteria criteria)
        {
            var personList = (
                from person in _zdDBContext.ProspectPerson.Include(x => x.Operator).FilterBy(criteria, false)
                join record in _zdDBContext.AuditRecord.Include(a => a.Operator)
                on new
            {
                ID = person.Id.ToString(),
                AuditType = AuditType.Person.ToValue(),
                IdNotEqualNull = person.Id.ToString() != null
            }
                equals new
            {
                ID = record.AuditId,
                record.AuditType,
                IdNotEqualNull = true
            } into cr
                from a in cr.DefaultIfEmpty()
                orderby person.CreateDate descending
                select new Audit.PersonInfo
            {
                Id = person.Id,
                Person = person.Person,
                Company = person.Company,
                Position = person.Position,
                Industry = person.Industry,
                Region = person.Region,
                Address = person.Address,
                Telphone = person.Telphone,
                Status = person.Status,
                Remark = person.Remark,
                CreateDate = person.CreateDate,
                UpdateDate = person.UpdateDate,
                OperatorId = person.OperatorId,
                Operator = person.Operator.Name,
                IsContact = (int)person.IsContact,
                ContactedState = person.ContactedState,
                Auditor = a.Operator.Name
            });

            return(personList
                   .Sort(criteria.SortField, criteria.IsOrderByDesc)
                   .PaginationBy(criteria)
                   .AsNoTracking()
                   .ToList());
        }
 public IActionResult ExportUserIDCardList([FromBody] Audit.PersonInfo.Criteria criteria)
 => TryCatch(() => File(_personInfoRepo.GetPersonInfoList(criteria.SetMaxPageSize()).ToExcel(ExportMappings.PersonExportConfig), "application/vnd.ms-excel"));
 public IActionResult GetUserReportList(Audit.PersonInfo.Criteria criteria)
 => TryCatch(() => criteria.PageOf(x => _personInfoRepo.GetPersonInfoList(criteria)));