0
I need to receive the value and quantity in stock of a particular product according to your Id.By debug the product id is arriving correctly, but when I am going to assign the values to the table fields I have error in converting.
// POST: Pedidos/Create
[HttpPost]
public ActionResult Create(Pedido model)
{
//pego a quantidade do produto de acordo com id
var qtdEstoque = db.Estoque.Where(p => p.ProdutoId == model.ProdutoId).Select(p => p.Quantidade);
//pego preço de acordo com id
var precoUnitario = db.Produto.Where(p => p.Id == model.ProdutoId).Select(p => p.Preco);
model.PrecoUnidade = Convert.ToDecimal( precoUnitario);
model.Quantidade = Convert.ToInt32(qtdEstoque);
if (ModelState.IsValid)
{
db.Pedido.Add(model);
db.SaveChanges();
}
ViewBag.ClienteId = new SelectList(db.Cliente.ToList(), "Id", "Nome");
ViewBag.ProdutoId = new SelectList(db.Produto.ToList(), "Id", "Nome");
return View(model);
}
[Table("Pedido")]
public class Pedido
{
public int Id { get; set; }
public int ClienteId { get; set; }
public int ProdutoId { get; set; }
public int Quantidade { get; set; }
public decimal PrecoUnidade { get; set; }
[ForeignKey("ProdutoId")]
public virtual Produto Produto { get; set; }
[ForeignKey("ClienteId")]
public virtual Cliente Cliente { get; set; }
}
What is the error message?
– Leandro Angelo
System.Invalidcastexception: 'It is not possible to convert an object of type 'System.Data.Entity.Infrastructure.Dbquery`1[System.Decimal]' into type 'System.Iconvertible'.'
– Cesar Augusto
Tried to use Double?
– Leandro Angelo
It doesn’t even let because the field in the table is like decimal, if I type in the hand works, but if I try to already get the value of the product in the bank will not =/
– Cesar Augusto