Exemplo n.º 1
0
        /// <summary>
        /// 获取行程详情信息
        /// </summary>
        /// <param name="request">The request.</param>
        /// <param name="userId"></param>
        /// <returns>Response&lt;GetStokeDetailResponse&gt;.</returns>
        /// <exception cref="NotImplementedException"></exception>
        public async Task <Response <GetStrokeDetailResponse> > GetStrokeDetail(GetStrokeDetailRequest request)
        {
            var userId     = contextAccessor.UserId();
            var strokeInfo = await this.strokeContext.Strokes.FirstOrDefaultAsync(x => x.Id == request.Id);

            if (strokeInfo == null)
            {
                throw new Exception("获取行程信息失败");
            }
            var tempRows = await(from stroke in this.strokeContext.Strokes
                                 join strokeColl in this.strokeContext.StrokeCollects on stroke.Id equals strokeColl.StrokeId into temp
                                 from t in temp.DefaultIfEmpty()
                                 where stroke.Id == request.Id
                                 select new GetStrokeDetailResponse
            {
                Id           = stroke.Id,
                Title        = stroke.Title,
                Detail       = stroke.Detail,
                CollectId    = t == null ? 0 : t.Id,                   //行程收藏编号
                IsActive     = t == null?false:true,
                ImageUrl     = stroke.ImageUrl,
                ImageThumb   = stroke.ImageThumb,
                NumberDay    = stroke.NumberDay,
                City         = stroke.City,
                Destination  = stroke.Destination,
                Price        = stroke.Price,
                SpecialPrice = stroke.SpecialPrice
            }).FirstOrDefaultAsync();

            return(new Response <GetStrokeDetailResponse>
            {
                Data = tempRows
            });
        }
 public Task <Response <GetStrokeDetailResponse> > GetStrokeDetail([FromBody] GetStrokeDetailRequest request)
 {
     return(this.strokeService.GetStrokeDetail(request));
 }