public IActionResult Search([FromQuery] SearchActivityModel model) { SearchActivityReqs search = Mapper.Map <SearchActivityModel, SearchActivityReqs>(model); ApiResult <PagedData <ActivityResp> > activitys = _activityService.Search(search); ApiResult <IEnumerable <DivisionResp> > divisionResult = _divisionService.GetByIds(activitys.Result.Records.Select(x => x.DivisionId).ToArray()); ApiResult <IEnumerable <WizardResp> > wizards = _wizardService.GetWizards(activitys.Result.Records.Select(x => x.CreatorId).ToArray()); return(Ok(new { activitys.Result.PageNow, activitys.Result.PageSize, activitys.Result.TotalCount, Records = activitys.Result.Records.Select(x => { DivisionResp division = divisionResult.Result.FirstOrDefault(d => d.DivisionId == x.DivisionId); WizardResp creator = wizards.Result.FirstOrDefault(u => u.WizardId == x.CreatorId); return new { x.ActivityId, x.DivisionId, x.Name, x.BeginTime, x.FinishTime, x.RegistrationBeginTime, x.RegistrationFinishTime, Status = x.Status.GetName(), Division = division?.Name, Creator = creator?.Account }; }) })); }
public IActionResult SearchApplicant(long activityId, [FromQuery] SearchApplicantReqs search) { search.ActivityId = activityId; ApiResult <PagedData <ApplicantResp> > applicantApi = _activityService.SearchApplicant(search); if (!applicantApi.Result.Records.Any()) { return(Ok(new PagedData <ApplicantResp>())); } ApiResult <IEnumerable <DivisionResp> > divisionResult = _divisionService.GetByIds(applicantApi.Result.Records.Select(x => x.DivisionId).ToArray()); ApiResult <IEnumerable <WizardResp> > wizards = _wizardService.GetWizards(applicantApi.Result.Records.Select(x => x.WizardId).ToArray()); ApiResult <IEnumerable <ActivityResp> > activitys = _activityService.GetByIds(applicantApi.Result.Records.Select(x => x.ActivityId).ToArray()); return(Ok(new { applicantApi.Result.PageNow, applicantApi.Result.PageSize, applicantApi.Result.TotalCount, Records = applicantApi.Result.Records.Select(x => { DivisionResp division = divisionResult.Result.FirstOrDefault(d => d.DivisionId == x.DivisionId); WizardResp wizard = wizards.Result.FirstOrDefault(u => u.WizardId == x.WizardId); ActivityResp activity = activitys.Result.FirstOrDefault(a => a.ActivityId == x.ActivityId); return new { x.ApplicantId, Activity = activity?.Name, WizardName = wizard?.Account, Division = division?.Name, x.ApplyTime, x.Mobile, x.RealName, Status = x.Status.GetName() }; }) })); }