public JsonResult PrazoCep(string cepDestino) { var carrinho = new Carrinho(User.Identity.GetUserId(), Request.AnonymousID); if (!carrinho.ItemCarrinhos.Any()) { return(Json("")); } var comprimento = carrinho.ItemCarrinhos.Max(c => c.ProdutoMontado.Comprimento); var altura = carrinho.ItemCarrinhos.Sum(c => c.ProdutoMontado.Altura * c.QuantidadeTotalItem); var largura = carrinho.ItemCarrinhos.Max(c => c.ProdutoMontado.Largura); var pesoBruto = carrinho.ItemCarrinhos.Sum(c => c.ProdutoMontado.PesoBruto * c.QuantidadeTotalItem); try { Session["Cep"] = cepDestino; } catch (System.Exception) { } _servico = new CalcPrecoPrazoWSSoapClient(); var resultado = _servico.CalcPrecoPrazo("", "", _cdServico, _cepOrigem, cepDestino, pesoBruto.ToString(), 1, Convert.ToDecimal(comprimento), Convert.ToDecimal(altura), Convert.ToDecimal(largura), 0, "N", 0, "N"); if (resultado.Servicos.Length > 0) { return(Json(resultado.Servicos, JsonRequestBehavior.AllowGet)); } return(Json("")); }
public void CalcPrecoPrazo() { string nCdEmpresa = string.Empty; string sDsSenha = string.Empty; string nCdServico = "04014"; string sCepOrigem = "03057010"; string sCepDestino = _CepDestino; string nVlPeso = _Peso; int nCdFormato = 1; decimal nVlComprimento = _Comprimento; decimal nVlAltura = _Altura; decimal nVlLargura = _Largura; decimal nVlDiametro = _Diametro; string sCdMaoPropria = "N"; decimal nVlValorDeclarado = 0; string sCdAvisoRecebimento = "N"; CalcPrecoPrazoWSSoapClient SRCorreios = new CalcPrecoPrazoWSSoapClient(); cResultado returnCorreios = SRCorreios.CalcPrecoPrazo(nCdEmpresa, sDsSenha, nCdServico, sCepOrigem, sCepDestino, nVlPeso, nCdFormato, nVlComprimento, nVlAltura, nVlLargura, nVlDiametro, sCdMaoPropria, nVlValorDeclarado, sCdAvisoRecebimento); PrazoEntrega = returnCorreios.Servicos[0].PrazoEntrega; Preco = returnCorreios.Servicos[0].Valor; }
public IHttpActionResult GetPrecoPrazo(string tipoEntrega, string cepOrigem, string cepDestino, string peso, int altura, int largura, int comprimento) { CorreioResultado correioResultado; using (var correios = new CalcPrecoPrazoWSSoapClient()) { //var resposta = correios.CalcPrecoPrazo(String.Empty, String.Empty, "04014", "69895000", "68682000", "3", 1, 30, 30, 30, 0, "N", 0, "N"); int formato = 1;//caixa int diametro = 0; string maoPropria = "N"; decimal valorDeclarado = 0; string avisoRecebimento = "N"; var resposta = correios.CalcPrecoPrazo(String.Empty, String.Empty, tipoEntrega, cepOrigem, cepDestino, peso, formato, comprimento, altura, largura, diametro, maoPropria, valorDeclarado, avisoRecebimento); correioResultado = new CorreioResultado(); correioResultado.codigoField = resposta.Servicos[0].Codigo.ToString(); correioResultado.valorField = resposta.Servicos[0].ValorSemAdicionais; } if (correioResultado == null) { return(NotFound()); } return(Ok(correioResultado)); }
public JsonResult ComprarTeste(string cep) { cep = cep.Remove(5, 1); string nCdEmpresa = string.Empty; string sDsSenha = string.Empty; string nCdServico = "41106"; string sCepOrigem = "13043805"; string sCepDestino = cep; int nCdFormato = 1; string nVlPeso = Convert.ToString(1); decimal nVlComprimento = 20; decimal nVlAltura = 20; decimal nVlLargura = 20; decimal nVlDiametro = 0; string sCdMaoPropria = "N"; decimal nVlValorDeclarado = 0; string sCdAvisoRecebimento = "N"; CalcPrecoPrazoWSSoapClient cliente = new CalcPrecoPrazoWSSoapClient(); cResultado retornoCorreios = cliente.CalcPrecoPrazo(nCdEmpresa, sDsSenha, nCdServico, sCepOrigem, sCepDestino, nVlPeso, nCdFormato, nVlComprimento, nVlAltura, nVlLargura, nVlDiametro, sCdMaoPropria, nVlValorDeclarado, sCdAvisoRecebimento); Session["cep"] = cep; string[] result = new string[2]; Session["correios"] = result; result[0] = retornoCorreios.Servicos[0].Valor; result[1] = retornoCorreios.Servicos[0].PrazoEntrega; return(Json(result, JsonRequestBehavior.AllowGet)); }
public JsonResult CalcCEP(string cep) { string nCdEmpresa = string.Empty; string sDsSenha = string.Empty; string nCdServico = "41106"; string sCepOrigem = "19940000"; string sCepDestino = cep.Replace("-", ""); string nVlPeso = Convert.ToString(1); int nCdFormato = 1; decimal nVlAltura = 20; decimal nVlComprimento = 20; decimal nVlLargura = 20; decimal nVlDiametro = 0; string sCdMaoPropria = "N"; decimal nVlValorDeclarado = 0; string sCdAvisoRecebimento = "N"; CalcPrecoPrazoWSSoapClient wsCorreios = new CalcPrecoPrazoWSSoapClient(); cResultado retornoCorreios = wsCorreios.CalcPrecoPrazo(nCdEmpresa, sDsSenha, nCdServico, sCepOrigem, sCepDestino, nVlPeso, nCdFormato, nVlComprimento, nVlAltura, nVlLargura, nVlDiametro, sCdMaoPropria, nVlValorDeclarado, sCdAvisoRecebimento); string[] result = new string[2]; result[0] = retornoCorreios.Servicos[0].PrazoEntrega; result[1] = retornoCorreios.Servicos[0].Valor; return(Json(result, JsonRequestBehavior.AllowGet)); }
public JsonResult CorreiosCalc(string cep) { string nCdEmpresa = string.Empty; string sDsSenha = string.Empty; string nCdServico = "41106"; string sCepOrigem = "36774016"; string sCepDestino = cep; string nVlPeso = 2.ToString(); int nCdFormato = 1; decimal nVlComprimento = 20; decimal nVlAltura = 20; decimal nVlLargura = 20; decimal nVlDiametro = 0; string sCdMaoPropria = "N"; decimal nVlValorDeclarado = 0; string sCdAvisoRecebimento = "N"; string data = DateTime.Now.ToString("dd/MM/yyyy"); CalcPrecoPrazoWSSoapClient wsCorreios = new CalcPrecoPrazoWSSoapClient(); cResultado retornoCorreios = wsCorreios.CalcPrecoPrazoData(nCdEmpresa, sDsSenha, nCdServico, sCepOrigem, sCepDestino, nVlPeso, nCdFormato, nVlComprimento, nVlAltura, nVlLargura, nVlDiametro, sCdMaoPropria, nVlValorDeclarado, sCdAvisoRecebimento, data); string[] result = new string[3]; result[0] = retornoCorreios.Servicos[0].Valor; result[1] = retornoCorreios.Servicos[0].PrazoEntrega; return(Json(result, JsonRequestBehavior.AllowGet)); }
public JsonResult CorreiosCalc(string cep) { CalcPrecoPrazoWSSoapClient wscorreios = new CalcPrecoPrazoWSSoapClient(); //cResultado retornoCorreios = wscorreios; return(Json("")); }
// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { var config = new MapperConfiguration(cfg => { cfg.AddProfile(new MappingProfile()); }); IMapper mapper = config.CreateMapper(); services.AddSingleton(mapper); services.AddHttpContextAccessor(); services.AddScoped <IClienteRepository, ClienteRepository>(); services.AddScoped <INewsletterRepository, NewsletterRepository>(); services.AddScoped <IColaboradorRepository, ColaboradorRepository>(); services.AddScoped <ICategoriaRepository, CategoriaRepository>(); services.AddScoped <IProdutoRepository, ProdutoRepository>(); services.AddScoped <IImagemRepository, ImagemRepository>(); //SMTP services.AddScoped <SmtpClient>(Options => { SmtpClient smtp = new SmtpClient() { Host = Configuration.GetValue <string>("Email:ServerSMTP"), Port = Configuration.GetValue <int>("Email:ServerPort"), UseDefaultCredentials = false, Credentials = new NetworkCredential(Configuration.GetValue <string>("Email:UserName"), Configuration.GetValue <string>("Email:PassWord")), EnableSsl = true }; return(smtp); }); services.AddScoped <CalcPrecoPrazoWSSoap>(options => { var servico = new CalcPrecoPrazoWSSoapClient(CalcPrecoPrazoWSSoapClient.EndpointConfiguration.CalcPrecoPrazoWSSoap); return(servico); }); services.AddScoped <GerenciarEmail>(); services.AddScoped <LojaVirtual.Libraries.Cookie.Cookie>(); services.AddScoped <CarrinhoCompra>(); services.AddScoped <WSCorreiosCalcularFrete>(); //Session configuração services.AddMemoryCache();//guardar os dados na memória services.AddSession(options => { }); services.AddScoped <Sessao>(); services.AddScoped <LojaVirtual.Libraries.Cookie.Cookie>(); services.AddScoped <LoginCliente>(); services.AddScoped <LoginColaborador>(); services.AddControllersWithViews(); string connection = @"Data Source=DESKTOP-TDL5LR3\SQLEXPRESS;Initial Catalog=LojaVirtual;Integrated Security=True;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False"; services.AddDbContext <LojaVirtualContext>(options => options.UseSqlServer(connection)); }
public JsonResult Prazo(string cepDestino) { _servico = new CalcPrecoPrazoWSSoapClient(); var resultado = _servico.CalcPrazo(_cdServico, _cepOrigem, cepDestino); if (resultado.Servicos.Length > 0) { return(Json(resultado.Servicos, JsonRequestBehavior.AllowGet)); } return(Json("")); }
protected void Page_Load(object sender, EventArgs e) { CalcPrecoPrazoWSSoapClient servico = new CalcPrecoPrazoWSSoapClient(); try { dadosConsulta dados = new dadosConsulta(); dados.nCdEmpresa = ""; dados.sDsSenha = ""; dados.nCdServico = "41106"; dados.sCepOrigem = "87305300"; dados.sCepDestino = "85845000"; dados.nVlPeso = "1"; dados.nCdFormato = 1; dados.nVlComprimento = 17; dados.nVlAltura = 10; dados.nVlLargura = 12; dados.nVlDiametro = 10; dados.sCdMaoPropria = "S"; dados.nVlValorDeclarado = 0; dados.sCdAvisoRecebimento = "N"; var retorno = servico.CalcPrecoPrazo( dados.nCdEmpresa, dados.sDsSenha, dados.nCdServico, dados.sCepOrigem, dados.sCepDestino, dados.nVlPeso, dados.nCdFormato, dados.nVlComprimento, dados.nVlAltura, dados.nVlLargura, dados.nVlDiametro, dados.sCdMaoPropria, dados.nVlValorDeclarado, dados.sCdAvisoRecebimento); grv.DataSource = retorno.Servicos.ToList(); grv.DataBind(); servico.Close(); } catch (Exception ex) { var erro = ex.Message; lblerro.Text = erro; servico.Abort(); } }
public JsonResult CorreiosCalc(string cep) { //Dados da empresa, se tiver contrato com os Correios string nCdEmpresa = string.Empty; string sDsSenha = string.Empty; // Código do tipo de frete //41106 - PAC //40010 - SEDEX //40045 - SEDEX a Cobrar //40215 - SEDEX 10 //40290 - SEDEX Hoje string nCdServico = "41106"; // Cep de origem e destino - apenas números string sCepOrigem = "19940000"; string sCepDestino = cep; // Peso total da encomenda - por padrão deixei 1kg string nVlPeso = Convert.ToString(1); // Formato da encomenda - por padrão deixei caixa int nCdFormato = 1; // Para encomenda do tipo PAC, deve-se preencher a dimensão da embalagem decimal nVlComprimento = 20; decimal nVlAltura = 20; decimal nVlLargura = 20; decimal nVlDiametro = 0; // Informa se é por mão própria - por padrão deixei Não string sCdMaoPropria = "N"; // Valor declarado - por padrão não informo decimal nVlValorDeclarado = 0; // Se desejo recebr aviso de recebimento - por padrão não quero string sCdAvisoRecebimento = "N"; CalcPrecoPrazoWSSoapClient wsCorreios2 = new CalcPrecoPrazoWSSoapClient(); cResultado retornoCorreios = wsCorreios2.CalcPrecoPrazo(nCdEmpresa, sDsSenha, nCdServico, sCepOrigem, sCepDestino, nVlPeso, nCdFormato, nVlComprimento, nVlAltura, nVlLargura, nVlDiametro, sCdMaoPropria, nVlValorDeclarado, sCdAvisoRecebimento); string[] result = new string[2]; result[1] = retornoCorreios.Servicos[0].PrazoEntrega; result[0] = retornoCorreios.Servicos[0].Valor; return(Json(result, JsonRequestBehavior.AllowGet)); }
/// <summary> /// Metodo de calculo de entrega do PAC muito interessante por sinal /// </summary> /// <param name="pac">Objeto de tipo PAC </param> /// <returns></returns> public List <Tuple <string, double, string, DateTime> > GetValorFromPAC(PropEnvioPAC pac) { //Acessa a WS dos correios CalcPrecoPrazoWSSoapClient Apac = new CalcPrecoPrazoWSSoapClient(CalcPrecoPrazoWSSoapClient.EndpointConfiguration.CalcPrecoPrazoWSSoap); var resultado = Apac.CalcPrecoPrazoAsync( pac.nCdEmpresa, pac.sDsSenha, pac.nCdServico, pac.sCepOrigem, pac.sCepDestino, pac.nVlPeso, pac.nCdFormato, pac.nVlComprimento, pac.nVlAltura, pac.nVlLargura, pac.nVlDiametro, pac.sCdMaoPropria, pac.nVlValorDeclarado, pac.sCdAvisoRecebimento); List <Tuple <string, double, string, DateTime> > result = new List <Tuple <string, double, string, DateTime> >(); foreach (cServico res in resultado.Result.Servicos) { string serv = res.Codigo == 1 ? "PAC" : "Outros"; //Resultado de serviço entrega Tuple <string, double, string, DateTime> retorno = new Tuple <string, double, string, DateTime>( serv, Convert.ToDouble(res.Valor), res.PrazoEntrega, Convert.ToDateTime(res.DataMaxEntrega)); result.Add(retorno); } return(result); }
public JsonResult PrazoPreco(string cepDestino, decimal comprimento, decimal largura, decimal altura, decimal pesoBruto) { try { Session["Cep"] = cepDestino; } catch (System.Exception) { } _servico = new CalcPrecoPrazoWSSoapClient(); var resultado = _servico.CalcPrecoPrazo("", "", _cdServico, _cepOrigem, cepDestino, pesoBruto.ToString(), 1, comprimento, altura, largura, 0, "N", 0, "N"); if (resultado.Servicos.Length > 0) { return(Json(resultado.Servicos, JsonRequestBehavior.AllowGet)); } return(Json("")); }
public async Task <Frete> GetFreteAsyncc(Produto produto) { //41106 pac //40010 CalcPrecoPrazoWSSoapClient correios = new CalcPrecoPrazoWSSoapClient(EndpointConfiguration.CalcPrecoPrazoWSSoap); Correios.cResultado resultado = await correios.CalcPrecoPrazoAsync(String.Empty, String.Empty, produto.nCdServico, produto.sCepOrigem, produto.sCepDestino, produto.nVlPeso, produto.nCdFormato, produto.nVlComprimento, produto.nVlAltura, produto.nVlLargura, produto.nVlDiametro, produto.sCdMaoPropria, produto.nVlValorDeclarado, produto.sCdAvisoRecebimento); Correios.cServico servico = resultado.Servicos.FirstOrDefault(); Frete frete = null; if (servico != null && !String.IsNullOrEmpty(servico.Erro)) { if (String.IsNullOrEmpty(servico.Erro) || servico.Erro.Equals("0")) { frete = new Frete { prazoEntregaDias = int.Parse(servico.PrazoEntrega), valor = decimal.Parse(servico.Valor), codeErro = servico.Erro, msgErro = servico.MsgErro }; } else { frete = new Frete { codeErro = servico.Erro, msgErro = servico.MsgErro }; } } return(frete); }
// This method gets called by the runtime. Use this method to add services to the container. // For more information on how to configure your application, visit https://go.microsoft.com/fwlink/?LinkID=398940 public void ConfigureServices(IServiceCollection services) { var moviesConfig = Configuration.GetSection("PagSeguroUserPass:SandBox").Get <PagSeguroChaveAcesso>(); services.Configure <PagSeguroChaveAcesso>(Configuration.GetSection("MySettings")); services.AddMvc(); services.AddDbContext <AppDbContext>(options => options.UseSqlServer(Configuration.GetConnectionString ("ConexaoPadrao"))); services.AddDefaultIdentity <IdentityUser>().AddEntityFrameworkStores <AppDbContext>(); services.AddControllersWithViews(); services.AddHttpContextAccessor(); services.AddRazorPages(); services.AddSession(); services.AddScoped <ICategoriaRepositorio, CategoriaRepositorio>(); services.AddScoped <IProdutoRepositorio, ProdutoRepositorio>(); services.AddScoped <ShoppingCart>(sc => ShoppingCart.GetCart(sc)); services.AddScoped <IPedidoRepositorio, PedidoRepositorio>(); services.AddScoped <WSCorreiosCalcularFrete>(); services.AddScoped <CalculoPacote>(); services.AddScoped <CartaoCredito>(); services.AddScoped <CartaoCreditoBLL>(); services.AddScoped <DadosUsuarioBLL>(); services.AddScoped <PagSeguroBLL>(); services.AddLibraryConfig(); services.AddScoped <CalcPrecoPrazoWSSoap>(options => { var servico = new CalcPrecoPrazoWSSoapClient(CalcPrecoPrazoWSSoapClient.EndpointConfiguration.CalcPrecoPrazoWSSoap); return(servico); }); services.AddScoped <FuncoesBase>(); services.AddHttpContextAccessor(); services.AddSession(); //configurando swagger services.AddSwaggerConfiguration(); }
// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { /* * AutoMapper */ services.AddAutoMapper(config => config.AddProfile <MappingProfile>()); /* * Repository pattern */ services.AddHttpContextAccessor(); services.AddScoped <IClientRepository, ClientRepository>(); services.AddScoped <INewsletterRepository, NewsletterRepository>(); services.AddScoped <ICollaboratorRepository, CollaboratorRepository>(); services.AddScoped <ICategoryRepository, CategoryRepository>(); services.AddScoped <IProductRepository, ProductRepository>(); services.AddScoped <IImageRepository, ImageRepository>(); services.AddScoped <IDeliveryAddressRepository, DeliveryAddressRepository>(); /* * SMTP */ services.AddScoped <SmtpClient>(options => { SmtpClient smtp = new SmtpClient() { Host = Configuration.GetValue <string>("Email:ServerSMTP"), Port = Configuration.GetValue <int>("Email:ServerPort"), UseDefaultCredentials = false, Credentials = new NetworkCredential(Configuration.GetValue <string>("Email:Username"), Configuration.GetValue <string>("Email:Password")), EnableSsl = true }; return(smtp); }); services.AddScoped <CalcPrecoPrazoWSSoap>(options => { var service = new CalcPrecoPrazoWSSoapClient(CalcPrecoPrazoWSSoapClient.EndpointConfiguration.CalcPrecoPrazoWSSoap); return(service); }); services.AddScoped <SendEmail>(); services.AddScoped <CookieShoppingCart>(); services.AddScoped <CookieFreight>(); services.AddScoped <Libraries.Cookie.Cookie>(); services.AddScoped <WSCorreiosCalculateFreight>(); services.AddScoped <CalculatePackage>(); services.Configure <CookiePolicyOptions>(options => { // This lambda determines whether user consent for non-essential cookies is needed for a given request. options.CheckConsentNeeded = context => true; options.MinimumSameSitePolicy = SameSiteMode.None; }); //Session - configuration services.AddMemoryCache(); // Save data in memory services.AddSession(options => { options.IdleTimeout = TimeSpan.FromMinutes(30); options.Cookie.IsEssential = true; }); services.AddScoped <Session>(); services.AddScoped <Libraries.Cookie.Cookie>(); services.AddScoped <ClientLogin>(); services.AddScoped <CollaboratorLogin>(); services.AddMvc(options => { options.ModelBindingMessageProvider.SetValueMustNotBeNullAccessor(x => "Este campo não pode ser vazio"); }).SetCompatibilityVersion(CompatibilityVersion.Version_2_2).AddSessionStateTempDataProvider(); //services.AddSession(options => { options.Cookie.IsEssential = true; }); services.AddDbContext <mvCommerceContext>(options => options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection"))); }
public void ConfigureServices(IServiceCollection services) { /* * API - Logging */ services.AddLogging(); /* * AutoMapper */ services.AddAutoMapper(config => config.AddProfile <MappingProfile>()); /* * Padrão Repository */ services.AddHttpContextAccessor(); services.AddScoped <IClienteRepository, ClienteRepository>(); services.AddScoped <INewsletterRepository, NewsletterRepository>(); services.AddScoped <IColaboradorRepository, ColaboradorRepository>(); services.AddScoped <ICategoriaRepository, CategoriaRepository>(); services.AddScoped <IProdutoRepository, ProdutoRepository>(); services.AddScoped <IImagemRepository, ImagemRepository>(); services.AddScoped <IEnderecoEntregaRepository, EnderecoEntregaRepository>(); services.AddScoped <IPedidoRepository, PedidoRepository>(); services.AddScoped <IPedidoSituacaoRepository, PedidoSituacaoRepository>(); /* * SMTP */ services.AddScoped <SmtpClient>(options => { SmtpClient smtp = new SmtpClient() { Host = Configuration.GetValue <string>("Email:ServerSMTP"), Port = Configuration.GetValue <int>("Email:ServerPort"), UseDefaultCredentials = false, Credentials = new NetworkCredential(Configuration.GetValue <string>("Email:Username"), Configuration.GetValue <string>("Email:Password")), EnableSsl = true }; return(smtp); }); services.AddScoped <CalcPrecoPrazoWSSoap>(options => { var servico = new CalcPrecoPrazoWSSoapClient(CalcPrecoPrazoWSSoapClient.EndpointConfiguration.CalcPrecoPrazoWSSoap); return(servico); }); services.AddScoped <GerenciarEmail>(); services.AddScoped <LojaVirtual.Libraries.Cookie.Cookie>(); services.AddScoped <CookieCarrinhoCompra>(); services.AddScoped <CookieFrete>(); services.AddScoped <CalcularPacote>(); services.AddScoped <WSCorreiosCalcularFrete>(); services.Configure <CookiePolicyOptions>(options => { options.CheckConsentNeeded = context => true; options.MinimumSameSitePolicy = SameSiteMode.None; }); /* * Session - Configuração */ services.AddMemoryCache(); //Guardar os dados na memória services.AddScoped <Sessao>(); services.AddScoped <LojaVirtual.Libraries.Cookie.Cookie>(); services.AddScoped <LoginCliente>(); services.AddScoped <LoginColaborador>(); services.AddScoped <GerenciarPagarMe>(); services.AddMvc(options => { options.ModelBindingMessageProvider.SetValueMustNotBeNullAccessor(x => "O campo deve ser preenchido!"); }) .SetCompatibilityVersion(CompatibilityVersion.Version_2_2) .AddSessionStateTempDataProvider(); services.AddSession(options => { options.Cookie.IsEssential = true; }); string connection = "Data Source=(localdb)\\MSSQLLocalDB;Initial Catalog=LojaVirtual;Integrated Security=True;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False"; services.AddDbContext <LojaVirtualContext>(options => options.UseSqlServer(connection)); services.AddTransient <PedidoPagamentoSituacaoJob>(); services.AddTransient <PedidoEntregueJob>(); services.AddTransient <PedidoFinalizadoJob>(); services.AddTransient <PedidoDevolverEntregueJob>(); services.AddScheduler(); }
public void ConfigureServices(IServiceCollection services) { /* * AutoMapper */ services.AddAutoMapper(config => config.AddProfile <MappingProfile>()); /* * Padrão Repository */ services.AddHttpContextAccessor(); services.AddScoped <IClienteRepository, ClienteRepository>(); services.AddScoped <INewsLetterRepository, NewsLetterRepository>(); services.AddScoped <IColaboradorRepository, ColaboradorRepository>(); services.AddScoped <ICategoriaRepository, CategoriaRepository>(); services.AddScoped <IProdutoRepository, ProdutoRepository>(); services.AddScoped <IImagemRepository, ImagemRepository>(); /* * SMTP */ services.AddScoped <SmtpClient>(options => { SmtpClient smtp = new SmtpClient() { Host = Configuration.GetValue <string>("Email:ServerSMTP"), Port = Configuration.GetValue <int>("Email:ServerPort"), UseDefaultCredentials = false, Credentials = new NetworkCredential(Configuration.GetValue <string>("Email:Username"), Configuration.GetValue <string>("Email:Password")), EnableSsl = true }; return(smtp); }); //correios services.AddScoped <CalcPrecoPrazoWSSoap>(options => { var servico = new CalcPrecoPrazoWSSoapClient(CalcPrecoPrazoWSSoapClient.EndpointConfiguration.CalcPrecoPrazoWSSoap); ((IContextChannel)servico.InnerChannel).OperationTimeout = new TimeSpan(0, 30, 0); return(servico); }); services.AddScoped <GerenciarEmail>(); services.AddScoped <LojaVirtual.Libraries.Cookie.Cookie>(); services.AddScoped <CookieCarrinhoCompra>(); services.AddScoped <CookieValorPrazoFrete>(); services.AddScoped <WSCorreiosCalcularFrete>(); services.AddScoped <CalcularPacote>(); services.Configure <CookiePolicyOptions>(options => { options.CheckConsentNeeded = context => true; options.MinimumSameSitePolicy = SameSiteMode.None; }); /* * Session - Configuração */ services.AddMemoryCache(); //Guardar os dados na memória services.AddSession(options => { options.Cookie.IsEssential = true; //criar o cookie junto a sessao }); services.AddScoped <Sessao>(); services.AddScoped <LojaVirtual.Libraries.Cookie.Cookie>(); services.AddScoped <LoginCliente>(); services.AddScoped <LoginColaborador>(); // services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2); Tradução defaul para menssagens services.AddMvc(options => { options.ModelBindingMessageProvider.SetValueMustNotBeNullAccessor(x => "Este campo precisa ser preenchido!"); }).SetCompatibilityVersion(CompatibilityVersion.Version_2_2).AddSessionStateTempDataProvider(); services.AddSession(options => { options.Cookie.IsEssential = true; }); services.AddDbContext <LojaVirtualContext>(options => options.UseSqlServer(Configuration.GetConnectionString("connection"))); }
public CalcPrecoPrazoWSSoapClient(EndpointConfiguration endpointConfiguration, System.ServiceModel.EndpointAddress remoteAddress) : base(CalcPrecoPrazoWSSoapClient.GetBindingForEndpoint(endpointConfiguration), remoteAddress) { this.Endpoint.Name = endpointConfiguration.ToString(); ConfigureEndpoint(this.Endpoint, this.ClientCredentials); }
public CalcPrecoPrazoWSSoapClient(EndpointConfiguration endpointConfiguration) : base(CalcPrecoPrazoWSSoapClient.GetBindingForEndpoint(endpointConfiguration), CalcPrecoPrazoWSSoapClient.GetEndpointAddress(endpointConfiguration)) { this.Endpoint.Name = endpointConfiguration.ToString(); ConfigureEndpoint(this.Endpoint, this.ClientCredentials); }
public static async Task <string[]> GetPriceAndTimePostalServiceAsync(string cep, double weight, double volume) { double squareSideLength = Math.Pow(volume, 1.0 / 3.0); double sideUsed = 0.0; double weightUsed = 0.0; double weightu = weight / 1000; if (weightu < 1.0) { weightUsed = 1.0; } else if (weightu > 29) { weightUsed = 29.0; } else { weightUsed = weightu; } if (squareSideLength > 66.0) { sideUsed = 66.0; } else if (squareSideLength < 17.0) { sideUsed = 17.0; } else { sideUsed = squareSideLength; } string nCdEmpresa = string.Empty; string sDsSenha = string.Empty; string nCdServico = "40010"; // Sedex string sCepOrigem = "30130010"; // CEP Praça Sete 30130010 string sCepDestino = cep; string nVlPeso = weightUsed.ToString("F0"); // peso em kg da encomenda / peso máximo de 30kg int nCdFormato = 1; // formato caixa decimal nVlComprimento = (decimal)sideUsed; // medidas em cm entre 16cm e 105cm e a soma das dimensões não deve ultrapassar 200cm decimal nVlAltura = (decimal)sideUsed; decimal nVlLargura = (decimal)sideUsed; decimal nVlDiamentro = 0; string sCdMaoPropria = "N"; decimal nVlValorDeclarado = 0; string sCdAvisoRecebimento = "N"; System.ServiceModel.Channels.Binding binding = new BasicHttpBinding(); EndpointAddress remoteAddress = new EndpointAddress("http://ws.correios.com.br/calculador/CalcPrecoPrazo.asmx"); CalcPrecoPrazoWSSoapClient wsCorreios2 = new CalcPrecoPrazoWSSoapClient(binding, remoteAddress); cResultado retornoCorreios = await wsCorreios2.CalcPrecoPrazoAsync(nCdEmpresa, sDsSenha, nCdServico, sCepOrigem, sCepDestino, nVlPeso, nCdFormato, nVlComprimento, nVlAltura, nVlLargura, nVlDiamentro, sCdMaoPropria, nVlValorDeclarado, sCdAvisoRecebimento); string[] result = new string[2]; result[1] = retornoCorreios.Servicos.FirstOrDefault().PrazoEntrega; result[0] = retornoCorreios.Servicos.FirstOrDefault().Valor; return(result); }
public async Task <IEnumerable <CorreioWebServiceModel> > CalcularFrete(string cepDestino, int quantidadePecas, double valorTotalPedido) { try { var pacotes = new List <InformacoesPacoteCorreiosModel>(); var mediaPrecoDosProdutos = valorTotalPedido / quantidadePecas; while (quantidadePecas > 0) { var pacote = new InformacoesPacoteCorreiosModel(); if (quantidadePecas > 55) { pacote.SetPackageData(new CaixaCorreioModel(35, 25, 30, 0.2), 55); quantidadePecas -= 55; } else if (quantidadePecas > 30 && quantidadePecas <= 55) { pacote.SetPackageData(new CaixaCorreioModel(35, 25, 30, 0.2), quantidadePecas); quantidadePecas -= quantidadePecas; } else if (quantidadePecas <= 30) { pacote.SetPackageData(new CaixaCorreioModel(30, 20, 24, 0.170), quantidadePecas); quantidadePecas -= quantidadePecas; } pacotes.Add(pacote); } //Dados da Empresa se tiver contrato const string nCdEmpresa = ""; const string sDsSenha = ""; const string sCepOrigem = "20270004"; const int nCdFormato = 1; //FORMATO DE CAIXA const string sCdMaoProrpia = "N"; var sCepDestino = cepDestino; var resultList = new List <CorreioWebServiceModel>(); //loop foreach (var pacote in pacotes) { var pesoEnvioCorreio = ((0.02 * pacote.QuantidadeArmacoes) + pacote.Caixa.Peso).ToString(); //PESO TOTAL EM KG var nVlPeso = pesoEnvioCorreio; //PARA PAC PREENCHER OS CAMPOS decimal nVlComprimento = pacote.Caixa.Comprimento; decimal nVlAltura = pacote.Caixa.Altura; decimal nVlLargura = pacote.Caixa.Largura; decimal nVlDiametro = 0; var valorPacote = mediaPrecoDosProdutos * pacote.QuantidadeArmacoes; decimal nVlValorDeclarado = Convert.ToInt32(Math.Round(valorPacote)); var sCdAvisoRecebimento = "N"; var servicesList = new List <string> { "40010", "41106" }; foreach (var service in servicesList) { var nCdServico = service; var nomeServico = service == "40010" ? "Sedex" : "Pac"; var wsCorreios = new CalcPrecoPrazoWSSoapClient(CalcPrecoPrazoWSSoapClient.EndpointConfiguration.CalcPrecoPrazoWSSoap); var retornoCorreios = await wsCorreios.CalcPrecoPrazoAsync(nCdEmpresa, sDsSenha, nCdServico, sCepOrigem, sCepDestino, nVlPeso, nCdFormato, nVlComprimento, nVlAltura, nVlLargura, nVlDiametro, sCdMaoProrpia, nVlValorDeclarado, sCdAvisoRecebimento); var correiosWsModel = new CorreioWebServiceModel(); if (valorTotalPedido > 1500 && nomeServico == "Pac") { correiosWsModel.SetWebServiceData("Proprio", retornoCorreios.Servicos[0].PrazoEntrega, "0,00"); } else { correiosWsModel.SetWebServiceData(nomeServico, retornoCorreios.Servicos[0].PrazoEntrega, retornoCorreios.Servicos[0].Valor); } if (correiosWsModel.PrazoEntrega != "0") { resultList.Add(correiosWsModel); } } } if (resultList.Count == 1 && valorTotalPedido > 1500) { resultList[0].SetValor("0,00"); } var resultGrouped = from empresa in resultList.GroupBy(x => x.Servico) select new CorreioWebServiceModel(empresa.First().Servico, empresa.First().PrazoEntrega, empresa.Sum(a => double.Parse(a.Valor)).ToString("N2")); return(resultGrouped); } catch (Exception ex) { throw ex; } }
// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { /* * Padrao repository */ services.AddHttpContextAccessor(); services.AddScoped <IClienteRepository, ClienteRepository>(); services.AddScoped <IColaboradorRepository, ColaboradorRepository>(); services.AddScoped <INewletterRepository, NewsletterRepository>(); services.AddScoped <ICategoriaRepository, CategoriaRepository>(); services.AddScoped <IImagemRepository, ImagemRepository>(); services.AddScoped <IProdutoRepository, ProdutoRepository>(); services.AddScoped <IEnderecoEntregaRepository, EnderecoEntregaRepository>(); /** * Auto Mapper */ services.AddAutoMapper(config => config.AddProfile <MappingProfile>()); //Configuração sessão services.AddMemoryCache();//guardar os dados na memoria /* * STMP */ services.AddScoped <SmtpClient>(options => { SmtpClient smtp = new SmtpClient() { Host = Configuration.GetValue <string>("Email:ServerSMTP"), Port = Configuration.GetValue <int>("Email:ServerPort"), UseDefaultCredentials = false, Credentials = new NetworkCredential(Configuration.GetValue <string>("Email:UserName"), Configuration.GetValue <string>("Email:Password")), EnableSsl = true }; return(smtp); }); services.AddScoped <GerenciarEmail>(); services.AddSession(options => { options.Cookie.IsEssential = true; }); services.AddScoped <CalcPrecoPrazoWSSoap>(options => { var servico = new CalcPrecoPrazoWSSoapClient(CalcPrecoPrazoWSSoapClient.EndpointConfiguration.CalcPrecoPrazoWSSoap); return(servico); }); services.AddScoped <Sessao>(); services.AddScoped <LojaVirtual_v2.Libraries.Cookie.Cookie>(); services.AddScoped <LoginCliente>(); services.AddScoped <CookieCarrinhoCompra>(); services.AddScoped <WSCorreiosCalcularFrete>(); services.AddScoped <LoginColaborador>(); services.AddScoped <CalcularPacote>(); services.AddScoped <CookieFrete>(); services.AddScoped <GerenciarPagarMe>(); string connection = "Data Source=(localdb)\\MSSQLLocalDB;Initial Catalog=LojaVirtual;Integrated Security=True;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False"; services.AddControllersWithViews(options => { options.ModelBindingMessageProvider.SetValueMustNotBeNullAccessor(x => "O campo deve ser preenchido!"); }).AddNewtonsoftJson(options => options.SerializerSettings.ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Ignore ); services.AddDbContext <LojaVirtualContext>(options => options.UseSqlServer(connection)); }
// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { /* * AutoMapper * Adicionar como serviço */ //services.AddAutoMapper(config=>config.AddProfile<MappingProfile>()); var mappingConfig = new MapperConfiguration(mc => { mc.AddProfile(new MappingProfile()); }); IMapper mapper = mappingConfig.CreateMapper(); services.AddSingleton(mapper); /* * Padrão repositório utilizado */ // consigo injetar dependência da Libraries/Sessao/Sessao services.AddHttpContextAccessor(); services.AddControllersWithViews(); //posso injetar a classe Sessao em qualquer elemento services.AddScoped <Sessao>(); services.AddScoped <EmporioVirtual.Libraries.Cookie.Cookie>(); services.AddScoped <LoginCliente>(); services.AddScoped <LoginColaborador>(); services.AddScoped <IClienteRepository, ClienteRepository>(); services.AddScoped <INewsLetterRepository, NewsLetterRepository>(); services.AddScoped <IColaboradorRepository, ColaboradorRepository>(); services.AddScoped <ICategoriaRepository, CategoriaRepository>(); services.AddScoped <IProdutoRepository, ProdutoRepository>(); services.AddScoped <IImagemRepository, ImagemRepository>(); services.AddScoped <IEnderecoEntregaRepository, EnderecoEntregaRepository>(); services.AddMvc(options => options.ModelBindingMessageProvider.SetValueMustNotBeNullAccessor(x => "O campo deve ser preenchido")); /* * SMTP * AGORA INJETAR PARA OUTRAS CLASSES VEREM */ services.AddScoped <SmtpClient>(options => { SmtpClient smtp = new SmtpClient() { Host = Configuration.GetValue <string>("Email:ServerSMTP"), Port = Configuration.GetValue <int>("Email:ServerPort"), UseDefaultCredentials = false, Credentials = new NetworkCredential(Configuration.GetValue <string>("Email:UserEmail"), Configuration.GetValue <string>("Email:Password")), EnableSsl = true }; return(smtp); }); services.AddScoped <CalcPrecoPrazoWSSoap>(options => { // FAZER A INSTÂNCIA var servico = new CalcPrecoPrazoWSSoapClient(CalcPrecoPrazoWSSoapClient.EndpointConfiguration.CalcPrecoPrazoWSSoap); return(servico); }); services.AddScoped <WSCorreiosCalcularFrete>(); services.AddScoped <GerenciarEmail>(); services.AddScoped <CookieCarrinhoCompra>(); services.AddScoped <WSCorreiosCalcularFrete>(); services.AddScoped <CalcularPacote>(); services.AddScoped <CookieValorPrazoFrete>(); //SESSION - Configuração services.AddMemoryCache(); // guardar dados na memória services.AddSession(options => { //CONFIGURAR O COOKIE -- TODA CONFIGURAÇÃO options.Cookie.IsEssential = true; }); string connection = "Data Source=(localdb)\\MSSQLLocalDB;Initial Catalog=EmporioVirtual;Integrated Security=True;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False"; services.AddDbContext <EmporioVirtualContext>(options => options.UseSqlServer(connection)); }
// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { services.AddDistributedMemoryCache(); services.Configure <CookieTempDataProviderOptions>(options => { options.Cookie.IsEssential = true; }); services.AddSession(options => options.Cookie.IsEssential = true); services.AddScoped <SmtpClient>(options => { SmtpClient smtp = new SmtpClient(); smtp.Host = Configuration.GetValue <string>("Email:ServerSMTP"); smtp.Port = Configuration.GetValue <int>("Email:ServerPort"); smtp.UseDefaultCredentials = false; smtp.Credentials = new NetworkCredential(Configuration.GetValue <string>("Email:Username"), Configuration.GetValue <string>("Email:Password")); smtp.EnableSsl = true; return(smtp); }); services.AddScoped <CalcPrecoPrazoWSSoap>(options => { CalcPrecoPrazoWSSoapClient WScorreios = new CalcPrecoPrazoWSSoapClient(CalcPrecoPrazoWSSoapClient.EndpointConfiguration.CalcPrecoPrazoWSSoap); WScorreios.InnerChannel.OperationTimeout = new TimeSpan(0, 3, 0); return(WScorreios); }); services.AddScoped <GerenciarEmail>(); services.AddAutoMapper(config => config.AddProfile <MappingProfile>(), typeof(Startup)); services.AddHttpContextAccessor(); services.AddScoped <IColaboradorRepository, ColaboradorRepository>(); services.AddScoped <LoginColaborador>(); services.AddScoped <LoginCliente>(); services.AddScoped <GerenciadorCookie>(); services.AddScoped <CarrinhoCompra>(); services.AddScoped <CookieValorPrazoFrete>(); services.AddScoped <WSCalcularFrete>(); services.AddScoped <WSCalcularPacote>(); services.AddScoped <GerenciarPagarMe>(); services.AddScoped <IEnderecoEntregaRepository, EnderecoEntregaRepository>(); services.AddScoped <INewsletterRepository, NewsletterRepository>(); services.AddScoped <IClienteRepository, ClienteRepository>(); services.AddScoped <IProdutoRepository, ProdutoRepository>(); services.AddScoped <IImagemRepository, ImagemRepository>(); services.AddScoped <IPedidoRepository, PedidoRepository>(); services.AddScoped <IPedidoSituacaoRepository, PedidoSituacaoRepository>(); services.AddScoped <ICategoriaRepository, CategoriaRepository>(); services.AddScoped <IRecuperacaoSenhaRepository, RecuperacaoSenhaRepository>(); services.AddScoped <Sessao>(); services.AddTransient <PedidoPagamentoInvocable>(); services.AddTransient <PedidoEntregaInvocable>(); services.AddTransient <PedidoFinalizadoInvocable>(); services.AddTransient <PedidoDevolucaoInvocable>(); services.AddScheduler(); services.Configure <CookiePolicyOptions>(options => { // This lambda determines whether user consent for non-essential cookies is needed for a given request. options.CheckConsentNeeded = context => true; options.MinimumSameSitePolicy = SameSiteMode.None; }); services.AddDbContext <MultiMarketContext>(options => options.UseSqlServer(Configuration.GetValue <string>("Database:Connection"), sql => sql.CommandTimeout(360))); services.AddMvc(options => { options.ModelBindingMessageProvider.SetValueIsInvalidAccessor(x => "Valor inválido para o campo"); options.ModelBindingMessageProvider.SetAttemptedValueIsInvalidAccessor((y, x) => "Valor inválido para o campo"); options.ModelBindingMessageProvider.SetValueMustNotBeNullAccessor(x => "Valor inválido para o campo"); }).SetCompatibilityVersion(CompatibilityVersion.Version_2_2); }