static void BuscarLogradourosBairros(CidadeDAO cidade) { Console.WriteLine("A busca pode demorar alguns minutos. Aguarde..."); Bairro b = null; var sw = new Stopwatch(); for (int id = 39; id < cidade.BairrosDAO.Count; id++) { sw.Start(); Task.Run(async() => { var city = new Cidade(cidade.Nome, cidade.UF); b = await Correios.GetLogradouroPorBairroAsync(city, cidade.BairrosDAO[id].Nome, new Status()); }).Wait(); foreach (var log in b.Logradouros) { LogradouroDAO.AdicionarLogradouro(log, cidade.Id, cidade.BairrosDAO[id].Id); Console.WriteLine($"{log.Nome} - {log.Cep} adicionado ao bd"); } sw.Stop(); Console.WriteLine($"A busca do {b.Nome} retornou {b.Logradouros.Count} logradouros e demorou {sw.Elapsed.TotalMinutes:0.0} min"); Console.WriteLine("Aguardando 5 seg para buscar novamente"); Task.Delay(1000 * 5 * 1).Wait(); } }
static void Main(string[] args) { var distance = 159.5; var product = new { Name = "Xbox", Weight = 2.6 }; var shippingService = new ShippingService(); var correiosShipping = new Correios(); var jadlogShipping = new Jadlog(); var tntShipping = new Tnt(); var upsShipping = new Ups(); shippingService.SetCalculateShipping(correiosShipping); double correiosShippingPrice = shippingService.Calculate(product.Weight, distance); shippingService.SetCalculateShipping(jadlogShipping); double jadlogShippingPrice = shippingService.Calculate(product.Weight, distance); shippingService.SetCalculateShipping(tntShipping); double tntShippingPrice = shippingService.Calculate(product.Weight, distance); shippingService.SetCalculateShipping(upsShipping); double upsShippingPrice = shippingService.Calculate(product.Weight, distance); System.Console.WriteLine($"Correios: {correiosShippingPrice:C2}"); System.Console.WriteLine($"Jadlog: {jadlogShippingPrice:C2}"); System.Console.WriteLine($"TNT: {tntShippingPrice:C2}"); System.Console.WriteLine($"UPS: {upsShippingPrice:C2}"); }
public static bool LocaizaCep(string CEP) { try { if (Correios.ConsultaCEP(CEP)) { Cidade = Correios.Cidade; Bairro = Correios.Bairro; Rua = Correios.Endereco; Bairro = Correios.Bairro; Estado = Correios.Estado; Complemento = Correios.Complemento; } else { Erro = Correios.Erro; return(false); } } catch (Exception ex) { Erro = ex.Message; return(false); } return(true); }
static AreaCobertura CriarEntidadeAreaCobertura(Correios correio) { AreaCobertura retorno = new AreaCobertura(); retorno.CepInicio = correio.CepInicio; retorno.CepTermino = correio.CepFim; retorno.DataCriacao = DateTime.Now.Date; retorno.TransportadoraId = 1; retorno.UltimaAtualizacao = DateTime.Now.Date; return(retorno); }
static void Main(string[] args) { Correios _c = new Correios(); Console.Write("Digite Cep: "); var _key = Console.ReadLine(); var _result = _c.ConsultaCep(_key); Console.WriteLine(_result.Mensagem); Console.Read(); }
static List <Correios> LerArquivoCorreios(bool remessaExpressa) { List <Correios> listaCorreios = new List <Correios>(); string con = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Users\rgcarneiro\Downloads\CepXPeso_Correios_atualizado_Accentiv.xls;Extended Properties='Excel 8.0;HDR=Yes;'"; using (OleDbConnection connection = new OleDbConnection(con)) { connection.Open(); OleDbCommand command = new OleDbCommand("select * from [Correio$]", connection); using (OleDbDataReader dr = command.ExecuteReader()) { while (dr.Read()) { if (remessaExpressa) { if (dr[8].ToString() == "Remessa Expressa") { Correios planilhaCorreios = new Correios { Origem = dr[0].ToString(), CepInicio = Convert.ToInt32(dr[1]), CepFim = Convert.ToInt32(dr[2]), PesoDe = Convert.ToInt32(dr[3]), PesoAte = Convert.ToInt32(dr[4]), Custo = Convert.ToDecimal(dr[5]) }; listaCorreios.Add(planilhaCorreios); } } else { Correios planilhaCorreios = new Correios { Origem = dr[0].ToString(), CepInicio = Convert.ToInt32(dr[1]), CepFim = Convert.ToInt32(dr[2]), PesoDe = Convert.ToInt32(dr[3]), PesoAte = Convert.ToInt32(dr[4]), Custo = Convert.ToDecimal(dr[5]) }; listaCorreios.Add(planilhaCorreios); } } } } return(listaCorreios); }
static PesoValor CriarEntidadePesoValor(Correios correio, int idAreaCobertura) { var retorno = new PesoValor(); retorno.AreaCoberturaId = idAreaCobertura; retorno.PesoMinimo = (Convert.ToDecimal(correio.PesoDe) / 1000); retorno.PesoMaximo = (Convert.ToDecimal(correio.PesoAte) / 1000); retorno.DataCriacao = DateTime.Now; retorno.UltimaAtualizacao = DateTime.Now; if (correio.Origem == "SAO PAULO") { retorno.Valor = correio.Custo; } else { retorno.ValorCuritiba = correio.Custo; } return(retorno); }
public double Calculate(Purchase purchase) { double discount = 0; var correios = new Correios(); if (purchase.Value > 100) // Rule 1 { var standardPriceTabletable = new StandardPriceTable(); discount = standardPriceTabletable.DiscountTo(purchase.Value); } if (purchase.Value > 200) // Rule 2 { var differentiatedPriceTable = new DifferentiatedPriceTable(); discount = differentiatedPriceTable.DiscountTo(purchase.Value); } // Rule 3 // Rule ... var shipping = correios.Calculate(purchase.City); return(purchase.Value * (1 - discount) + shipping); }
//GET: /api/UserProfile public async Task <Object> GetUserProfile() { //pega o UserID do Token JWT gerado string userId = User.Claims.First(c => c.Type == "UserID").Value; var user = await _userManager.FindByIdAsync(userId); //monstro criado em tentativas falhas que eu tive medo de destruir /* string nCdEmpresa =""; * string sDsSenha =""; // "<sDsSenha></sDsSenha>" * string nCdServico ="04014"; // "<nCdServico>04014</nCdServico>" * string sCepOrigem ="40393000"; // "<sCepOrigem>40393000</sCepOrigem>" * string sCepDestino = user.Cep; // "<sCepDestino>14056724</sCepDestino>" * string nVlPeso ="1"; // "<nVlPeso>1</nVlPeso>" * int nCdFormato =3; // "<nCdFormato>3</nCdFormato>" * Decimal nVlComprimento =5; // "<nVlComprimento>5</nVlComprimento>" * Decimal nVlAltura =0; // "<nVlAltura>0</nVlAltura>" * Decimal nVlLargura =7; // "<nVlLargura>7</nVlLargura>" * Decimal nVlDiametro =3; // "<nVlDiametro>3</nVlDiametro>" * string sCdMaoPropria ="S"; // "<sCdMaoPropria>S</sCdMaoPropria>" * Decimal nVlValorDeclarado =0; // "<nVlValorDeclarado>0</nVlValorDeclarado>" * string sCdAvisoRecebimento ="S"; // "<sCdAvisoRecebimento>S</sCdAvisoRecebimento>"; * var binding = new BasicHttpBinding() * { * Name = "BasicHttpBinding_CorreiosService", * MaxBufferSize = 2147483647, * MaxReceivedMessageSize = 2147483647 * }; * var endpoint = new EndpointAddress("http://localhost:5000/api/UserProfile"); * var correios = new ServiceReference.CalcPrecoPrazoWSSoapClient(binding, endpoint); * var consulta = correios.CalcPrecoPrazoAsync(nCdEmpresa, sDsSenha,nCdServico,sCepOrigem, sCepDestino,nVlPeso,nCdFormato, * nVlComprimento,nVlAltura, nVlLargura, nVlDiametro, sCdMaoPropria, nVlValorDeclarado, sCdAvisoRecebimento); */ //consulta a api SOAP dos correios, res em XML string consulta = Correios.CallWebService(user.Cep); //filtra a informação desejada na resposta xml String searchString = "<Valor>"; int startIndex = consulta.IndexOf(searchString); searchString = "</" + searchString.Substring(1); int endIndex = consulta.IndexOf(searchString); String substring = consulta.Substring(startIndex, endIndex + searchString.Length - startIndex); XDocument doc = XDocument.Parse(substring); string valor = ""; foreach (XElement valorElement in doc.Descendants("Valor")) { string valorValue = (string)valorElement; valor += valorValue; } return(new { user.Nome, user.Saldo, user.UserName, user.Cep, user.N_conta, user.PhoneNumber, valor }); }
static void MostrarBairros(CidadeDAO cidade, bool semLogradouro = false) { int ini = 0; int fim = 10; int q = 10; if (fim > cidade.BairrosDAO.Count) { fim = cidade.BairrosDAO.Count; } Console.WriteLine("Use as setas <- e -> para exibir ou ESC para sair."); Console.WriteLine("Para buscar individualmente aperte TAB e o id do bairro."); ConsoleKey key = ConsoleKey.A; while (key != ConsoleKey.Escape) { Console.WriteLine("ID\tID Banco\tBairro"); for (int i = ini; i < fim; i++) { Console.WriteLine($"{i}\t{cidade.BairrosDAO[i].Id}\t{cidade.BairrosDAO[i].Nome}"); } key = Console.ReadKey().Key; if (key == ConsoleKey.RightArrow) { if (fim + q > cidade.BairrosDAO.Count) { fim = cidade.BairrosDAO.Count; ini = fim - (fim - ini); } else { ini += q; fim += q; } } else if (key == ConsoleKey.LeftArrow) { if (ini - q < 0) { ini = 0; fim = q; if (fim > cidade.BairrosDAO.Count) { fim = cidade.BairrosDAO.Count; } } else { ini -= q; fim -= q; } } else if (key == ConsoleKey.Tab) { Console.Write("ID: "); var id = Convert.ToInt32(Console.ReadLine()); Console.WriteLine("A busca pode demorar alguns minutos. Aguarde..."); Bairro b = null; var sw = new Stopwatch(); sw.Start(); var status = new Status(); Task.Run(async() => { var city = new Cidade(cidade.Nome, cidade.UF); b = await Correios.GetLogradouroPorBairroAsync(city, cidade.BairrosDAO[id].Nome, status); }).Wait(); sw.Stop(); foreach (var log in b.Logradouros) { LogradouroDAO.AdicionarLogradouro(log, cidade.Id, cidade.BairrosDAO[id].Id); } Console.WriteLine($"A busca retornou {b.Logradouros.Count} logradouros e demorou {sw.Elapsed.TotalMinutes:0.0} min"); } } }