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)))); }