2016-05-16 12 views
0

私はテーブルが2つあり、1つはOrdersであり、製品のアドレス/リストを保持していて、テーブルはreturnDetailsです。これは、ユーザーがオーダーを返すことを望むときに使用されます。 returnDetailsには、返されているOrderIdがあります。コントローラ内のテーブルの比較

同じ注文IDの返品がある注文にのみメッセージを表示するにはどうすればよいですか?現在、「処理中」のみが表示されます。

ビューモデルを使用して、商品を含む注文を表示しました。

[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」のビジネスロジックであるかについては明らかではないということだと思う: は、ここで私が試したが、私はまだ働いて、それを持っていないものです。この変数の値から、注文リストの代わりに1つの注文のように見えます。参照用に変更されたインデックスメソッドがあります:

関連する問題