Суть вопроса:
разрабатывается веб-магазин, соответственно существует Корзина, в которую добавляется товар из Каталога. Из Корзины товары оформляются и переходят в ИсториюЗаказов. Проблема заключается в том, что если в Корзину было добавлено больше одного товара, то и в ИсториюЗаказов "перейдет" только первый добавленный товар, а остальные удаляются.
Бью челом, прошу помощи.
[HttpPost]
public ActionResult Orders(HistoryOfOrder history ,Order order,Stuff stuff, int Id )
{
var user_name = this.User.Identity.Name;
var find_user = db.Users.FirstOrDefault(u => u.login == user_name);
var userId = find_user.Id;
var query2 =
from o in db.Orders
where o.UserName == user_name
select o;
var query3 = from h in db.HistoryOfOrders
select h;
foreach (var all_order in query2)
{
if (query2.Count() != 0 )
{
HistoryOfOrder all_history1 = db.HistoryOfOrders.FirstOrDefault(p => history.Id == p.Id);
all_order.Adress = order.Adress;
all_history1.UserName = all_order.UserName;
history.Order_id = all_order.Id;
history.NameOfOrder = all_order.NameOfOrder;
history.Image = all_order.Image;
history.Price = all_order.Price;
history.Quantity = all_order.Quantity;
history.Summ = all_order.Summ;
history.Size = all_order.Size;
history.Adress = all_order.Adress;
history.OrderTime = System.DateTime.Now;
history.Status = "не оформлено";
db.Orders.RemoveRange(all_order);
db.HistoryOfOrders.Add(history);
}
}
db.SaveChanges();
return RedirectToAction("Orders");
}