Esempio n. 1
0
        public bool inItensPedido(int idEmp, int idPed, ProdutosCarrinho produtos)
        {
            string insertId = "";
            string id       = "";

            //Abertura da conexão
            DBService.conexao.Open();
            foreach (ProdutosCesta item in produtos.produtos)
            {
                if (item.idItemPedido != 0)
                {
                    insertId = "itp_ItemPedido_int_PK,";
                    id       = item.idItemPedido + ",";
                }

                string comandoSql = "insert into TB_CA_ItensPedido_itp (" +
                                    insertId +
                                    "itp_Empresa_int_FK, " +
                                    "itp_Pedido_int_FK, " +
                                    "itp_Produto_int_FK, " +
                                    "itp_Quantidade_int, " +
                                    "itp_ValorUnitario_mon, " +
                                    "itp_ValorTotal_mon, " +
                                    "itp_ValorDesconto_mon ) " +
                                    "VALUES (" +
                                    id +
                                    idEmp.ToString() + ",'" +
                                    idPed.ToString() + "','" +
                                    item.produto.idProduto.ToString() + "','" +
                                    item.quantidade.ToString() + "','" +
                                    item.produto.valor.ToString() + "','" +
                                    item.valorTotal.ToString() + "','" +
                                    item.desconto.ToString() + "');";

                OleDbCommand cmd = new OleDbCommand(comandoSql, DBService.conexao);
                try
                {
                    //A conexão ja esta aberta

                    //Executar o comando e ler os dados retornados
                    int succ = cmd.ExecuteNonQuery();
                    if (succ == 0)
                    {
                        return(false);
                    }
                }
                catch (Exception exc)
                {
                    throw new Exception(exc.Message);
                }
                finally
                {
                }
            }
            return(true);
        }
Esempio n. 2
0
        public void restoreBackUp(string nomeTabela, JToken tabela)
        {
            DBService dBService = new DBService();

            dBService.truncateTable(nomeTabela, "itp_ItemPedido_int_PK");
            ParseUtils encodeString = new ParseUtils();

            foreach (var linha in tabela)
            {
                ProdutosCarrinho produtos = new ProdutosCarrinho();
                produtos.produtos = new List <ProdutosCesta>();
                ProdutosCesta produtosCesta = new ProdutosCesta();
                produtosCesta.produto = new ProdutosModel();
                for (int i = 0; i < linha.Count(); i++)
                {
                    var itens = linha[i];
                    if (itens.Value <int>("itp_ItemPedido_int_PK") != 0)
                    {
                        produtosCesta.idItemPedido = itens.Value <int>("itp_ItemPedido_int_PK");
                    }
                    if (itens.Value <int>("itp_Empresa_int_FK") != 0)
                    {
                        produtos.idEmpresa = itens.Value <int>("itp_Empresa_int_FK");
                    }
                    if (itens.Value <int>("itp_Pedido_int_FK") != 0)
                    {
                        produtos.idPedido = itens.Value <int>("itp_Pedido_int_FK");
                    }
                    if (itens.Value <int>("itp_Produto_int_FK") != 0)
                    {
                        produtosCesta.produto.idProduto = itens.Value <int>("itp_Produto_int_FK");
                    }
                    if (itens.Value <decimal>("itp_Quantidade_int") != 0)
                    {
                        produtosCesta.quantidade = itens.Value <decimal>("itp_Quantidade_int");
                    }
                    if (itens.Value <decimal>("itp_ValorUnitario_mon") != 0)
                    {
                        produtosCesta.produto.valor = itens.Value <decimal>("itp_ValorUnitario_mon");
                    }
                    if (itens.Value <decimal>("itp_ValorTotal_mon") != 0)
                    {
                        produtosCesta.valorTotal = itens.Value <decimal>("itp_ValorTotal_mon");
                    }
                    if (itens.Value <decimal>("itp_ValorDesconto_mon") != 0)
                    {
                        produtosCesta.desconto = itens.Value <decimal>("itp_ValorDesconto_mon");
                    }
                }
                produtos.produtos.Add(produtosCesta);
                inItensPedido(produtos.idEmpresa, produtos.idPedido, produtos);
                DBService.conexao.Close();
            }
        }
Esempio n. 3
0
        public Carrinho AddProduto(string userId, string produtoId)
        {
            var usuario = _usuarioRepository.BuscarUsuario(userId);

            if (usuario != null)
            {
                var produto = _produtoRepository.BuscarProduto(produtoId);
                if (produto != null)
                {
                    if (produto.User != userId)
                    {
                        if (produto.Quantity > 0 && produto.Ativo)
                        {
                            ProdutosCarrinho novoProduto = new ProdutosCarrinho();

                            novoProduto.IdProduto   = produtoId;
                            novoProduto.NameProduto = produto.Name;
                            novoProduto.Quantidade  = 1;
                            novoProduto.Preco       = produto.Price;
                            novoProduto.Frete       = produto.Frete;
                            novoProduto.IdUserVenda = produto.User;
                            novoProduto.url_imagem  = produto.url_imagem;

                            var carrinho = _carrinhoService.GetCarrinhoByUser(usuario.Id);
                            if (carrinho == null)
                            {
                                Carrinho novoCarrinho = new Carrinho();
                                novoCarrinho.UserId   = userId;
                                novoCarrinho.Produtos = new List <ProdutosCarrinho>();
                                novoCarrinho.Produtos.Add(novoProduto);

                                carrinho = _carrinhoService.CreateCarrinho(novoCarrinho);
                            }
                            else
                            {
                                bool existe = false;

                                foreach (ProdutosCarrinho prod in carrinho.Produtos)
                                {
                                    if (prod.IdProduto == produtoId)
                                    {
                                        existe = true;
                                        if (prod.Quantidade + 1 <= produto.Quantity)
                                        {
                                            prod.Quantidade += 1;
                                        }
                                        else
                                        {
                                            return(null);
                                        }
                                    }
                                }

                                if (!existe)
                                {
                                    carrinho.Produtos.Add(novoProduto);
                                }

                                _carrinhoService.UpdateCarrinho(carrinho, userId);
                            }
                            if (produto.Carrinhos == null)
                            {
                                produto.Carrinhos = new List <string>();
                            }

                            produto.Carrinhos.Add(carrinho.Id);
                            _produtoRepository.AtualizarProduto(produto.User, produto.Id, produto);
                            return(_carrinhoService.GetCarrinhoByUser(userId));
                        }
                    }
                }
            }
            return(null);
        }
Esempio n. 4
0
        public Pedido CriarPedido(string userId, Carrinho carrinho)
        {
            if (carrinho != null)
            {
                Random number   = new Random();
                var    endereco = _enderecoRepository.BuscarEndereco(carrinho.EnderecoId);

                Pedido       pedido     = new Pedido();
                List <Venda> listaVenda = new List <Venda>();

                pedido.Produtos = new List <ProdutosCarrinho>();

                pedido.NumPedido           = number.Next(10000, 99999);
                pedido.UserId              = userId;
                pedido.NomeEndereco        = endereco.NomeEndereco;
                pedido.Uf                  = endereco.Uf;
                pedido.Cidade              = endereco.Cidade;
                pedido.Cep                 = endereco.Cep;
                pedido.Bairro              = endereco.Bairro;
                pedido.Rua                 = endereco.Rua;
                pedido.Numero              = endereco.Numero;
                pedido.Complemento         = endereco.Complemento;
                pedido.DataPedidoRealizado = DateTime.Now;
                pedido.StatusFinalizado    = false;
                pedido.statusPagamento     = false;

                //Verificar se todos os produtos estão ativos e com estoque
                foreach (ProdutosCarrinho prod in carrinho.Produtos)
                {
                    var produto = _produtoRepository.BuscarProduto(prod.IdProduto);

                    if (produto.Quantity < prod.Quantidade || !produto.Ativo)
                    {
                        return(null);
                    }
                }

                //Somar preços e atualizar estoque dos produtos
                foreach (ProdutosCarrinho prod in carrinho.Produtos)
                {
                    ProdutosCarrinho produtoCarrinho = new ProdutosCarrinho();
                    Venda            venda           = new Venda();
                    var produto = _produtoRepository.BuscarProduto(prod.IdProduto);

                    pedido.VlTotal += (prod.Preco * prod.Quantidade);
                    pedido.VlFrete += (prod.Frete * prod.Quantidade);

                    //Atualizar estoque
                    produto.Quantity -= prod.Quantidade;
                    produto.Carrinhos.Remove(carrinho.Id);
                    _produtoRepository.AtualizarProduto(prod.IdUserVenda, prod.IdProduto, produto);

                    //Adicionar produto no pedido
                    produtoCarrinho.Preco              = prod.Preco * prod.Quantidade;
                    produtoCarrinho.Quantidade         = prod.Quantidade;
                    produtoCarrinho.NameProduto        = prod.NameProduto;
                    produtoCarrinho.IdUserVenda        = prod.IdUserVenda;
                    produtoCarrinho.IdProduto          = prod.IdProduto;
                    produtoCarrinho.url_imagem         = prod.url_imagem;
                    produtoCarrinho.Frete              = prod.Frete;
                    produtoCarrinho.StatusCancelado    = false;
                    produtoCarrinho.StatusEmTransporte = false;
                    produtoCarrinho.StatusEntregue     = false;

                    pedido.Produtos.Add(produtoCarrinho);

                    //criar pedido de venda
                    venda.BairroCompra       = pedido.Bairro;
                    venda.CepCompra          = pedido.Cep;
                    venda.CidadeCompra       = pedido.Cidade;
                    venda.Complemento        = pedido.Complemento;
                    venda.NomeEnderecoCompra = pedido.NomeEndereco;
                    venda.NumeroCompra       = pedido.Numero;
                    venda.PedidoIdCompra     = pedido.Id;
                    venda.RuaCompra          = pedido.Rua;
                    venda.UfCompra           = pedido.Uf;
                    venda.NumPedido          = pedido.NumPedido;

                    venda.DataPedidoRealizadoCompra = DateTime.Now;
                    venda.StatusCancelado           = false;
                    venda.StatusEmTransporte        = false;
                    venda.StatusFinalizado          = false;
                    venda.IdProdutoCompra           = produto.Id;
                    venda.UserIdVenda   = produto.User;
                    venda.VlTotalCompra = prod.Preco * prod.Quantidade;
                    venda.VlFreteCompra = prod.Frete * prod.Quantidade;
                    venda.VlFinalCompra = venda.VlTotalCompra + venda.VlFreteCompra;
                    venda.NomeProduto   = prod.NameProduto;
                    venda.Url_imagem    = prod.url_imagem;
                    venda.Quandidade    = prod.Quantidade;
                    Venda v = CriarVenda(venda);
                    listaVenda.Add(v);
                }

                pedido.VlFinal = pedido.VlTotal + pedido.VlFrete;

                var user = _usuarioRepository.BuscarUsuario(userId);

                string products = "";
                foreach (var prod in pedido.Produtos)
                {
                    products = products + "\n" + prod.NameProduto;
                }
                _emailRepository.EnviarEmail(user.Email, "Pedido confirmado com sucesso!", $"Caro(a) {user.Name}, \n\nseu pedido de número {pedido.NumPedido} foi processado em nosso sistema.\n\nObrigado por comprar em nossa loja!");
                Pedido pedidoFinal = _pedidoService.CreatePedido(pedido);
                foreach (Venda v in listaVenda)
                {
                    v.PedidoIdCompra = pedidoFinal.Id;
                    _vendaService.UpdateSale(v, v.Id);
                }
                return(pedidoFinal);
            }
            return(null);
        }
Esempio n. 5
0
        public ProdutosCarrinho seItensPedido(int idEmp, int idPed)
        {
            //TB_CA_ItensPedido_itp
            //itp_ItemPedido_int_PK itp_Empresa_int_FK itp_Pedido_int_FK   itp_Produto_int_FK itp_Quantidade_int itp_ValorUnitario_mon itp_ValorDesconto_mon itp_ValorTotal_mon

            string comandoSql = "select " +
                                "itp_ItemPedido_int_PK," +
                                "itp_Empresa_int_FK," +
                                "itp_Pedido_int_FK," +
                                "itp_Produto_int_FK," +
                                "itp_Quantidade_int," +
                                "itp_ValorUnitario_mon," +
                                "itp_ValorDesconto_mon," +
                                "itp_ValorTotal_mon " +
                                "from TB_CA_ItensPedido_itp " +
                                "where itp_Empresa_int_FK = " + idEmp.ToString() + " and " +
                                "itp_Pedido_int_FK = " + idPed.ToString();

            OleDbCommand commando = new OleDbCommand(comandoSql, DBService.conexao);

            try
            {
                //Abertura da conexão
                DBService.conexao.Open();

                //Executar o comando e ler os dados retornados
                OleDbDataReader  dados          = commando.ExecuteReader();
                ProdutosCarrinho itensPedido    = new ProdutosCarrinho();
                ProdutoService   produtoService = new ProdutoService();
                itensPedido.produtos = new List <ProdutosCesta>();

                while (dados.Read())
                {
                    if ((int)dados["itp_ItemPedido_int_PK"] != -1)
                    {
                        ProdutosCesta produtos  = new ProdutosCesta();
                        int           idProduto = (int)dados["itp_Produto_int_FK"];
                        produtos.produto = produtoService.seProdutos(idEmp, idProduto);

                        //produtos.produto.idProduto = (int)dados["itp_Produto_int_FK"];
                        //produtos.produto.valor = (decimal)dados["itp_ValorUnitario_mon"];

                        produtos.idItemPedido = (int)dados["itp_ItemPedido_int_PK"];
                        itensPedido.idEmpresa = (int)dados["itp_Empresa_int_FK"];
                        itensPedido.idPedido  = (int)dados["itp_Pedido_int_FK"];
                        produtos.quantidade   = decimal.Parse(dados["itp_Quantidade_int"].ToString());
                        produtos.desconto     = (decimal)dados["itp_ValorDesconto_mon"];
                        produtos.valorTotal   = (decimal)dados["itp_ValorTotal_mon"];

                        itensPedido.produtos.Add(produtos);
                    }
                    else
                    {
                        return(null);
                    }
                }
                return(itensPedido);
            }
            catch (Exception exc)
            {
                throw new Exception(exc.Message);
            }
            finally
            {
                DBService.conexao.Close();
            }
        }