示例#1
0
        public async Task <PontosCarteiraTotal> ConsultarPontos(CarteiraMotorista carteiraMotorista)
        {
            Stopwatch watch = Stopwatch.StartNew();

            _Logger.LogInformation($"Iniciando a execução do método ConsultarPontos({carteiraMotorista})");
            var result = await _Inner.ConsultarPontos(carteiraMotorista);

            watch.Stop();
            _Logger.LogInformation($"Encerrando a execução do método ConsultarPontos({carteiraMotorista}) {watch.ElapsedMilliseconds}ms");
            return(result);
        }
示例#2
0
        public XmlElement ExportarXml(XmlDocument doc)
        {
            var xmlCliente = doc.CreateElement("cliente");

            var xmlCpf = doc.CreateElement("cpf");

            xmlCpf.InnerText = Cpf;
            xmlCliente.AppendChild(xmlCpf);

            var xmlNome = doc.CreateElement("nome");

            xmlNome.InnerText = Nome;
            xmlCliente.AppendChild(xmlNome);

            var xmlIdade = doc.CreateElement("Idade");

            xmlIdade.InnerText = Idade.ToString();
            xmlCliente.AppendChild(xmlIdade);

            var xmlSexo = doc.CreateElement("Sexo");

            xmlSexo.InnerText = Sexo == EnumSexo.Masculino ? "Masculino" : "Feminino";
            xmlCliente.AppendChild(xmlSexo);

            var xmlCarteiraMotorista = doc.CreateElement("CarteiraMotorista");

            xmlCarteiraMotorista.InnerText = CarteiraMotorista.ToString();
            xmlCliente.AppendChild(xmlCarteiraMotorista);

            var xmlCarteiraReservista = doc.CreateElement("CarteiraReservista");

            xmlCarteiraReservista.InnerText = CarteiraReservista.ToString();
            xmlCliente.AppendChild(xmlCarteiraReservista);

            if (Endereco != null)
            {
                xmlCliente.AppendChild(Endereco.ExportarXml(doc));
            }

            return(xmlCliente);
        }
 protected override Task <string> RealizarAcesso(CarteiraMotorista carteiraMotorista)
 {
     //Task.Delay(5000).Wait(); //Deixando o serviço mais lento para evidenciar o uso do CACHE.
     _Logger.LogDebug($"Consultando pontos da carteira de motorista de {carteiraMotorista.Nome} para o estado de {carteiraMotorista.UF}.");
     return(Task.FromResult($"CONTEUDO DO SITE DO DETRAN/{carteiraMotorista.UF}"));
 }
示例#4
0
 public Task <PontosCarteiraTotal> ConsultarPontos(CarteiraMotorista carteiraMotorista)
 {
     return(Task.FromResult(_Cache.GetOrCreate <PontosCarteiraTotal>($"{carteiraMotorista.UF}_{carteiraMotorista.Nome}_{carteiraMotorista.CPF}_{carteiraMotorista.CNH}",
                                                                     () => _Inner.ConsultarPontos(carteiraMotorista).Result)));
 }
 protected abstract Task <string> RealizarAcesso(CarteiraMotorista carteiraMotorista);
        public async Task <PontosCarteiraTotal> ConsultarPontos(CarteiraMotorista carteiraMotorista)
        {
            var html = await RealizarAcesso(carteiraMotorista);

            return(await PadronizarResultado(html, carteiraMotorista.CNH));
        }
示例#7
0
        public Task <PontosCarteiraTotal> ConsultarPontos(CarteiraMotorista carteiraMotorista)
        {
            IDetranVerificadorPontosCarteiraRepository repository = _Factory.Create(carteiraMotorista.UF);

            return(repository.ConsultarPontos(carteiraMotorista));
        }