public ApiResult <PagedData <SessionResp> > SearchSession(SearchSessionReqs search) { try { PagedData <SessionInfo> sessions = _sessionQueryService.QueryPaged(Mapper.Map <SearchSessionReqs, SearchSessionCondition>(search)); return(new ApiResult <PagedData <SessionResp> >(ResultStatus.SUCCESS, Mapper.Map <PagedData <SessionInfo>, PagedData <SessionResp> >(sessions))); } catch (Exception ex) { _logger.LogError("查询场次时异常", ex); return(new ApiResult <PagedData <SessionResp> >(ResultStatus.EXCEPTION, new PagedData <SessionResp>(), ex.Message)); } }
public IActionResult Search([FromQuery] SearchSessionReqs search) { ApiResult <PagedData <SessionResp> > sessionApi = _sessionService.SearchSession(search); if (sessionApi.Status != ResultStatus.SUCCESS) { return(Ok(new PagedData <SessionResp>())); } if (sessionApi.Result.TotalCount == 0) { return(Ok(new PagedData <SessionResp>())); } ApiResult <IEnumerable <DivisionResp> > divisions = _divisionService.GetByIds(sessionApi.Result.Records.Select(x => x.DivisionId).ToArray()); ApiResult <IEnumerable <Remote.Models.Cinema> > cinemas = _cinemaService.GetByIds(sessionApi.Result.Records.Select(x => x.CinemaId)); ApiResult <IEnumerable <ActivityResp> > activityList = _activityService.GetByIds(sessionApi.Result.Records.Select(x => x.ActivityId).ToArray()); ApiResult <IEnumerable <Hall> > hallList = _hallService.GetByIds(sessionApi.Result.Records.Select(o => o.HallId)); return(Ok(new { sessionApi.Result.PageNow, sessionApi.Result.PageSize, sessionApi.Result.TotalCount, Records = sessionApi.Result.Records.Select(x => { DivisionResp division = divisions.Result.FirstOrDefault(o => o.DivisionId == x.DivisionId); Remote.Models.Cinema cinema = cinemas.Result.FirstOrDefault(o => o.CinemaId == x.CinemaId); ActivityResp activity = activityList.Result.FirstOrDefault(o => o.ActivityId == x.ActivityId); Hall hall = hallList.Result.FirstOrDefault(o => o.HallId == x.HallId); return new { x.SessionId, Division = division?.Name, Cinema = cinema?.Name, Hall = hall?.Name, Activity = activity?.Name, StatusDesc = x.Status.GetName(), Status = x.Status, }; }) })); }