コード例 #1
0
 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));
     }
 }
コード例 #2
0
        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,
                    };
                })
            }));
        }