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(""));
        }
Esempio n. 2
0
        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;
        }
Esempio n. 3
0
        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));
        }
Esempio n. 5
0
        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));
        }
Esempio n. 6
0
        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));
        }
Esempio n. 7
0
        public JsonResult CorreiosCalc(string cep)
        {
            CalcPrecoPrazoWSSoapClient wscorreios = new CalcPrecoPrazoWSSoapClient();

            //cResultado retornoCorreios = wscorreios;

            return(Json(""));
        }
Esempio n. 8
0
        // 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(""));
        }
Esempio n. 10
0
        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));
        }
Esempio n. 12
0
        /// <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);
        }
Esempio n. 13
0
        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(""));
        }
Esempio n. 14
0
        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);
        }
Esempio n. 15
0
        // 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();
        }
Esempio n. 16
0
        // 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")));
        }
Esempio n. 17
0
        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();
        }
Esempio n. 18
0
        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")));
        }
Esempio n. 19
0
 public CalcPrecoPrazoWSSoapClient(EndpointConfiguration endpointConfiguration, System.ServiceModel.EndpointAddress remoteAddress) :
     base(CalcPrecoPrazoWSSoapClient.GetBindingForEndpoint(endpointConfiguration), remoteAddress)
 {
     this.Endpoint.Name = endpointConfiguration.ToString();
     ConfigureEndpoint(this.Endpoint, this.ClientCredentials);
 }
Esempio n. 20
0
 public CalcPrecoPrazoWSSoapClient(EndpointConfiguration endpointConfiguration) :
     base(CalcPrecoPrazoWSSoapClient.GetBindingForEndpoint(endpointConfiguration), CalcPrecoPrazoWSSoapClient.GetEndpointAddress(endpointConfiguration))
 {
     this.Endpoint.Name = endpointConfiguration.ToString();
     ConfigureEndpoint(this.Endpoint, this.ClientCredentials);
 }
Esempio n. 21
0
        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);
        }
Esempio n. 22
0
        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;
            }
        }
Esempio n. 23
0
        // 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));
        }
Esempio n. 24
0
        // 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);
        }