示例#1
0
        public static IEnumerable <string> ValidarParaSair(MovimentacaoSaidaRequest request, IQueryable <Movimentacao> movimentacoes)
        {
            DateTime _dataSaida = DateTime.MinValue;

            if (request.Id == 0)
            {
                yield return(Mensagem.ParametroObrigatorio.Formatar(Termo.Movimentacao));
            }

            if (string.IsNullOrWhiteSpace(request.SaiuEm))
            {
                yield return(Mensagem.ParametroObrigatorio.Formatar(Termo.SaiuEm));
            }
            else if (!DateTime.TryParse(request.SaiuEm, out _dataSaida))
            {
                yield return(Mensagem.ParametroInvalido.Formatar(Termo.SaiuEm));
            }

            Movimentacao model = movimentacoes.FirstOrDefault(movimentacao => movimentacao.Id == request.Id);

            if (DateTime.Compare(model.EntrouEm, _dataSaida) > 0)
            {
                yield return(Mensagem.DataEntradaMenorQueDataSaida);
            }

            if (model == null)
            {
                yield return(Mensagem.EntidadeNaoEncontrada.Formatar(Termo.Veiculo));
            }
        }
        public int Saida(MovimentacaoSaidaRequest request)
        {
            Func <IEnumerable <string> > metodoParaValidarViewModel = (() => MovimentacaoRegras.ValidarParaSair(request, ObterTodos()));
            MovimentacaoViewModel        viewModel = request.TransformarSaidaRequestEmView();

            viewModel = ObterValorACobrar(viewModel);
            return(base.Salvar(viewModel, metodoParaValidarViewModel, MovimentacaoExtension.TransformarViewEmModel));
        }
 public static MovimentacaoViewModel TransformarSaidaRequestEmView(this MovimentacaoSaidaRequest request)
 {
     return(new MovimentacaoViewModel
     {
         Id = request.Id,
         SaiuEm = request.SaiuEm
     });
 }
 public IActionResult Saida([FromBody] MovimentacaoSaidaRequest viewModel)
 {
     return(Ok(new ValorResponse <int>(_movimentacaoServico.Saida(viewModel))));
 }