2013-04-12 30 views
2

我目前工作的一個任務在大學從我不幸的是失去了一些代碼,不久前許多關係。 尤其是在那裏我有具體的產品顯示一個特定的商店,我不工作 都對我現在的代碼,幫助將不勝感激一個使用Web服務和本地數據庫MVC視圖

我有一個Web服務,並在其本土數據庫該網絡服務帶來的產品信息 和本地信息具有存儲數據和商店級數據。

這是我準備好的代碼,讓它在細節視圖頁面上顯示。

@model Part1MVC.ViewModels.GradeProductVM 

@{ 
ViewBag.Title = "Details"; 
} 

<h2>Details</h2> 
<fieldset><legend>GradeProductVM</legend> 
<div class="display-label">@Html.DisplayNameFor(model => model.Gradeid)</div> 
<div class="display-field">@Html.DisplayFor(model => model.Gradeid)</div> 
<div class="display-label">@Html.DisplayNameFor(model => model.GradeName)</div> 
<div class="display-field">@Html.DisplayFor(model => model.GradeName)</div> 
</fieldset> 

<div>There are @Model.Products.Count products</div> 
@foreach (var prod in Model.Products) { <div>@prod.ProductName</div>} 
<p>@Html.ActionLink("Edit", "Edit", new { id=Model.Gradeid }) | 
@Html.ActionLink("Back to List", "Index")</p> 

//這是service1.cs取得的成績產品代碼

public List<PhysicalProduct> GetProductsForGrade(int gradeid){ 
     var list = new List<PhysicalProduct>(); 
     try { 
      using (var db = new ProductsEntities()) { 
       var q = from prod in db.PhysicalProducts 
         join pg in db.ProductToGrades on prod.ProductId equals pg.ProductId 
         where pg.StoreGradeId == gradeid 
         select prod; 
       return q.ToList(); 
      } 
     } 
     catch (Exception ex) { 
      return null; 
     } 
     return list; 
    } 

////這是控制器代碼

public ActionResult Details(int id){ 
     Grade grade = db.Grade.SingleOrDefault(x => x.GradeId == id); 
     //var products = ServiceLayer.GetProducts(); 
     var products = ServiceLayer.GetProductsForGrade(id); 
     var vm = new ViewModels.GradeProductVM(id, grade.Description, products); 
     return View(vm); 
    } 

//這是查看型號代碼

public class GradeProductVM { 
    public int Gradeid { get; set; } 
    public string GradeName { get; set; } 
    public List<PhysicalProduct> Products { get; set; } 

    public GradeProductVM() { 

    } 
    public GradeProductVM(int gradeid, string name, List<PhysicalProduct> prods){ 
     Gradeid = gradeid; 
     GradeName = name; 
     Products = prods; 

    } 
} 

我可以得到所有目前在數據庫中的產品要顯示給每個商店,而不是特定產品到特定商店。

謝謝

+0

在您的代碼不會「存儲」等同於一個檔次? – MarkG

回答

0

請發表數據庫表結構,好像查詢連接可能是錯誤的。 休息似乎是正確的!

相關問題