예제 #1
0
        public IEnumerable <Audit.UserCareers> GetUserCareerList(Audit.UserCareers.Criteria criteria)
        {
            var userCareerList = (from career in _zdDBContext.UserCareer.Include(c => c.User).FilterBy(criteria, false)
                                  join record in _zdDBContext.AuditRecord.Include(a => a.Operator)
                                  on new
            {
                CareerId = career.Id.ToString(),
                AuditType = AuditType.Career.ToValue(),
                UserIdNotEqualsNull = career.UserId != null
            }
                                  equals
                                  new
            {
                CareerId = record.AuditId,
                record.AuditType,
                UserIdNotEqualsNull = true
            } into cr
                                  from a in cr.DefaultIfEmpty()
                                  where string.IsNullOrEmpty(criteria.Auditor) || a.Operator.Name == criteria.Auditor
                                  orderby career.UpdateDate descending
                                  select new Audit.UserCareers
            {
                Id = career.Id,
                RowId = Guid.NewGuid(),
                UserID = career.UserId,
                UserName = career.User.UserName,
                NickName = career.User.NickName,
                CareerType = (int)career.CareerType,
                Status = career.Status,
                CreateDate = career.CreateDate,
                UpdateDate = career.UpdateDate ?? null,
                Company = career.Company,
                Position = career.Position,
                CompanyTel = career.CompanyTel,
                Telphone = career.User.Telphone,
                CardUrl = career.CardUrl,
                Auditor = a.Operator.Name,
                AuditDate = a.AuditDate,
                ConfirmCareerType = career.User.CareerType,
                Count = (from p in _zdDBContext.UserCareer where p.UserId == career.UserId select p).Count()
            });

            return(userCareerList
                   .Sort(criteria.SortField, criteria.IsOrderByDesc)
                   .PaginationBy(criteria)
                   .AsNoTracking()
                   .ToList());
        }
 public IActionResult UserCareerToExcel([FromBody] Audit.UserCareers.Criteria criteria)
 => File(_userCareerRepo.GetUserCareerList(criteria.SetMaxPagSize()).ToExcel(ExportMappings.UserCareerExportConfig), "application/vnd.ms-excel");
 public IActionResult GetCareerList(Audit.UserCareers.Criteria criteria)
 => TryCatch(() => criteria.PageOf(x => _userCareerRepo.GetUserCareerList(x)));