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())); } })); }
public async Task <IHttpActionResult> Get([FromUri] GetWorksDetail dto) { var resp = await _worksService.GetDetailAsync(dto); return(Ok(resp)); }