public Task <GetWorksDetailResponse> GetDetailAsync(GetWorksDetail dto)
 {
     return(Task.Run(() =>
     {
         var worksEntity = _worksRepository.TableNoTracking.Where(t => t.Id.Equals(dto.id)).SingleOrDefault();
         if (worksEntity != null)
         {
             var metaData = _worksMetaRepository.TableNoTracking.Where(t => t.WorksId.Equals(worksEntity.Id)).SingleOrDefault();
             var itemList = _worksItemsRepository.TableNoTracking.Where(t => t.WorksId.Equals(worksEntity.Id)).ToList();
             GetWorksDetailResponse resp = Mapper.Map <GetWorksDetailResponse>(worksEntity);
             if (metaData != null)
             {
                 resp.actual_area = metaData.ActualArea;
                 resp.cost = metaData.Cost;
                 resp.helper = metaData.helper;
                 resp.is_hot = metaData.IsHot;
             }
             if (itemList != null && itemList.Count() > 0)
             {
                 Mapper.Map(itemList, resp.products);
                 resp.products = Mapper.Map <List <ItemInfo> >(itemList);
             }
             return resp;
         }
         else
         {
             throw new NotFoundException(string.Format("不存在id为:{0}的作品!", dto.id.ToString()));
         }
     }));
 }
Exemplo n.º 2
0
        public async Task <IHttpActionResult> Get([FromUri] GetWorksDetail dto)
        {
            var resp = await _worksService.GetDetailAsync(dto);

            return(Ok(resp));
        }