public async Task <IActionResult> ConfirmarEntrada(EntradaVeiculoViewModel viewModel) { viewModel.Mensagem = string.Empty; try { await _factory.SaveEntradaAsync(viewModel); } catch (ModelValidateException ex) { ex.Results.AddToModelState(ModelState, null); return(View("Registrar", viewModel)); } catch (Exception ex) { viewModel.Mensagem = $"Ocorreu um erro inesperado! Descricão: {ex.Message}"; return(View("Registrar", viewModel)); } return(RedirectToAction("Index")); }
public async Task SaveEntradaAsync(EntradaVeiculoViewModel viewModel) { var results = _validatorEntrada.Validate(viewModel); if (!results.IsValid) { throw new ModelValidateException("Não foi possível registrar a entrada!", results); } var tab = await _tabelaPrecosService.GetQuery().Where(w => viewModel.DataEntrada >= w.Inicio && viewModel.DataEntrada <= w.Fim).FirstOrDefaultAsync(); var veiculo = await _veiculoServices.GetQuery().Where(v => v.Id == viewModel.VeiculoId).FirstOrDefaultAsync(); var movimentacao = new Movimentacao() { Entrada = viewModel.DataEntrada, VeiculoId = viewModel.VeiculoId, //TabelaPreco = tab, TabelaPrecoId = tab.Id, Valor = tab.Preco, //Veiculo = veiculo }; await _movimentacaoService.CreateAsync(movimentacao); }