private void PreencherRps(GerarPassagemAprovadaParkResponse response) { if (response.PassagemAprovadaEstacionamento.Conveniado.UtilizaRps && response.PassagemAprovadaEstacionamento.Valor > 0) { var qry = new CriarPassagemAprovadaCompletaParkQuery(_dataSourceConectSysReadOnly, _dataSourceFallBack); qry.Execute(response.PassagemAprovadaEstacionamento); } }
public GerarPassagemAprovadaParkResponse Execute(GerarPassagemAprovadaParkRequest request) { var response = new GerarPassagemAprovadaParkResponse { PassagemAprovadaEstacionamento = new PassagemAprovadaEstacionamento() }; Mapper.Map(request.PassagemPendenteEstacionamento, response.PassagemAprovadaEstacionamento); response.PassagemAprovadaEstacionamento.TransacaoEstacionamento = new TransacaoEstacionamento { RegistroTransacaoId = request.PassagemPendenteEstacionamento.RegistroTransacaoId, AdesaoId = request.PassagemPendenteEstacionamento.Adesao.Id.TryToInt(), ConveniadoId = request.PassagemPendenteEstacionamento.Conveniado.Id.TryToInt(), Data = DateTime.Now, StatusId = (int)StatusAutorizacao.Ativa, DataHoraTransacao = request.PassagemPendenteEstacionamento.DataPassagem, DataHoraEntrada = request.PassagemPendenteEstacionamento.DataHoraEntrada, TipoTransacaoEstacionamentoId = (int)request.PassagemPendenteEstacionamento.TipoTransacaoEstacionamento, Mensalista = request.PassagemPendenteEstacionamento.Mensalista, PistaId = request.PassagemPendenteEstacionamento.Pista.Id.TryToInt(), PracaId = request.PassagemPendenteEstacionamento.Praca.Id.TryToInt(), MotivoAtrasoTransmissaoId = (int)request.PassagemPendenteEstacionamento.MotivoAtrasoTransmissao, MotivoDesconto = request.PassagemPendenteEstacionamento.MotivoDesconto, Credito = false, TipoOperacaoId = (int)TipoOperacaoMovimentoFinanceiro.Estacionamento, TagId = request.PassagemPendenteEstacionamento.Tag.Id.TryToInt(), Ticket = request.PassagemPendenteEstacionamento.Ticket, ValorDesconto = request.PassagemPendenteEstacionamento.ValorDesconto, Valor = request.PassagemPendenteEstacionamento.Valor, TempoPermanencia = request.PassagemPendenteEstacionamento.TempoPermanencia, DataRepasse = DateTime.Now, // Será preenchido no calculo de repasse RepasseId = 0, // Será preenchido no calculo de repasse ValorRepasse = 0, // Será preenchido no calculo de repasse DataReferencia = DateTime.Now, // Será preenchido no calculo de repasse, TarifaDeInterconexao = 0, // Será preenchido no calculo de repasse NumeroRPS = 0, //Preenchido pela query CriarPassagemAprovadaCompletaParkQuery SerieRPS = string.Empty, //Preenchido pela query CriarPassagemAprovadaCompletaParkQuery SurrogateKey = request.PassagemPendenteEstacionamento.RegistroTransacaoId, Detalhes = request.PassagemPendenteEstacionamento.Detalhes.Select(x => new DetalhePassagemEstacionamento { PistaId = x.CodigoPista ?? 0, DataHoraPassagem = x.Data ?? DateTime.Now, SurrogateKey = request.PassagemPendenteEstacionamento.RegistroTransacaoId }).ToList() }; PreencherRps(response); var calcularRepasse = new CalcularRepasseParkBo(_dataSourceConectSysReadOnly, _dataSourceFallBack, response.PassagemAprovadaEstacionamento); calcularRepasse.Calcular(); return(response); }