public PassagemPendenteEstacionamento CarregarPassagemPendentePark(PassagemPendenteEstacionamento passagemPendentePark) { Log.Info($"Passagem RegistroTransacaoId: {passagemPendentePark.RegistroTransacaoId} - Fluxo: GerarPassagemParkHandler | Criando Passagem Completa."); var query = new CriarPassagemCompletaParkQuery(_dataSourceConectSysReadOnly, _dataSourceFallBack); query.Execute(passagemPendentePark); return(passagemPendentePark); }
public ValidarPassagemParkResponse Execute(ValidarPassagemParkRequest request) { PassagemPendenteEstacionamento = request.PassagemPendenteEstacionamento; Log.Info($"Passagem RegistroTransacaoId: {request.PassagemPendenteEstacionamento.RegistroTransacaoId} - Fluxo: ValidarPassagemParkResponse | ValidarConveniado"); if (!_validator.Validate(request.PassagemPendenteEstacionamento, PassagemPendenteParkValidatorEnum.ValidarConveniado.ToString())) { throw new ParkException(request.PassagemPendenteEstacionamento, EstacionamentoErros.ConveniadoNaoEstacionamento); } Log.Info($"Passagem RegistroTransacaoId: {request.PassagemPendenteEstacionamento.RegistroTransacaoId} - Fluxo: ValidarPassagemParkResponse | ValidarTag"); if (!_validator.Validate(request.PassagemPendenteEstacionamento, PassagemPendenteParkValidatorEnum.ValidarTag.ToString())) { throw new ParkException(request.PassagemPendenteEstacionamento, EstacionamentoErros.TagInvalida); } Log.Info($"Passagem RegistroTransacaoId: {request.PassagemPendenteEstacionamento.RegistroTransacaoId} - Fluxo: ValidarPassagemParkResponse | ValidarPraca"); if (!_validator.Validate(request.PassagemPendenteEstacionamento, PassagemPendenteParkValidatorEnum.ValidarPraca.ToString())) { throw new ParkException(request.PassagemPendenteEstacionamento, EstacionamentoErros.PracaInvalida); } Log.Info($"Passagem RegistroTransacaoId: {request.PassagemPendenteEstacionamento.RegistroTransacaoId} - Fluxo: ValidarPassagemParkResponse | ValidarPista"); if (!_validator.Validate(request.PassagemPendenteEstacionamento, PassagemPendenteParkValidatorEnum.ValidarPista.ToString())) { throw new ParkException(request.PassagemPendenteEstacionamento, EstacionamentoErros.PistaInvalida); } Log.Info($"Passagem RegistroTransacaoId: {request.PassagemPendenteEstacionamento.RegistroTransacaoId} - Fluxo: ValidarPassagemParkResponse | ValidarDataTransacaoUltrapassaLimitePermitido"); ValidarDataTransacaoUltrapassaLimitePermitido(); Log.Info($"Passagem RegistroTransacaoId: {request.PassagemPendenteEstacionamento.RegistroTransacaoId} - Fluxo: ValidarPassagemParkResponse | ValorTransacaoUltrapassaLimitePermitido"); ValorTransacaoUltrapassaLimitePermitido(); return(new ValidarPassagemParkResponse { PassagemPendenteEstacionamento = request.PassagemPendenteEstacionamento }); }
public ParkDomainException(PassagemPendenteEstacionamento passagemPendenteEstacionamento, string message) { PassagemPendenteEstacionamento = passagemPendenteEstacionamento; Message = $"Erro na requisição - {message}"; }
public ParkException(PassagemPendenteEstacionamento passagemPendenteEstacionamento, EstacionamentoErros erro) : base(erro.GetDescription()) { PassagemPendenteEstacionamento = passagemPendenteEstacionamento; Erro = erro; }
public IHttpActionResult Park(List <PassagemPendenteEstacionamentoDto> request) { var passagensPendentesEstacionamento = new List <PassagemPendenteEstacionamento>(); foreach (var c in request) { var p = new PassagemPendenteEstacionamento { RegistroTransacaoId = c.RegistroTransacaoId.TryToLong(), Conveniado = new Conveniado { CodigoProtocolo = c.CodigoConveniado.TryToInt() }, Adesao = new Adesao { Tag = new Tag { OBUId = c.Tag.TryToLong() } }, Praca = new Praca { CodigoPraca = c.Praca.TryToInt() }, Pista = new Pista { CodigoPista = c.Pista.TryToInt() }, DataPassagem = c.DataHoraTransacao, DataHoraEntrada = c.DataHoraEntrada, Valor = c.ValorCobrado, ValorDesconto = c.ValorDesconto, MotivoDesconto = c.MotivoDesconto, TempoPermanencia = c.TempoPermanencia, MotivoAtrasoTransmissao = (MotivoAtrasoTransmissaoEstacionamento)c.MotivoAtrasoTransmissao, TipoTransacaoEstacionamento = (TipoTransacaoEstacionamento)(c.TipoTransacao ?? 0), Ticket = c.Ticket, Mensalista = c.Mensalista, Tag = new Tag { OBUId = c.Tag.TryToLong() }, Detalhes = new List <DetalhePassagemPendenteEstacionamento>() }; if (c.Detalhes != null && c.Detalhes.Any()) { c.Detalhes.ForEach((d) => { p.Detalhes.Add(new DetalhePassagemPendenteEstacionamento { CodigoPraca = d.CodigoPraca, CodigoPista = d.CodigoPista, Data = d.Data }); }); } passagensPendentesEstacionamento.Add(p); } var mensagem = new CoordinatorParkMessage { FluxoExecucao = Enums.ParkActorsEnum.CoordinatorParkActor, PassagensPendentesEstacionamentos = passagensPendentesEstacionamento }; TransacaoParkActorSystem.Processar(mensagem); return(_result.Ok(true, "Processo iniciado com sucesso")); }
public ValidarTransacaoRepetidaParkQuery(PassagemPendenteEstacionamento passagemPendenteEstacionamento) { _passagemPendenteEstacionamento = passagemPendenteEstacionamento; }