2016-05-16 37 views
0

我有兩個表格,一個是Orders,它包含地址/產品列表以及returnDetails表格。這在用戶想要返回訂單時使用。 returnDetails具有正在返回的OrderId。比較控制器中的表格

如何僅在具有相同OrderID的訂單上顯示消息?目前只顯示「處理」。

我使用視圖模型來顯示產品的訂單。 這裏是我試過,但我還沒有得到它尚未工作:

[Authorize] 
public ActionResult Index(string date) 
{ 
    string currentUser = this.User.Identity.GetUserName(); 

    List<T_shirt_Company_v3.ViewModels.MyOrdersViewModel> list = (from o in new TshirtStoreDB().Orders 
      .Where(o => o.Username == currentUser) 
      .OrderByDescending(o => o.OrderDate) 
      .Select(o => new MyOrdersViewModel() 
      { 
       OrderId = o.OrderId, 
       Address = o.Address, 
       FirstName = o.FirstName, 
       LastName = o.LastName, 
       City = o.City, 
       OrderDate = o.OrderDate, 
       PostalCode = o.PostalCode, 
       Total = o.Total, 
       HasBeenShipped = o.HasBeenShipped, 
       PostageList = o.PostageList, 
       Details = (from d in o.OrderDetails 
          select new MyOrderDetails 
          { 
           Colour = d.Product.Colour, 
           Quantity = d.Quantity, 
           Title = d.Product.Title, 
           UnitPrice = d.UnitPrice 
          }).ToList() 
      }).ToList() select o).ToList(); 


    if (date != null) 
    { 
     DateTime today = DateTime.Now.AddDays(Convert.ToInt32(date) * -1); 
     return View(list.Where(x => x.OrderDate >= today).ToList()); 
    } 


    //WORKING ON 
     var returnstats = db.Orders.Where(x => x.OrderId == x.returnDetails.OrderId).ToList(); 
     if (returnstats != null) 
     { 
      ViewBag.returnstats = "Returning Item"; 
     } 
     else 
     { 
      ViewBag.returnstats = "processing"; 
     } 


    return View(list); 
} 

回答

0

我認爲問題是,你是不是清楚什麼是「returnstats」的業務邏輯。根據您提供的這個變量的值,它看起來像是單一訂單而不是訂單清單。這裏有一個修改後的索引方法供您參考: