Не получается при продаже товара, списывать, остаток с базы данных
{
if(id==null)
return RedirectToAction("Index");
ViewBag.Rez = id;
return View();
}
[HttpPost]
public string Buy(Order order, Phone phone)
{
db.Orders.Add(order);
db.SaveChanges();
phone.Count--;
db.Phones.Update(phone);
db.SaveChanges();
return "Спасибо, " + order.User + ", за покупку!";
}
Есть класс Phone,который имеет свойство Count(остаток товара), но при продаже остаток не меняется. Или надо создать третью переменную, для сохранения данных.
Ответы (1 шт):
Автор решения: xxramm
→ Ссылка
Все проще. Допустим
public class Phone
{
[Key]
public int ID { get; set; }
public int Count { get; set; }
}
[HttpPost]
public string Buy(Order order, Phone phone)
{
db.Orders.Add(order);
// Обновляем объект базы. Phones - имя таблицы для Phone
var phoneInDb = db.Phones.Where(con => con.ID == phone.ID).FirstOrDefault();
phoneInDb.Count = phoneInDb.Count - 1;
db.Phones.Update(phoneInDb);
// Не рекомендуется в одном методе использовать больше одного SaveChanges.
db.SaveChanges();
return "Спасибо, " + order.User + ", за покупку!";
}