/// <summary> /// 获取当前用户的工作列表 /// </summary> /// <param name="input"></param> /// <returns></returns> public async Task <PagedResultDto <JobListDto> > GetMyJobs(GetMyJobsInput input) { var query = _myJobRepository.GetAllIncluding(c => c.Job); query = query.Where(c => c.CustomerId == input.CustomerId && c.VilidateState.HasValue && c.VilidateState.Value); var jobCount = await query.CountAsync(); var jobs = await query .OrderBy(input.Sorting) .PageBy(input) .ToListAsync(); var result = new List <JobListDto>(); foreach (var c in jobs) { var model = c.Job.MapTo <JobListDto>(); model.State = c.State; model.VilidateState = c.VilidateState; result.Add(model); } //var jobListDtos = ObjectMapper.Map<List <JobListDto>>(jobs); return(new PagedResultDto <JobListDto>( jobCount, result )); }
/// <summary> /// 获取我创建的工作列表i /// </summary> /// <param name="input"></param> /// <returns></returns> public async Task <PagedResultDto <JobListDto> > GetMyCreateJobs(GetMyJobsInput input) { var query = _jobRepository.GetAll(); query = query.Where(c => c.CreatorId == input.CustomerId); var jobCount = await query.CountAsync(); var jobs = await query .OrderBy(input.Sorting) .PageBy(input) .ToListAsync(); var cj = _myJobRepository.GetAll(); var t = from c in jobs join d in await cj.ToListAsync() on c.Id equals d.JobId into hh from tt in hh.DefaultIfEmpty() select new { c, tt }; var ttt = from c in t group c by c.c into h select new { h.Key, Count = h.Count() }; var result = new List <JobListDto>(); foreach (var c in ttt) { var model = c.Key.MapTo <JobListDto>(); model.JoinCount = c.Count; result.Add(model); } //var jobListDtos = ObjectMapper.Map<List <JobListDto>>(jobs); return(new PagedResultDto <JobListDto>( jobCount, result )); }