예제 #1
0
 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"));
 }
예제 #2
0
        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);
        }