Esempio n. 1
0
        //listar itens do pedido
        public static DataTable ListarItemPedido(int idPedido)
        {
            DadosPedido obj = new DadosPedido();

            obj.IdPedido = idPedido;
            return(obj.ListarItensPedido(obj));
        }
Esempio n. 2
0
        public Retorno CriarTransacao(DadosPedido dadosPedido, DadosEcAutenticacao dadosEc, FormaPagamento formaPagamento,
                                      Uri urlRetorno, RequisicaoNovaTransacaoAutorizar reqAutorizar, bool capturar)
        {
            var ret = new Retorno();

            var msg = new RequisicaoNovaTransacao
            {
                id             = dadosPedido.numero,
                versao         = MensagemVersao.v110,
                dadosec        = dadosEc,
                dadospedido    = dadosPedido,
                formapagamento = formaPagamento,
                urlretorno     = urlRetorno.AbsoluteUri,
                autorizar      = reqAutorizar,
                capturar       = capturar
            };

            try
            {
                var xml = msg.ToXml <RequisicaoNovaTransacao>(Encoding.GetEncoding("iso-8859-1"));

                var res = EnviarMensagem(xml);

                ret = XmlToRetorno(res);
            }
            catch (Exception ex)
            {
                throw ex;
            }

            return(ret);
        }
Esempio n. 3
0
        //listando dados do pedido
        public static DataTable DetalhePedido(int idVendedor)
        {
            DadosPedido obj = new DadosPedido();

            obj.IdVendedor = idVendedor;
            return(obj.DetalhePedido(obj));
        }
Esempio n. 4
0
        //verificar compras abertas
        public static DataTable VerificarComprasAbertas(int idVendedor, int idCaixa)
        {
            DadosPedido obj = new DadosPedido();

            obj.IdVendedor = idVendedor;
            obj.IdCaixa    = idCaixa;
            return(obj.VerificarComprasAbertas(obj));
        }
        public void RealizaVenda(PedidoCliente pedidoCliente, DadosPedido dadosPedido)
        {
            using (var transaction = contexto.Database.BeginTransaction())
            {
                try
                {
                    EmailService emailService = new EmailService();

                    pedidoCliente.CodigoRastreio = "4WEB" + (new Random().Next(0, 1000000)).ToString().PadLeft(8, '0');

                    pedidoCliente.Numero = (new Random().Next(0, 1000000));

                    foreach (var item in pedidoCliente.Produtos)
                    {
                        item.IdProduto = item.Produto.IdProduto;
                        Produto p = contexto.Produto.FirstOrDefault(x => x.IdProduto == item.IdProduto);
                        p.QuantidadeEmEstoque  -= item.Quantidade;
                        contexto.Entry(p).State = System.Data.Entity.EntityState.Modified;

                        if (p.QuantidadeEmEstoque < p.QuantidadeEstoqueMinimo)
                        {
                            try
                            {
                                string email = ConfigurationManager.AppSettings["emailResponsavel"]?.ToString();
                                emailService.SendEmail(new List <string> {
                                    email
                                }, "Produto em falta", $"O produto {p.Nome} encontra-se com baixa quantidade em estoque. Repor imediatamente.");
                            } catch { }
                        }

                        item.Produto = null;
                    }

                    contexto.PedidoCliente.Add(pedidoCliente);
                    contexto.SaveChanges();

                    Faturamento faturamento = new Faturamento();
                    Pagamento   pagamento   = new Pagamento();
                    pagamento.Data          = DateTime.Now;
                    pagamento.MeioPagamento = (Dominio.Enums.MeioPagamento)dadosPedido.MeioPagamento;
                    pagamento.Origem        = pedidoCliente.IdCliente;
                    contexto.Pagamento.Add(pagamento);
                    contexto.SaveChanges();

                    faturamento.Pagamento     = pagamento;
                    faturamento.PedidoCliente = pedidoCliente;
                    contexto.Faturamento.Add(faturamento);
                    contexto.SaveChanges();

                    transaction.Commit();
                }
                catch (Exception ex)
                {
                    transaction.Rollback();
                    throw ex;
                }
            }
        }
Esempio n. 6
0
        //fechar compra
        public static string FecharCompra(int idPedido, StatusPedido idStatus)
        {
            DadosPedido obj = new DadosPedido();

            obj.IdPedido       = idPedido;
            obj.IdStatusPedido = idStatus;
            //obj.IdCliente = idCliente;
            return(obj.FecharCompra(obj));
        }
Esempio n. 7
0
        //inserindo item no pedido
        public static string InserirItemPedido(int idPedido, int idProduto, int quantidade, int estoqueQuantidade)
        {
            DadosPedido obj = new DadosPedido();

            obj.IdPedido          = idPedido;
            obj.IdProduto         = idProduto;
            obj.Quantidade        = quantidade;
            obj.EstoqueQuantidade = estoqueQuantidade;
            return(obj.InsertItemPedido(obj));
        }
Esempio n. 8
0
        public Retorno CriarTransacao(DadosPedido dadosPedido, Bandeira bandeira, Uri urlRetorno)
        {
            var dadosEc = new DadosEcAutenticacao {
                numero = Numero, chave = Chave
            };
            var formaPagamento = new FormaPagamento {
                bandeira = bandeira, parcelas = 1, produto = FormaPagamentoProduto.CreditoAVista
            };
            var req      = RequisicaoNovaTransacaoAutorizar.AutorizarAutenticadaENaoAutenticada;
            var capturar = true;

            return(CriarTransacao(dadosPedido, dadosEc, formaPagamento, urlRetorno, req, capturar));
        }
Esempio n. 9
0
        //cadastro nova compra
        public static string CadastroNovaCompra(int idCliente, int idVendedor, StatusPedido idStatusPedido, TipoEntrega idTipoEntrega, DateTime dataAbertura, int idCaixa)
        {
            DadosPedido obj = new DadosPedido();

            obj.IdCliente      = idCliente;
            obj.IdVendedor     = idVendedor;
            obj.IdStatusPedido = idStatusPedido;
            obj.IdTipoEntrega  = idTipoEntrega;
            obj.DataAbertura   = dataAbertura;
            obj.IdCaixa        = idCaixa;

            return(obj.CadastroNovaCompra(obj));
        }
Esempio n. 10
0
        public ActionResult Index()
        {
            var cielo = new CieloClient();

            var pedido = new DadosPedido("1254", 1.00M, "produto");

            var resposta = cielo.CriarTransacao(pedido, Bandeira.Visa, new Uri("http://localhost:57660/Home/Retorno/1254"));

            if (!resposta.IsErro())
            {
                Session["tid"] = resposta.Transacao.tid;

                return(Redirect(resposta.Transacao.urlautenticacao));
            }
            else
            {
                return(View());
            }
        }
        public bool ConfirmarCompra()
        {
            ProdutoCadastro produtoNeg = new ProdutoCadastro();

            DadosPedido   dadosPedido   = Session["DadosPedido"] as DadosPedido;
            PedidoCliente pedidoCliente = Session["PedidoCliente"] as PedidoCliente;

            Session["Carrinho"]      = null;
            Session["DadosPedido"]   = null;
            Session["PedidoCliente"] = null;

            try
            {
                produtoNeg.RealizaVenda(pedidoCliente, dadosPedido);
            }
            catch (Exception ex)
            {
                return(false);
            }
            return(true);
        }
Esempio n. 12
0
    public static DadosPedido getDadosPedido(int _numped)
    {
        DadosPedido dp = new DadosPedido();

        using (SqlConnection cnn = new SqlConnection(ConfigurationManager.ConnectionStrings["SqlConn"].ToString()))
        {
            SqlCommand cmm = cnn.CreateCommand();
            cmm.CommandText = "SELECT Pedidos.ID_Paciente, Pedidos.Nome_Paciente, Pedidos.Cod_Tipo_Paciente, Pedidos.Cod_Procedencia, Pedidos.Cod_Tipo_Procedencia, "
                              + "Pedidos.CPF_Solcitante, Pedidos.Cod_Grupo_Exame, Pedido_Extra.DataHora, Pedidos.Cod_Status, Grupo_Exame.Descricao "
                              + "FROM Pedidos INNER JOIN "
                              + "Pedido_Extra ON Pedidos.Num_Pedido = Pedido_Extra.Num_Pedido INNER JOIN "
                              + "Grupo_Exame ON Pedidos.Cod_Grupo_Exame = Grupo_Exame.Cod_Grupo_Exame "
                              + "WHERE (Pedidos.Num_Pedido = @numped)";
            cmm.Parameters.Add("@numped", SqlDbType.Int).Value = _numped;
            cnn.Open();
            try
            {
                SqlDataReader dr = cmm.ExecuteReader();
                if (dr.Read())
                {
                    dp.Numpedido  = _numped;
                    dp.Id         = dr.GetInt32(0);
                    dp.Nome       = dr.GetString(1);
                    dp.Tip_id     = dr.GetInt32(2);
                    dp.Cod_setor  = dr.GetInt32(3);
                    dp.Tipo_Setor = dr.GetInt32(4);
                    dp.Cpf_med    = dr.GetString(5);
                    dp.Exm_id     = dr.GetInt32(6);
                    dp.Dt         = dr.GetDateTime(7);
                    dp.Cod_status = dr.GetInt32(8);
                    dp.Exame      = dr.GetString(9);
                }
            }
            catch (Exception ex)
            {
                string erro = ex.Message;
            }
        }
        return(dp);
    }
        public JsonResult FinalizarPedido(DadosPedido pedido)
        {
            Cliente cliente = Session["Cliente"] as Cliente;

            Endereco enderecoEntrega = new Endereco();

            enderecoEntrega.Rua    = pedido.Endereco;
            enderecoEntrega.CEP    = Convert.ToInt64(pedido.CEP);
            enderecoEntrega.Numero = pedido.Numero;
            enderecoEntrega.Bairro = pedido.Bairro;

            Session["ValorFrete"]  = pedido.ValorFrete;
            Session["DadosPedido"] = pedido;

            CidadeCadastro cidadeNeg = new CidadeCadastro();

            Cidade cidade = cidadeNeg.BuscaCidade(pedido.Cidade);

            if (cidade == null)
            {
                return(Json(new { CodRetorno = "aviso", Mensagem = "Cidade não encontrada" }));
            }
            else
            {
                enderecoEntrega.Cidade = cidade;
            }

            enderecoEntrega.Complemento = pedido.Complemento;

            PedidoCliente pedidoCliente = new PedidoCliente
            {
                Data            = DateTime.Now,
                EnderecoEntrega = enderecoEntrega,
                IdCliente       = cliente.Id,
                Status          = Dominio.Enums.StatusPedido.AguardandoConfirmacaoPagamento
            };

            List <Produto> carrinho = Session["Carrinho"] as List <Produto> ?? new List <Produto>();

            ProdutoCadastro produtoNeg = new ProdutoCadastro();

            if (produtoNeg.ValidaQuantidadeEstoque(carrinho))
            {
                var produtos = carrinho
                               .GroupBy(x => x.IdProduto)
                               .Select(x => new PedidoClienteProduto
                {
                    Produto    = x.FirstOrDefault(),
                    Quantidade = x.Count()
                }).ToList();

                pedidoCliente.Produtos = produtos;

                Session["PedidoCliente"] = pedidoCliente;

                return(Json(new { CodRetorno = "sucesso", Mensagem = "Você será redirecionado para conclusão do pedido" }));
            }
            else
            {
                Session["Carrinho"]      = null;
                Session["DadosPedido"]   = null;
                Session["PedidoCliente"] = null;
                return(Json(new { CodRetorno = "erro", Mensagem = "Os produtos não estão mais disponíveis" }));
            }
        }