2012-02-12 2 views
0

저는이 웹 사이트에서 일하고 있습니다.이 웹 사이트에서는 사용 가능한 모든 제품을 페이지에 가져 왔습니다. 이 제품의 각 제품에는 색상, 크기, 가격 등이 포함 된 ProductDetail이 있습니다.엔티티의 다른 테이블에서 최저 가격을 얻으십시오.

이 제품의 가장 저렴한 가격을 표시하고 싶습니다. 제품 목록과 함께 ViewModel을 사용하고 있습니다. 이 특정 제품에 대한 가격을 어떻게 얻을 수 있는지 모르겠다. 제품 상세 정보 목록도 있습니다. 그래서 어떻게 든 나는 그것의 ProductDetails의 가장 낮은 가격을 가져야 만한다.

var model = new ViewModelProductOverview() 
     { 
      Products = new ProductRepository().GetProductsAvailable(Id, Index, Size), 
      Category = new CategoryRepository().Get(Id), 
      CurrentPageID = page.HasValue ? page.Value : -1 
     }; 

내보기 : 기본적으로

@{ 
      var i = 0; 

      foreach (var product in Model.Products) 
      { 
       var position = ""; 
       switch (i) 
       { 
        case 0: position = "first"; 
         break; 
        case 1: position = "second"; 
         break; 
        case 2: position = "third"; 
         break; 
        default: i = 0; position = "first"; 
         break; 
       } 

      <li class="@position"><a href="@Url.Action("Detail", "Product", new { productseourl = product.Name.ToSeoUrl(Sign.Minus), productid = product.ID })" > 
      </a> 
       <table> 
        <tr> 
         <td> 
          @product.Name @product.FabricType.Name 
         </td> 
         <td style="text-align: right;"> 
          //Its lowest price need to come here 
         </td> 
        </tr> 
        <tr> 
         <td> 
          @product.SubCategory.Name 
         </td> 
         <td style="text-align: right;"> 
          //Promotion price 
         </td> 
        </tr> 
       </table> 
      </li> 
       i++; 
      } 
     } 
+0

그냥 조금 (클래스의 개요) 이것을 만들 것

내 뷰 모델입니다 대답하기가 훨씬 쉽다. –

+0

코드 샘플을 업데이트했습니다. – Wartodust

+0

ASPX는별로 도움이되지 않습니다. –

답변

1

, 코드의

var minPrice = allProducts.Details.Select(d => d.Price).Min(); 

var cheapestDetail = allProducts.Details.OrderBy(d => d.Price).First(); 
+0

문제는 목록의 모든 제품에 대해이 정보를 얻어야한다는 것입니다. – Wartodust

+0

우리는 수업을 모르는 것이 문제입니다. –

+0

정확히 어떤 코드를보고 싶습니까? 내 모델? 내 엔티티마다 저장소를 사용하여 내 컬렉션을 가져옵니다. – Wartodust

관련 문제