Returns query value in a variable

1

I need to return the value of a query of the query in an int variable, to be able to compare with my TextBox, but I can not make the comparison because it can not compare integer (textbox) with a group of methods (jquery), follow my code below.

Class Control:

public IList<Rota> ConsultaCarro (int NVeiculoId)
{
    string hql = "SELECT * FROM Rota r WHERE r.NVeiculoId = :NVeiculoId";
    IQuery query = session.CreateQuery(hql);
    query.SetParameter("NVeiculoId", NVeiculoId);
    return query.UniqueResult<Rota>(); 
    return query.List<Rota>();
}

Controller:

public ActionResult Adicionar(RotaModel viewModel)
{
    if (/*Onde entraria o valor da query*/ = viewModel.NVeiculoId)
    {

    }

    if (viewModel.Km_Atual < 85000)
    {
        ModelState.AddModelError("Km_Atual.Invalido",
        "A quilometragem precisa ser maior que a anterior");
    }
    if (ModelState.IsValid)
    {
        Rota rota = viewModel.CriaRota();
        dao.Adicionar(rota);
        //return View();
        return RedirectToAction("Form");
    }
    else
    {
        ViewBag.Veiculo = veiculoDao.Lista();
        return View("Index", viewModel);
    }
} 
    
asked by anonymous 21.07.2017 / 22:17

1 answer

1

For the comments, I think this is what you need

public ActionResult Adicionar(RotaModel viewModel)
{
    var rotas = ConsultaCarro(viewModel.NVeiculoId);
    // Aqui busca todas as rotas deste veículo

    var maiorRota = rotas.OrderByDescending(r => r.Km_Atual).First();
    // Aqui você tem a última rota cadastrada, considerando a regra geral   

    if (viewModel.Km_Atual < maiorRota.Km_Atual)
    {
        ModelState.AddModelError("Km_Atual.Invalido",
        "A quilometragem precisa ser maior que a anterior");
    }

    if (ModelState.IsValid)
    {
        Rota rota = viewModel.CriaRota();
        dao.Adicionar(rota);
        //return View();
        return RedirectToAction("Form");
    }
    else
    {
        ViewBag.Veiculo = veiculoDao.Lista();
        return View("Index", viewModel);
    }
} 
    
21.07.2017 / 23:11