When you select the value and I'm going to register, it tells me an error.
System.ArgumentException: The value "System.Object []" is not of type "BlogWeb.Models.Compra" and can not be used in this generic collection. Parameter name: value
Supply Controller:
public ActionResult Adiciona(AbastecimentoModel viewModel)
{
var Produto = ckm.ConsultaValor(viewModel.NomeProdutoId);
//*var teste = ckm.ConsultaValor(compra.VlrUnit);
var Valor = Produto.OrderByDescending(compra => compra.VlrUnit).Last();
viewModel.VlrUnitId = Valor.VlrUnit;
if (ModelState.IsValid)
{
Abastecimento abastecimento = viewModel.CriaAbastecimento();
dao.Adiciona(abastecimento);
//return View();
return RedirectToAction("Index");
}
else
{
ViewBag.Compra = compraDAO.Lista();
ViewBag.Usuarios = usuarioDAO.Lista();
ViewBag.Veiculo = veiculoDAO.Lista();
return View("Form", viewModel);
}
}
ControleKm Class:
public IList<Abastecimento> ConsultaProduto(int NomeProdutoId)
{
string hql = "SELECT a FROM Abastecimento a";
IQuery query = session.CreateQuery(hql);
return query.List<Abastecimento>();
}
public IList<Compra> ConsultaValor(float VlrUnit)
{
string hql = "SELECT * FROM Compra";
IQuery query = session.CreateSQLQuery(hql);
return query.List<Compra>();
}
}
SupplyModel:
public Abastecimento CriaAbastecimento ()
{
Abastecimento abastecimento = new Abastecimento()
{
Id = this.Id,
Km = this.Km,
DtAbastecido = this.DtAbastecido,
Litro = this.Litro,
VlrUnit = this.VlrUnit,
TotalGasto = this.TotalGasto
};
if (this.AutorId != 0)
{
Usuario autor = new Usuario()
{
Id = this.AutorId
};
abastecimento.Autor = autor;
}
if (this.NumCarroId != 0)
{
Veiculo numcarro = new Veiculo()
{
Id = this.NumCarroId
};
abastecimento.NumCarro = numcarro;
}
if (this.NomeProdutoId != 0)
{
Compra nomeproduto = new Compra()
{
Id = this.NomeProdutoId
};
abastecimento.NomeProduto = nomeproduto;
}
return abastecimento;
}