예제 #1
0
        /// <summary>
        /// Retorna a lista de cores em formatos Hexadecimal
        /// </summary>
        /// <Author>Claudinei Nascimento / Vip-Systems Informática & Consultoria Ltda.</Author>
        /// <param name="lista"></param>
        /// <returns></returns>
        public ActionResult CoresRelacionadas(IList <Cores> lista)
        {
            contextoCores = new CoresRepositorio();
            try
            {
                if (lista != null)
                {
                    foreach (var item in lista)
                    {
                        dynamic cor = contextoCores.getCoresSelecionadas(item.ec5cod);

                        foreach (var item2 in cor)
                        {
                            Cores coresRes = new Cores();

                            Color color = UintToColor(item2.bgcolor);
                            var   html  = string.Format("#{0:X2}{1:X2}{2:X2}", color.R, color.G, color.B);
                            coresRes.hexadecimal = html;
                            coresRes.ec5cod      = item.ec5cod;

                            coresRes.ec5nom     = item2.descricao.Trim().Trim();
                            coresRes.CodFamilia = item.CodFamilia.Trim();
                            listaCoresPartial.Add(coresRes);
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                StackTrace      exe = new StackTrace(ex, true);
                CustomException ep  = new CustomException(ex, exe, "");
                ep.Save(AppDomain.CurrentDomain.BaseDirectory + "Log.log");
            }
            return(PartialView("CoresRelacionadas", listaCoresPartial));
        }
예제 #2
0
        private List <Cores> getCores(String codFamilia)
        {
            try
            {
                ObjectResult <buscaprodutosCores_Result> result = null;

                result = produtos.getProdutosCores(codFamilia);

                if (result != null)
                {
                    foreach (var item in result)
                    {
                        Cores cor = new Cores();
                        cor.ec5cod     = item.ec5cod.Trim();
                        cor.CodFamilia = item.CodFamilia.Trim();
                        listaCores.Add(cor);
                    }
                }
            }
            catch (Exception ex)
            {
                StackTrace      exe = new StackTrace(ex, true);
                CustomException ep  = new CustomException(ex, exe, "");
                ep.Save(AppDomain.CurrentDomain.BaseDirectory + "Log.log");
            }

            return(listaCores);
        }
예제 #3
0
        /// <summary>
        /// Preenche o menu lateral
        /// </summary>
        /// <Author>Claudinei Nascimento / Vip-Systems Informática & Consultoria Ltda.</Author>
        /// <returns>lista de menu</returns>
        //[HttpPost]
        public ActionResult getMenuLateral()
        {
            try
            {
                ObjectResult <buscaelementoscontrolegetAllCategorias_Result> result = null;
                result = produtos.getElementoControleAllCategoria(idRetono: 2);

                if (result != null)
                {
                    foreach (var item in result)
                    {
                        Menu menuLateral = new Menu();
                        menuLateral.descricao = item.Nome.Trim();
                        menuLateral.codigo    = item.Codigo.ToString().Trim();

                        listaMenuLateral.Add(menuLateral);
                    }
                }
            }
            catch (Exception ex)
            {
                StackTrace      exe = new StackTrace(ex, true);
                CustomException ep  = new CustomException(ex, exe, "");
                ep.Save(AppDomain.CurrentDomain.BaseDirectory + "Log.log");
            }

            return(PartialView("getMenuLateral", listaMenuLateral));
        }
예제 #4
0
        /// <summary>
        /// Função para preencher o menu lateral de acordo com o produtos
        /// selecionado no menu superior
        /// </summary>
        /// <Author>Claudinei Nascimento / Vip-Systems Informática & Consultoria Ltda.</Author>
        /// <returns>partial view de categorias</returns>
        public ActionResult carregaMenuLateralGeral(String categoria, String nomeCategoria)
        {
            ViewData["nomeCategoria"] = nomeCategoria.Trim();
            try
            {
                ObjectResult <buscaelementoscontroleCategoria_Result> result = null;
                result = produtos.getElementoControleCategoria(idRetono: 2, filtroec1: categoria);

                if (result != null)
                {
                    foreach (var item in result)
                    {
                        Menu _menu = new Menu();

                        _menu.codigo          = item.Codigo.ToString().Trim();
                        _menu.descricao       = item.Nome.Trim();
                        _menu.codigoCategoria = categoria.Trim();

                        listaMenu.Add(_menu);
                    }
                }
                ViewBag.Tema = Settings.Default.Tema;
            }
            catch (Exception ex)
            {
                StackTrace      exe = new StackTrace(ex, true);
                CustomException ep  = new CustomException(ex, exe, "");
                ep.Save(AppDomain.CurrentDomain.BaseDirectory + "Log.log");
            }

            return(PartialView("carregaMenuLateralGeral", listaMenu));
        }
예제 #5
0
        private string setEmail(string email, string assunto, string menssagem, string emailEnvio, string senhaEnvio, bool chave = true)
        {
            while (chaveEmail == true)
            {
                try
                {
                    SmtpClient client = new SmtpClient();
                    client.DeliveryMethod = SmtpDeliveryMethod.Network;
                    client.EnableSsl      = true;
                    client.Host           = Settings.Default.SmtpServer;
                    client.Port           = 587;

                    string senha = Crypt.Decrypter(senhaEnvio);

                    NetworkCredential credentials =
                        new NetworkCredential(emailEnvio, senha);
                    client.UseDefaultCredentials = true;
                    client.Credentials           = credentials;

                    MailMessage msg = new MailMessage();
                    if (chave == false)
                    {
                        msg.From = new MailAddress(email);       //remetente
                        msg.To.Add(new MailAddress(emailEnvio)); //destinatário
                        msg.ReplyToList.Add(email);
                    }
                    else
                    {
                        msg.From = new MailAddress(emailEnvio); //remetente
                        msg.To.Add(new MailAddress(email));     //destinatário
                    }

                    msg.Priority   = MailPriority.Normal;
                    msg.Subject    = assunto;
                    msg.IsBodyHtml = true;
                    msg.Body       = menssagem;
                    client.Send(msg);
                    status     = "E-mail enviado com sucesso!";
                    chaveEmail = false;
                }
                catch (Exception ex)
                {
                    StackTrace      exe = new StackTrace(ex, true);
                    CustomException ep  = new CustomException(ex, exe, "");
                    ep.Save(AppDomain.CurrentDomain.BaseDirectory + "/Logs/LogMail.log");
                    contator++;
                    if (contator >= 10)
                    {
                        status     = "No momento seu e-mail não poder ser enviado! Tente novamente mais tarde.";
                        chaveEmail = false;
                    }
                }
            }
            return(status);
        }
예제 #6
0
        /// <summary>
        /// preenche a tela inicial com os produdos retornados
        /// </summary>
        /// <Author>Claudinei Nascimento / Vip-Systems Informática & Consultoria Ltda.</Author>
        /// <returns>lista de produtos</returns>
        public List <Home> produtosHome()
        {
            //System.Globalization.CultureInfo cultureinfo = System.Threading.Thread.CurrentThread.CurrentCulture;
            //cultureinfo.TextInfo.ToTitleCase(string.ToLower());// deixa a primeira letra de cada palavra em minusculo
            List <Home> listaMost = new List <Home>();

            try
            {
                List <buscaprodutos_result> resultListagem = produtos.getProdutos().Where(p => p.preco > 0).ToList();
                //ObjectResult<buscaprodutos_result> result = produtos.getProdutos();
                //IQueryable<buscaprodutos_result> result = produtos.getProdutosCond();
                //result = produtos.getProdutos();
                //ObjectResult<Parcelamentos_Result> resultParcelamento = null;

                if (resultListagem != null)
                {
                    foreach (var item in resultListagem)
                    {
                        Home _home = new Home();

                        _home.fotoitem   = caminho.getCaminho(item.fotoitem, item.codigo.ToString());
                        _home.CodFamilia = item.CodFamilia.Trim();
                        _home.codigo     = item.codigo.ToString();
                        _home.descricao  = item.descricao.Trim();

                        _home.nomeresumido = item.nomeresumido;
                        _home.ec5cod       = item.ec5cod;
                        _home.ec5nom       = item.ec5nom.Trim();
                        _home.ec6nom       = item.ec6nom.Trim();
                        _home.preco        = item.preco;
                        //foreach (var itemParcela in resultParcelamento = produtos.getParcelamento(Convert.ToDecimal(item.preco)))
                        //{
                        //    _home.parcela = itemParcela.parcela;
                        //    _home.VlrParcela = itemParcela.VlrParcela;
                        //}
                        listaMost.Add(_home);
                        if (lista.Count >= Settings.Default.QtdeElementosPaginaInicial)
                        {
                            break;
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                StackTrace      exe = new StackTrace(ex, true);
                CustomException ep  = new CustomException(ex, exe, "");
                ep.Save(AppDomain.CurrentDomain.BaseDirectory + "LogBuscaProduto.log");
            }
            //return PartialView(lista);
            return(listaMost);
        }
예제 #7
0
        /// <summary>
        /// Chamada inicial da tela principal do site
        /// </summary>
        /// <Author>Claudinei Nascimento / Vip-Systems Informática & Consultoria Ltda.</Author>
        /// <returns>lista de produtos</returns>
        public ActionResult Index()
        {
            ViewBag.Tema = Settings.Default.Tema;

            Session.RemoveAll();

            if (Request.Cookies["Admin"] != null)
            {
                RemoverUsuario();
            }
            try
            {
                HttpCookie cookie;

                if (!Diretorio.Existe(AppDomain.CurrentDomain.BaseDirectory + "/Logs"))
                {
                    Diretorio.Criar(AppDomain.CurrentDomain.BaseDirectory + "/Logs");
                }

                // Se o cookie não existe, efetuamos sua criação
                if (Request.Cookies["usuario"] == null)
                {
                    cookie = new HttpCookie("usuario");

                    // Configura a expiração do Cookie para 1 horas
                    cookie.Expires = DateTime.Now.AddMinutes(Settings.Default.IntervaloLimpezaCookies);

                    //cookie.Expires = DateTime.Now.AddYears(1);
                    Response.Cookies.Add(cookie);
                }
                //ObjectResult<buscaprodutos_result> result = null;
                //result = produtos.GetProdutosRelacionados("ww");



                if (string.IsNullOrEmpty(Convert.ToString(Session["qtdeCart"])))
                {
                    Session["qtdeCart"] = controleCarrinho.ContarCarrinho(RecuperarIDProdutos()).ToString();
                }
            }
            catch (Exception ex)
            {
                StackTrace      exe = new StackTrace(ex, true);
                CustomException ep  = new CustomException(ex, exe, "");
                ep.Save(AppDomain.CurrentDomain.BaseDirectory + "Log.log");
            }

            ViewData["Lancamento"] = "";
            List <Home> model = produtosHome();

            return(View(model));
        }
예제 #8
0
        /// <summary>
        /// Retorna os tamanhos que o produto possui
        /// de acordo com a cor selecionada e pinta o quadrado do tamanho do produto
        ///
        /// </summary>
        /// <Author>Claudinei Nascimento / Vip-Systems Informática & Consultoria Ltda.</Author>
        /// <returns>Lista os Tamanhos</returns>
        /// <param name="codPai"></param>
        /// <param name="codCor"></param>
        /// <returns></returns>
        public ActionResult GetTamanhosRelacionados(String codPai, String codCor, String idProd)
        {
            try
            {
                List <buscaprodutos_result> result = null;

                result = produtos.getTamanhos(codPai, codCor);

                // ObjectResult<Parcelamentos_Result> resultParcelamento = null;

                foreach (var item in result)
                {
                    Tamanho tamanho = new Tamanho();

                    tamanho.codigo       = item.codigo.Trim();
                    tamanho.CodFamilia   = item.CodFamilia.Trim();
                    tamanho.descricao    = item.descricao.Trim();
                    tamanho.nomeresumido = item.nomeresumido.Trim();
                    tamanho.ec5cod       = item.ec5cod.Trim();
                    tamanho.ec5nom       = item.ec5nom.Trim();
                    tamanho.fotoitem     = item.fotoitem;
                    tamanho.ec6nom       = item.ec6nom.Trim();
                    tamanho.preco        = item.preco;
                    //foreach (var itemParcela in resultParcelamento = produtos.getParcelamento(item.preco))
                    //{
                    //    tamanho.parcela = itemParcela.parcela;
                    //    tamanho.VlrParcela = itemParcela.VlrParcela;
                    //}
                    if (item.codigo.Equals(idProd))
                    {
                        if (Settings.Default.Tema.Equals("Azul"))
                        {
                            tamanho.corDiv = "#5c87b2";
                        }
                        else if (Settings.Default.Tema.Equals("Cinza"))
                        {
                            tamanho.corDiv = "#888888";
                        }
                    }
                    listaTamanho.Add(tamanho);
                }
            }
            catch (Exception ex)
            {
                StackTrace      exe = new StackTrace(ex, true);
                CustomException ep  = new CustomException(ex, exe, "");
                ep.Save(AppDomain.CurrentDomain.BaseDirectory + "Log.log");
            }
            return(PartialView("getTamanhos", listaTamanho));
        }
예제 #9
0
        /// <summary>
        /// Passa para a View as informações do produto
        /// </summary>
        /// <Author>Claudinei Nascimento / Vip-Systems Informática & Consultoria Ltda.</Author>
        /// <param name="codPai"></param>
        /// <param name="codCor"></param>
        /// <returns>Nova descrição dos produtos relacionados a cor selecionada</returns>
        public ActionResult GetProdutosByCorAndCodPai(String codPai, String codCor, String nomTam)
        {
            try
            {
                dynamic result = produtos.getTrocaImagens(codPai, codCor).First();
                ObjectResult <Parcelamentos_Result> resultParcelamento = null;
                if (result != null)
                {
                    ViewData["cod"] = Convert.ToInt64(result.codigo);

                    ViewData["detalhe"] = result.nomeresumido.Trim();

                    ViewData["cor"] = result.ec5nom;

                    ViewData["tamanho"] = result.ec6nom;

                    ViewData["preco"] = result.preco;
                    foreach (var itemParcela in resultParcelamento = produtos.getParcelamento(result.preco))
                    {
                        ViewData["qtdeParcelas"] = itemParcela.parcela;

                        ViewData["vlrParcela"] = itemParcela.VlrParcela;
                    }

                    ViewData["imgGrande"] = caminho.getCaminho(result.fotoitem, result.codigo);

                    ViewData["especificacao"] = result.descricao;

                    ViewData["codCor"] = result.ec5cod;

                    ViewData["codFamilia"] = result.CodFamilia;

                    var itemCoresProduto = getCores(result.CodFamilia);

                    ViewData["listaCoresProduto"] = itemCoresProduto;
                }
            }
            catch (Exception ex)
            {
                StackTrace      exe = new StackTrace(ex, true);
                CustomException ep  = new CustomException(ex, exe, "");
                ep.Save(AppDomain.CurrentDomain.BaseDirectory + "Log.log");
            }

            ViewBag.Tema = Settings.Default.Tema;

            return(PartialView("_Index"));
        }
예제 #10
0
        /// <summary>
        /// Preenche o submenu contido no menu superior
        /// </summary>
        /// <Author>Claudinei Nascimento / Vip-Systems Informática & Consultoria Ltda.</Author>
        /// <returns>lista de menu</returns>
        public ObjectResult <buscaelementoscontroleCategoria_Result> SubMenuPrincipal(String categoria)
        {
            ObjectResult <buscaelementoscontroleCategoria_Result> result = null;

            try
            {
                result = produtos.getElementoControleCategoria(idRetono: 2, filtroec1: categoria);
            }
            catch (Exception ex)
            {
                StackTrace      exe = new StackTrace(ex, true);
                CustomException ep  = new CustomException(ex, exe, "");
                ep.Save(AppDomain.CurrentDomain.BaseDirectory + "Log.log");
            }
            return(result);
        }
예제 #11
0
        /// <summary>
        /// Procedure:
        /// preenche o menu superior com o resultado das categorias
        /// encontradas no banco
        /// </summary>
        /// <Author>Claudinei Nascimento / Vip-Systems Informática & Consultoria Ltda.</Author>
        /// <returns>lista de menu</returns>
        public ObjectResult <buscaelementoscontrole_Result> MenuPrincipal()
        {
            ObjectResult <buscaelementoscontrole_Result> result = null;

            try
            {
                result = produtos.getElementoControleMenu(Convert.ToSByte(Resources.IdRetorno), (Convert.ToSByte(Resources.TipoLista)));
            }
            catch (Exception ex)
            {
                StackTrace      exe = new StackTrace(ex, true);
                CustomException ep  = new CustomException(ex, exe, "");
                ep.Save(AppDomain.CurrentDomain.BaseDirectory + "Log.log");
            }
            return(result);
        }
예제 #12
0
        /// <summary>
        /// Preenceh
        /// </summary>
        /// <returns></returns>
        public ActionResult Banner()
        {
            try
            {
                String[] ids = Settings.Default.IdsProdutosBanner.Split(',');
                ObjectResult <buscaprodutos_result> result = null;
                //ObjectResult<Parcelamentos_Result> resultParcelamento = null;

                foreach (var itemIds in ids)
                {
                    result = produtos.getProdutosBanner(itemIds.Trim());

                    if (result != null)
                    {
                        foreach (var item in result)
                        {
                            Home _home = new Home();
                            _home.CodFamilia   = item.CodFamilia.Trim();
                            _home.codigo       = item.codigo.ToString().Trim();
                            _home.descricao    = item.descricao.Trim();
                            _home.fotoitem     = caminho.getCaminho(item.fotoitem, item.codigo.ToString());
                            _home.nomeresumido = item.nomeresumido.Trim();
                            _home.ec5cod       = item.ec5cod.Trim();
                            _home.ec5nom       = item.ec5nom.Trim();
                            _home.ec6nom       = item.ec6nom.Trim();
                            _home.preco        = item.preco;

                            //foreach (var itemParcela in resultParcelamento = produtos.getParcelamento(item.preco))
                            //{
                            //    _home.parcela = itemParcela.parcela;
                            //    _home.VlrParcela = itemParcela.VlrParcela;
                            //}

                            lista.Add(_home);
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                StackTrace      exe = new StackTrace(ex, true);
                CustomException ep  = new CustomException(ex, exe, "");
                ep.Save(AppDomain.CurrentDomain.BaseDirectory + "LogBanner.log");
            }
            return(PartialView("Banner", lista));
        }
예제 #13
0
        /// <summary>
        /// Faz a busca do item selecionado no menu
        /// </summary>
        /// <Author>Claudinei Nascimento / Vip-Systems Informática & Consultoria Ltda.</Author>
        /// <returns>lista de produtos</returns>
        public ActionResult getProdutosRelacionados(String nomecategoria, String nomeSubCategoria, String categoria, String produto)
        {
            //variavel para ser executada a comparação na view IndexProdutosRelacionados
            ViewData["categorias"] = "true";
            ViewData["filtroTela"] = nomecategoria + " > " + nomeSubCategoria.ToUpper();
            try
            {
                ObjectResult <buscaelementoscontroleSelecionadoMenu_Result> result = null;
                result = produtos.getElementoItemSelecionadoMenu(filtroec1: categoria, filtroec2: produto, indagrup: 1);
                // ObjectResult<Parcelamentos_Result> resultParcelamento = null;

                if (result != null)
                {
                    foreach (var item in result)
                    {
                        Produtos _produtos = new Produtos();

                        _produtos.CodFamilia   = item.CodFamilia.Trim();
                        _produtos.codigo       = item.codigo.ToString().Trim();
                        _produtos.descricao    = item.descricao.Trim();
                        _produtos.fotoitem     = caminho.getCaminho(item.fotoitem, item.codigo.ToString());
                        _produtos.nomeresumido = item.nomeresumido.Trim();
                        _produtos.ec5nom       = item.ec5nom.Trim();
                        _produtos.ec6nom       = item.ec6nom.Trim();
                        _produtos.ec5cod       = item.ec5cod.Trim();
                        _produtos.preco        = item.preco;
                        //foreach (var itemParcela in resultParcelamento = produtos.getParcelamento(Convert.ToDecimal(item.preco)))
                        //{
                        //    _produtos.parcela = itemParcela.parcela;
                        //    _produtos.VlrParcela = itemParcela.VlrParcela;
                        //}

                        lista.Add(_produtos);
                    }
                }
                ViewBag.Tema = Settings.Default.Tema;
            }
            catch (Exception ex)
            {
                StackTrace      exe = new StackTrace(ex, true);
                CustomException ep  = new CustomException(ex, exe, "");
                ep.Save(AppDomain.CurrentDomain.BaseDirectory + "Log.log");
            }
            return(View("IndexProdutosRelacionados", lista));
        }
예제 #14
0
        /// <summary>
        /// Exclui o produto do carrinho
        /// </summary>
        /// <param name="idProduto"></param>
        /// <param name="quantidade"></param>
        public ActionResult Confirmacao(String id)
        {
            ViewBag.Tema = Settings.Default.Tema;

            try
            {
                this.RemoverDoCarrinho(id);
            }
            catch (Exception ex)
            {
                StackTrace      exe = new StackTrace(ex, true);
                CustomException ep  = new CustomException(ex, exe, "");
                ep.Save(AppDomain.CurrentDomain.BaseDirectory + "/Logs/LogRemoverCarrinho.log");
            }
            if (desvio != 0)
            {
                return(View("IndexCarrinho"));
            }

            IList <Carrinho> result3 = null;

            result3 = getCarrinho();

            ViewBag.MenssagemCart = "";

            if (Settings.Default.ResponsavelPeloFrete == 2)
            {
                ViewBag.MenssagemCart = "O valor do frete será calculado na página do PagSeguro.";
            }

            ViewData["controller"] = "FinalizarPagSeguro";
            ViewData["imgBtn"]     = "~/Imagens/Template/pay.gif";

            //Caso a opção para venda local esteja acionado, esta condição troca o botão de pagamneto
            if (Request.Cookies["rede"] != null && Request.Cookies["filial"] != null)
            {
                ViewData["controller"] = "FinalizarNoCaixa";
                ViewData["imgBtn"]     = "~/Imagens/Template/Azul/finalizar.png";
                ViewBag.MenssagemCart  = "Após concluir a compra, dirija-se ao caixa para efetuar o pagamento.";
            }

            return(View("IndexCarrinho", result3));
        }
예제 #15
0
        /// <summary>
        /// Faz a busca do item selecionado no menu lateral
        /// </summary>
        /// <Author>Claudinei Nascimento / Vip-Systems Informática & Consultoria Ltda.</Author>
        /// <returns>partial view de categorias</returns>
        public List <Produtos> getCategoriaMenuLateral(String categoria)
        {
            try
            {
                ObjectResult <buscaelementoscontroleSelecionadoMenuLateral_Result> result = null;
                result = produtos.getElementoItemSelecionadoMenuLateral(filtroec2: categoria, indagrup: 1);
                //ObjectResult<Parcelamentos_Result> resultParcelamento = null;

                if (result != null)
                {
                    foreach (var item in result)
                    {
                        Produtos _produtos = new Produtos();

                        _produtos.CodFamilia   = item.CodFamilia.Trim();
                        _produtos.codigo       = item.codigo.ToString().Trim();
                        _produtos.descricao    = item.descricao.Trim();
                        _produtos.fotoitem     = caminho.getCaminho(item.fotoitem, item.codigo.ToString());
                        _produtos.nomeresumido = item.nomeresumido.Trim();
                        _produtos.ec5nom       = item.ec5nom.Trim();
                        _produtos.ec6nom       = item.ec6nom.Trim();
                        _produtos.ec5cod       = item.ec5cod.Trim();
                        _produtos.preco        = item.preco;
                        //foreach (var itemParcela in resultParcelamento = produtos.getParcelamento(Convert.ToDecimal(item.preco)))
                        //{
                        //    _produtos.parcela = itemParcela.parcela;
                        //    _produtos.VlrParcela = itemParcela.VlrParcela;
                        //}

                        lista1.Add(_produtos);
                    }
                }
                ViewBag.Tema = Settings.Default.Tema;
            }
            catch (Exception ex)
            {
                StackTrace      exe = new StackTrace(ex, true);
                CustomException ep  = new CustomException(ex, exe, "");
                ep.Save(AppDomain.CurrentDomain.BaseDirectory + "Log.log");
            }

            return(lista1);
        }
예제 #16
0
        /// <summary>
        /// Seta as informações do produtos de acordo com o tamanho selecionado.
        /// Os parametros veem da View(getTamanhos)
        /// </summary>
        /// <Author>Claudinei Nascimento / Vip-Systems Informática & Consultoria Ltda.</Author>
        /// <param name="codigo"></param>
        /// <param name="descricao"></param>
        /// <param name="preco"></param>
        /// <param name="img"></param>
        /// <param name="especi"></param>
        /// <param name="idCor"></param>
        /// <param name="nomCor"></param>
        /// <param name="nomTamanho"></param>
        /// <param name="codFamilia"></param>
        /// <returns></returns>
        public ActionResult setTamanhos(String codigo, String descricao, String preco, String img, String especi, String idCor,
                                        String nomCor, String nomTamanho, String codFamilia, String parcela, decimal VlrParcela)
        {
            try
            {
                ViewData["cod"] = Convert.ToInt64(codigo);

                ViewData["detalhe"] = especi.Trim();

                ViewData["cor"] = nomCor;

                ViewData["tamanho"] = nomTamanho;

                ViewData["preco"] = preco.Replace(".", ",");

                ViewData["qtdeParcelas"] = parcela;

                ViewData["vlrParcela"] = VlrParcela;

                ViewData["imgGrande"] = caminho.getCaminho(img, codigo);

                ViewData["especificacao"] = descricao;

                ViewData["codFamilia"] = codFamilia;

                ViewData["codCor"] = idCor;

                var itemCoresProduto = getCores(codFamilia);

                ViewData["listaCoresProduto"] = itemCoresProduto;
            }
            catch (Exception ex)
            {
                StackTrace      exe = new StackTrace(ex, true);
                CustomException ep  = new CustomException(ex, exe, "");
                ep.Save(AppDomain.CurrentDomain.BaseDirectory + "Log.log");
            }

            ViewBag.Tema = Settings.Default.Tema;

            return(PartialView("_index"));
        }
예제 #17
0
        /// <summary>
        /// Retorno do PagSeguro.
        /// Método executado quando o usuário espera ou clica no botão
        /// para que seja redirecionado novamente ao site, recebe uma
        /// chave que contem o numero da transação no pagSeguro
        /// </summary>
        /// <author>Claudinei Nascimento</author>
        /// <business>Vip-Systems Tecnologia & Inovação LTDA></business>
        /// <param name="id_pagseguro">exemplo de id:766B9C-AD4B044B04DA-77742F5FA653-E1AB24</param>
        /// <returns></returns>
        public ActionResult Retorno(String id_pagseguro)
        {
            ViewBag.Tema = Settings.Default.Tema;

            AccountCredentials credentials = new AccountCredentials(
                Settings.Default.EmailCredential,
                Settings.Default.TokenCredential
                );

            try
            {
                // obtendo o objeto transaction a partir do código de notificação
                Transaction transaction =
                    TransactionSearchService.SearchByCode(credentials, id_pagseguro);

                ViewBag.Stattus   = GetManutencaoPedido.statusRetornoPedido(transaction.TransactionStatus);
                ViewBag.Valor     = "R$ " + transaction.GrossAmount;
                ViewBag.Codigo    = id_pagseguro;
                ViewBag.Pagamento = GetManutencaoPedido.formaPagamentoPorNome(transaction.PaymentMethod.PaymentMethodType);
            }
            catch (PagSeguroServiceException ex)
            {
                StackTrace      exe = new StackTrace(ex, true);
                CustomException ep  = new CustomException(ex, exe, "");
                ep.Save(AppDomain.CurrentDomain.BaseDirectory + "/Logs/Log.log");

                if (ex.StatusCode == HttpStatusCode.Unauthorized)
                {
                    GravarLog.gravarLogError("Unauthorized: lease verify if the credentials used in the web service call  re correct./n", "Erro Transaction");
                }

                foreach (PagSeguroServiceError error in ex.Errors)
                {
                    GravarLog.gravarLogError(error.ToString(), "Erro PagSeguro");
                }
            }

            return(View("Finalizar"));
        }
예제 #18
0
        public ActionResult Search(String search)
        {
            sbyte  parametroPrimeiroSearch = 3;//Indica que a busca será feita pela descrição do produto.
            string conteudo = search.Trim();
            int    contador = 0;

            foreach (var item in conteudo)
            {
                for (int n = 0; n < 9; ++n)
                {
                    if (item.CompareTo(Convert.ToChar(n.ToString())) == 0)
                    {
                        contador++;
                    }
                }
            }
            if (contador >= conteudo.Length)
            {
                parametroPrimeiroSearch = 1;//Indica que a busca será feita pela código do produto.
                conteudo = String.Format("{0:0000000000000}", conteudo);
                contador = 0;
            }


            ViewData["formBusca"] = "false";

            try
            {
                ObjectResult <buscaprodutos_result> result = null;
                result = produtos.getProdutosSearch(parametroPrimeiroSearch, conteudo);
                //  ObjectResult<Parcelamentos_Result> resultParcelamento = null;

                if (result != null)
                {
                    foreach (var item in result)
                    {
                        Home _home = new Home();

                        _home.CodFamilia   = item.CodFamilia.Trim();
                        _home.codigo       = item.codigo.ToString().Trim();
                        _home.descricao    = item.descricao;
                        _home.fotoitem     = caminho.getCaminho(item.fotoitem, item.codigo.ToString());
                        _home.nomeresumido = item.nomeresumido.Trim();
                        _home.ec5cod       = item.ec5cod.Trim();
                        _home.ec5nom       = item.ec5nom.Trim();
                        _home.ec6nom       = item.ec6nom.Trim();
                        _home.preco        = item.preco;
                        //foreach (var itemParcela in resultParcelamento = produtos.getParcelamento(item.preco))
                        //{
                        //    _home.parcela = itemParcela.parcela;
                        //    _home.VlrParcela = itemParcela.VlrParcela;
                        //}

                        listaProdutosBusca.Add(_home);
                        contador++;
                    }
                }

                ViewData["filtroTela"] = "<strong> RESULTADO DA PESQUISA POR > <span style='color:red;'>" + search.ToUpper().Trim() + "</span> > ITENS ENCONTRADOS: " + contador + "</strong>";
            }
            catch (Exception ex)
            {
                StackTrace      exe = new StackTrace(ex, true);
                CustomException ep  = new CustomException(ex, exe, "");
                ep.Save(AppDomain.CurrentDomain.BaseDirectory + "Log.log");
            }

            return(PartialView("Busca", listaProdutosBusca));
        }
예제 #19
0
        /// <summary>
        /// Função responsável por abrir uma requisição
        /// com a operadora de pagamentos PagSeguro,
        /// onde é passado para a mesma, as informações
        /// referente a os itens que estão sendo comprados
        /// </summary>
        /// <author>Claudinei Nascimento</author>
        /// <business>Vip-Systems Tecnologia & Inovação LTDA></business>
        /// <returns>Redireciona para a pagina do PagSeguro</returns>
        public ActionResult FinalizarPagSeguro()
        {
            //Recupera o id do usuário que esta gravado nos cookies
            HttpCookie cookie = (HttpCookie)Request.Cookies["usuario"];

            //se não ouver id, a pagina é redirecionada para a tela de login
            if (cookie.Values.AllKeys[0] == null)
            {
                //linkModel model = new linkModel();
                //model.link = "/Carrinho/IndexCarrinho";
                //return RedirectToAction("LogOn", "Account", model);
                return(RedirectToAction("LogOn", "Account"));
            }

            ecomm_clientes usuario            = cliente.getUsuarioById(cookie.Values.AllKeys[0]);
            String         produtosCarrinho   = this.RecuperarIDProdutos();
            Uri            paymentRedirectUri = null;

            if (usuario != null)
            {
                if (Settings.Default.FiltraEstoque > 0)
                {
                    if (getEstoque().Count > 0)
                    {
                        return(RedirectToAction("IndexCarrinho"));
                    }
                }
                decimal peso = Settings.Default.PesoMinimoCorreios;

                if (controleCarrinho.getTotalPeso(produtosCarrinho) >= (int)Settings.Default.PesoMinimoCorreios)
                {
                    peso = 0;
                }

                try
                {
                    decimal vlrTotalCompra = 0;

                    PaymentRequest payment = new PaymentRequest();

                    payment.Currency = Currency.Brl;

                    payment.Reference = cookie.Values.AllKeys[0];

                    payment.Sender = new Sender(usuario.nome, usuario.EMAIL1);

                    payment.Shipping = new Shipping();

                    //Forma de envio não especificada, o usuário podera escolher entra PAC e SEDEX dos Correios
                    payment.Shipping.ShippingType = ShippingType.NotSpecified;

                    Address address = new Address("BRASIL", usuario.UF_RESIDENCIAL, usuario.CIDADE_RESIDENCIAL, usuario.BAIRRO_RESIDENCIAL, usuario.CEP_RESIDENCIAL.Replace("-", ""), usuario.ENDERECO_RESIDENCIAL, usuario.NRO_RESIDENCIAL, usuario.COMPLEMENTO_RESIDENCIAL);

                    payment.Shipping.Address = address;

                    //payment.RedirectUri = new Uri("http://" + Settings.Default.LinkSite + "/e-commerce/Carrinho/Retorno");


                    AccountCredentials credentials = new AccountCredentials(
                        Settings.Default.EmailCredential,
                        Settings.Default.TokenCredential
                        );

                    String[] ids = produtosCarrinho.Split(',');

                    foreach (var itemId in ids)
                    {
                        String[] ids2 = itemId.Split('-');

                        ObjectResult <buscaprodutos_result> result = produtos.getProdutosById(ids2[0]);

                        if (result != null)
                        {
                            ObjectResult <SP_GetPeso_Result> resultPeso = null;

                            foreach (var item in result)
                            {
                                resultPeso = produtos.getPeso(item.codigo.ToString());

                                foreach (var itemPesso in resultPeso)
                                {
                                    if (peso == 0)
                                    {
                                        string pesoTotalFormatado = String.Format("{0:N3}", itemPesso.peso);

                                        peso = Convert.ToDecimal(pesoTotalFormatado.Replace(",", "."));

                                        payment.Items.Add(new Item(item.codigo.ToString(), item.nomeresumido, Convert.ToInt32(ids2[1]), item.preco, (int)peso, 0));

                                        peso = 0;
                                    }
                                    else
                                    {
                                        decimal totalItens = Convert.ToDecimal(controleCarrinho.ContarCarrinho(produtosCarrinho));
                                        decimal pesoT      = Convert.ToDecimal(peso);
                                        int     lPeso      = 1;
                                        if (pesoT / totalItens > 0.54m)
                                        {
                                            lPeso = Convert.ToInt32(pesoT / totalItens);
                                        }

                                        payment.Items.Add(new Item(item.codigo.ToString(), item.nomeresumido, Convert.ToInt32(ids2[1]), item.preco, lPeso, 0));
                                    }
                                    vlrTotalCompra += Convert.ToInt32(ids2[1]) * item.preco;
                                }
                            }
                        }
                    }
                    ServicePointManager.ServerCertificateValidationCallback = delegate { return(true); };

                    if (Settings.Default.ReservaPedidoBotaoComprar)
                    {
                        SetPedidoFinalizar setFinalizar = new SetPedidoFinalizar();
                        setFinalizar.usuario        = usuario;
                        setFinalizar.lstItem        = payment.Items;
                        setFinalizar.vlrTotalCompra = vlrTotalCompra;

                        payment.Reference = setFinalizar.gerarPedido();
                    }
                    paymentRedirectUri = PaymentService.Register(credentials, payment);

                    if (!string.IsNullOrEmpty(produtosCarrinho))
                    {
                        LimparCarrinho(produtosCarrinho);
                    }

                    return(Redirect(paymentRedirectUri.AbsoluteUri.ToString()));
                }
                catch (PagSeguroServiceException ex)
                {
                    StackTrace      exe = new StackTrace(ex, true);
                    CustomException ep  = new CustomException(ex, exe, "");
                    ep.Save(AppDomain.CurrentDomain.BaseDirectory + "/Logs/LogRedirect.log");

                    foreach (PagSeguroServiceError error in ex.Errors)
                    {
                        GravarLog.gravarLogError(error.ToString(), "Erro PagSeguro");
                    }
                }

                ViewBag.Tema = Settings.Default.Tema;
            }
            return(View("Shared/Error"));
        }
예제 #20
0
        public static void Save(this Exception ex, string title, Priority priority)
        {
            var CE = new CustomException(priority, title, ex);

            CE.Save();
        }
예제 #21
0
        public ActionResult Notificacao()
        {
            ViewBag.Tema = Settings.Default.Tema;

            try
            {
                //Stopwatch tempo = new Stopwatch();
                //tempo.Start();

                AccountCredentials credentials = new AccountCredentials(
                    Settings.Default.EmailCredential,
                    Settings.Default.TokenCredential
                    );

                string notificationType = Request.Form["notificationType"];
                string notificationCode = Request.Form["notificationCode"];//Recupera o código da transação que foi aberta pelo pagseguro

                if (notificationType == "transaction")
                {
                    // obtendo o objeto transaction a partir do código de notificação
                    Transaction transaction =
                        NotificationService.CheckTransaction(credentials, notificationCode);

                    IList <Item> lstItem = transaction.Items;//Lista com os itens que foram comprados

                    if (transaction != null)
                    {
                        if (Settings.Default.ReservaPedidoBotaoComprar)
                        {
                            updatePedido.gerarPedido(transaction, lstItem);
                        }
                        else
                        {
                            pedido.gerarPedido(transaction, lstItem);
                        }
                    }
                    //tempo.Stop();
                    //GravarLog.gravarLogError("Tempo de inserção: " + tempo.Elapsed, "Tempo de Inserção");
                }
                else
                {
                    GravarLog.gravarLogError("Tipo de transação: " + notificationType, "Não retornou transaction");
                }
            }
            catch (PagSeguroServiceException ex)
            {
                StackTrace      exe = new StackTrace(ex, true);
                CustomException ep  = new CustomException(ex, exe, "");
                ep.Save(AppDomain.CurrentDomain.BaseDirectory + "/Logs/Log.log");

                if (ex.StatusCode == HttpStatusCode.Unauthorized)
                {
                    GravarLog.gravarLogError("Unauthorized: lease verify if the credentials used in the web service call  re correct./n", "Erro Transaction");
                }

                foreach (PagSeguroServiceError error in ex.Errors)
                {
                    GravarLog.gravarLogError(error.ToString(), "Erro PagSeguro");
                }
            }



            return(View());
        }
예제 #22
0
        /// <summary>
        /// faz a busca dos elementos que estão gravados nos cookies
        /// </summary>
        /// <returns>lista do produtos no arrinho</returns>
        public IList <Carrinho> getCarrinho()
        {
            int i = 0;
            int totalItensCarrinho = 0;

            lista = new List <Carrinho>();

            String produtosCarrinho = this.RecuperarIDProdutos();

            if (!string.IsNullOrEmpty(produtosCarrinho))
            {
                ViewData["informacao"] = "true";

                String[] ids = produtosCarrinho.Split(',');

                foreach (var itemId in ids)
                {
                    if (!string.IsNullOrEmpty(itemId.Trim()))
                    {
                        String[] ids2 = itemId.Split('-');

                        ObjectResult <buscaprodutos_result> result = null;

                        result = produtos.getProdutosById(ids2[0]);
                        try
                        {
                            if (result != null)
                            {
                                foreach (var item in result)
                                {
                                    Carrinho _produtos = new Carrinho();

                                    _produtos.codigo       = item.codigo.ToString().Trim();
                                    _produtos.CodFamilia   = item.CodFamilia.Trim();
                                    _produtos.descricao    = item.descricao.Trim();
                                    _produtos.fotoitem     = caminho.getCaminho(item.fotoitem, item.codigo.ToString());
                                    _produtos.nomeresumido = item.nomeresumido.Trim();
                                    _produtos.preco        = item.preco;
                                    _produtos.soma         = somaProdutos(Convert.ToInt32(ids2[1]), item.preco);
                                    _produtos.quantidade   = Convert.ToInt32(ids2[1]);
                                    _produtos.contador     = i;
                                    _produtos.ec6nom       = item.ec6nom.Trim();
                                    totalItensCarrinho    += Convert.ToInt32(ids2[1]);
                                    lista.Add(_produtos);
                                    i++;
                                }

                                Session["qtdeCart"] = totalItensCarrinho.ToString();
                            }
                        }
                        catch (Exception ex)
                        {
                            StackTrace      exe = new StackTrace(ex, true);
                            CustomException ep  = new CustomException(ex, exe, "");
                            ep.Save(AppDomain.CurrentDomain.BaseDirectory + "/Logs/Log.log");
                        }
                    }
                }
            }
            else
            {
                ViewData["informacao"]        = "false";
                Session["qtdeCart"]           = 0;
                ViewData["MenssagemCarrinho"] = Settings.Default.MenssagemCarrinho;
            }
            return(lista);
        }