2014-09-23 3 views
0

Я делаю проект на MVC,Добавление инвентаризации в MVC

Это как моя таблица инвентаризации выглядит следующим образом:

inventory table

Я хочу, чтобы мои FoodId быть сгруппированы и соответствующие QuantityInStyock сусло обновляться в одной таблице.

Вот как мой контроллер выглядит следующим образом:

var add = (from m in db.Tbl_Inventory 
          where m.FoodId == pdtfid 
          select m.QuantityInStock).FirstOrDefault(); 

if (add == 0) 
{ 
    In.FoodId = product.FoodId; 
    In.QuantityInStock = In.QuantityInStock + product.ProductQuantity; 
    db.Tbl_Inventory.Add(In); 
} 
else 
{ 

} 

мне нужен запрос в заявлении еще так, что в следующий раз, когда я добавить новый продукт которого FoodId уже существует в базе данных она должна просто обновить QuantityInStock вместо создавая новую строку.

ответ

0

Вместо того, чтобы извлекать m.QuantityInStock, я бы предложил получить запись Tbl_Inventory и проверить, является ли запись пустой. Если это значение равно null, создайте новую запись, иначе обновите свойство QuantityInStock. См. Код ниже

// get the Tbl_Inventory record where FoodId equals pdtfid 
var add = (from m in db.Tbl_Inventory 
       where m.FoodId == pdtfid 
       select m).FirstOrDefault(); 

if (add == null) 
{ 
    // insert new record 
    In.FoodId = product.FoodId; 
    In.QuantityInStock = In.QuantityInStock + product.ProductQuantity; 
    db.Tbl_Inventory.Add(In); 
} 
else 
{ 
    // update QuantityInStock from the existing record 
    add.QuantityInStock += product.ProductQuantity; 
} 

// submit the changes 
db.SaveChanges(); 
Смежные вопросы