コード例 #1
0
        public static void Incluir(MParcelasCompra modelo)
        {
            try
            {
                using (var conn = ConexaoBD.AbrirConexao()) //Passando a string de conexão
                {
                    conn.Open();                            //Abrindo a conexão
                    using (var comm = conn.CreateCommand()) //Criando o comando SQL
                    {
                        comm.CommandText = "INSERT INTO parcelascompra (parcelasCompra_valor, parcelasCompra_vecto, compra_cod) " +
                                           "VALUES (@valor, @venc, @cod)";

                        //Passando o valores por parametro
                        comm.Parameters.Add(new SqlParameter("@valor", modelo.ParcelaCompraValor));
                        comm.Parameters.Add(new SqlParameter("@venc", modelo.ParcelaCompraVencimento));
                        comm.Parameters.Add(new SqlParameter("@cod", modelo.CompraCodigo));

                        //Executando o comando
                        comm.ExecuteNonQuery();
                    }
                }
            }
            catch (Exception erro)
            {
                //Apagando a compra caso ocorra algum erro
                DALCompra.Excluir(int.Parse(DALCompra.PegarId()));
                throw new Exception(erro.Message);
            }
        }
コード例 #2
0
        //Metodo para calcular os valor total, valor de cada parcela
        public void Calcular()
        {
            //double valorTotal = double.Parse(txtValor.Text.ToString());
            double valorTotal = 00.00;

            //Calculando o valor total
            foreach (var item in Compra.Itens)
            {
                valorTotal += item.ItemCompraValor * item.ItemCompraQuant;
            }

            txtValor.Text = valorTotal.ToString("F2"); //Passando o valor total

            //Analisando se já foi selecionado a opção de parcelas
            if (cbxQuantParcela.Text != "")
            {
                MParcelasCompra parc = new MParcelasCompra(); //Instanciando

                //Passando o valor da parcela
                txtValorParcela.Text = parc.ValorParcela(double.Parse(txtValor.Text), int.Parse(cbxQuantParcela.Text)).ToString("F2");
            }
        }
コード例 #3
0
        public static void Excluir(MParcelasCompra modelo)
        {
            try
            {
                using (var conn = ConexaoBD.AbrirConexao()) //Passando a string de conexão
                {
                    conn.Open();                            //Abrindo a conexão
                    using (var comm = conn.CreateCommand()) //Criando o comando SQL
                    {
                        comm.CommandText = "delete from parcelascompra where compra_cod = @codCompra";

                        //Passando o valores por parametro
                        comm.Parameters.Add(new SqlParameter("@codCompra", modelo.CompraCodigo));

                        //Executando o comando
                        comm.ExecuteNonQuery();
                    }
                }
            }
            catch (Exception erro)
            {
                throw new Exception(erro.Message);
            }
        }
コード例 #4
0
 /* Aqui foi criada uma pequena restrição para o usuário*/
 public static void Incluir(MParcelasCompra modelo)
 {
     DALParcelasCompra.Incluir(modelo);
 }
コード例 #5
0
        //Evenoto click salvar
        private void btnSalvar_Click(object sender, EventArgs e)
        {
            if (btnSalvar.Text == "Salvar")
            {
                if (txtNotaFiscal.Text == "" || cbxQuantParcela.Text == "" || cbxStatus.Text == "" || cbxFornecedor.Text == "" || cbxTipoPagamento.Text == "") //Analisando se foi preenchido todos os dados
                {
                    MessageBox.Show("Preencha todos os dados!");
                }
                else if (DateTime.Today > dtpDataCompra.Value.Date) //Analisando se a data informada é maior ou igual a hora atual
                {
                    MessageBox.Show("A Data da compra não pode ser menor que a data atual!");
                }
                else if (dgvProduto.RowCount == 0) //Analisando se foi informado algum produto
                {
                    MessageBox.Show("Adicione os produtos!", "OK");
                }
                else
                {
                    try
                    {
                        //Passando os dados da compra
                        Compra.CompraData       = dtpDataCompra.Value.Date;
                        Compra.CompraNotaFiscal = txtNotaFiscal.Text;
                        Compra.CompraValor      = double.Parse(txtValor.Text);
                        Compra.CompraParcelas   = int.Parse(cbxQuantParcela.Text);
                        Compra.CompraStatus     = cbxStatus.Text;
                        Compra.FornecedorCod    = (int)cbxFornecedor.SelectedValue;
                        Compra.TipoPagCod       = (int)cbxTipoPagamento.SelectedValue;
                        //Salnvando a compra
                        BLLCompra.Incluir(Compra);
                        //Pegando o id da compra salva
                        Compra.CompraCod = int.Parse(DALCompra.PegarId());
                        //Criando um variavel para salvar a data da nova prestação
                        DateTime ProximaPrestação = dtpDataCompra.Value.Date;
                        //Criando e salvando as parcelas
                        for (int i = 0; i < Compra.CompraParcelas; i++)
                        {
                            Compra.Parcelas.Add(new MParcelasCompra(double.Parse(txtValorParcela.Text), ProximaPrestação.AddMonths(i + 1), Compra.CompraCod)); //Instanciando a parcela

                            //Salvando as Parcelas
                            BLLParcelasCompras.Incluir(Compra.Parcelas[i]);
                        }

                        //Salvando os Produtos e consequentemente o item
                        foreach (var item in Compra.Itens)
                        {
                            //Verificar se o produto não já existe, caso sim só será associado ao item compra
                            if (item.Produto.CodigoProduto == 0)
                            {
                                //Analisando  se a compra foi finalizada, pois caso seja o valor do produto será incrementado
                                if (cbxStatus.Text != "FINALIZADA")
                                {
                                    item.Produto.QuantProduto = 0;

                                    //Colando ele fora de Estoque, pois a compra não foi finalizada
                                    item.Produto.StatusProduto = "FORA DE ESTOQUE";
                                }

                                //Chamando o metodo Incluir um produto
                                BLLProduto.Incluir(item.Produto);
                            }
                            else //Significa que o produto já existe
                            {
                                var tabela = DALProduto.PegarDados(item.Produto.CodigoProduto); //Pegando os dados do produto já existente
                                //Passando os dados para as variáveis
                                int    cod    = int.Parse(tabela.Rows[0]["produto_cod"].ToString());
                                string nome   = tabela.Rows[0]["produto_nome"].ToString();
                                string desc   = item.Produto.DescricaoProduto;
                                double valor  = item.Produto.ValorVendaProduto;
                                double quant  = double.Parse(tabela.Rows[0]["produto_qtde"].ToString());
                                string status = item.Produto.StatusProduto;
                                int    codUni = item.Produto.CodigoUnidadeMedida;
                                int    codCat = item.Produto.CodigoCategoria;
                                int    codSub = 0;
                                //Analisado se tem subcategoria
                                if (tabela.Rows[0]["subCategoria_cod"].ToString() != "")
                                {
                                    codSub = int.Parse(tabela.Rows[0]["subCategoria_cod"].ToString());
                                }

                                //Analisando  se a compra foi finalizada, pois caso seja o valor do produto será incrementado
                                if (cbxStatus.Text == "FINALIZADA")
                                {
                                    quant = quant + item.ItemCompraQuant;
                                }
                                else if (quant == 1) //Analizando se ainda tem produto em estoque, caso não ele terá seu status mudado
                                {
                                    //Colando ele fora de Estoque, pois a compra não foi finalizada
                                    item.Produto.StatusProduto = "FORA DE ESTOQUE";
                                }

                                //Instanciando o obj produto
                                MProduto prodExiste = new MProduto(nome, desc, valor, quant, status, codUni, codCat, codSub);
                                prodExiste.CodigoProduto = cod; //Pegando o id
                                //Passando o id do produto
                                item.Produto.CodigoProduto = cod;
                                //Atualizando as informações
                                BLLProduto.Alterar(prodExiste);
                            }

                            //Passando o id da compra
                            item.CompraCodigo = Compra.CompraCod;
                            //Salvando o produto na lista item
                            BLLItensCompra.Incluir(item);
                        }
                        MessageBox.Show("Compra Salva Com Sucesso!");
                        dgvCompra.DataSource = DALCompra.CarregarGrid();
                        //Limpando os campos
                        txtNotaFiscal.Clear();
                        txtValor.Clear();
                        txtValorParcela.Clear();
                        txtValor.Clear();
                        cbxQuantParcela.SelectedIndex  = -1;
                        cbxStatus.SelectedIndex        = -1;
                        cbxFornecedor.SelectedIndex    = -1;
                        cbxTipoPagamento.SelectedIndex = -1;
                        dtpDataCompra.Value            = DateTime.Today;
                        Compra.Itens.Clear(); //Limpando os produtos
                        CarregarGrid();
                    }
                    catch (SqlException erro)
                    {
                        MessageBox.Show(erro.Message, "OK");
                        //Apagando tudo caso haja um erro
                        DALCompra.Excluir(int.Parse(DALCompra.PegarId()));
                    }
                    catch (Exception erro)
                    {
                        MessageBox.Show(erro.Message, "OK");
                        //Apagando tudo caso haja um erro
                        DALCompra.Excluir(int.Parse(DALCompra.PegarId()));
                    }
                }
            }
            else
            {
                if (txtNotaFiscal.Text == "" || cbxQuantParcela.Text == "" || cbxStatus.Text == "" || cbxFornecedor.Text == "" || cbxTipoPagamento.Text == "") //Analisando se foi preenchido todos os dados
                {
                    MessageBox.Show("Preencha todos os dados!");
                }
                else if (DateTime.Today > dtpDataCompra.Value.Date) //Analisando se a data informada é maior ou igual a hora atual
                {
                    MessageBox.Show("A Data da compra não pode ser menor que a data atual!");
                }
                else if (dgvProduto.RowCount == 0) //Analisando se foi informado algum produto
                {
                    MessageBox.Show("Adicione os produtos!", "OK");
                }
                else
                {
                    try
                    {
                        //if Compra.Itens.
                        //Passando os dados da compra
                        Compra.CompraCod        = int.Parse(txtCodigo.Text);
                        Compra.CompraData       = dtpDataCompra.Value.Date;
                        Compra.CompraNotaFiscal = txtNotaFiscal.Text;
                        Compra.CompraValor      = double.Parse(txtValor.Text);
                        Compra.CompraParcelas   = int.Parse(cbxQuantParcela.Text);
                        Compra.CompraStatus     = cbxStatus.Text;
                        Compra.FornecedorCod    = (int)cbxFornecedor.SelectedValue;
                        Compra.TipoPagCod       = (int)cbxTipoPagamento.SelectedValue;
                        //Salnvando a compra
                        BLLCompra.Alterar(Compra);

                        MParcelasCompra parcelas = new MParcelasCompra();
                        parcelas.CompraCodigo = Compra.CompraCod;
                        //Excluindo parcelas salvas
                        BLLParcelasCompras.Excluir(parcelas);

                        //Criando um variavel para salvar a data da nova prestação
                        DateTime ProximaPrestação = dtpDataCompra.Value.Date;
                        //Criando e salvando as parcelas



                        for (int i = 0; i < int.Parse(cbxQuantParcela.Text); i++)
                        {
                            Compra.Parcelas.Add(new MParcelasCompra(double.Parse(txtValorParcela.Text), ProximaPrestação.AddMonths(i), Compra.CompraCod)); //Instanciando a parcela

                            //Salvando as Parcelas
                            BLLParcelasCompras.Incluir(Compra.Parcelas[i]);
                        }

                        //excluindo os itens da lista de excluidos
                        foreach (var lista in ListaItensExcluidos)
                        {
                            //int teste = int.Parse(dgvProduto.CurrentRow.Cells[6].Value.ToString());
                            //BLLProduto.Alterar(int.Parse(dgvProduto.CurrentRow.Cells[6].Value.ToString()));
                            BLLItensCompra.Excluir(lista);
                        }
                        foreach (var lista in ListaProdutosExcluidos)
                        {
                            BLLProduto.Alterar(lista);
                        }

                        //Salvando os Produtos e consequentemente o item
                        foreach (var item in Compra.Itens)
                        {
                            //Analisando  se a compra foi finalizada, pois caso seja o valor do produto será incrementado
                            if (cbxStatus.Text != "FINALIZADA")
                            {
                                item.Produto.QuantProduto = 0;
                            }
                            else
                            {
                                item.Produto.QuantProduto = item.ItemCompraQuant;
                            }
                            if (item.Produto.QuantProduto == 0)
                            {
                                item.Produto.StatusProduto = "FORA DE ESTOQUE";
                            }

                            //Chamando o metodo Alterar um produto
                            BLLProduto.Alterar(item.Produto);


                            //Passando o id da compra
                            item.CompraCodigo = int.Parse(txtCodigo.Text);


                            //Salvando o produto na lista item
                            BLLItensCompra.Alterar(item);
                            //Salva o produto caso durante a alteração tenha sido criado o novo produto
                            if (item.Produto.CodigoProduto == 0)
                            {
                                //Analisando  se a compra foi finalizada, pois caso seja o valor do produto será incrementado
                                if (cbxStatus.Text != "FINALIZADA")
                                {
                                    item.Produto.QuantProduto = 0;


                                    //Colando ele fora de Estoque, pois a compra não foi finalizada
                                    item.Produto.StatusProduto = "FORA DE ESTOQUE";
                                }

                                //Chamando o metodo Incluir um produto
                                BLLProduto.Incluir(item.Produto);
                                //Passando o id da compra
                                item.CompraCodigo = Compra.CompraCod;
                                //Salvando o produto na lista item
                                BLLItensCompra.Incluir(item);
                            }
                            else
                            {
                                bool verificaexistencia = true;
                                foreach (var itensanterior in CompraAnterior.Itens)
                                {
                                    if (itensanterior.ItemCompraCodigo == item.ItemCompraCodigo)
                                    {
                                        verificaexistencia = true;
                                        break;
                                    }
                                    else
                                    {
                                        verificaexistencia = false;
                                    }
                                }
                                if (verificaexistencia == false)
                                {
                                    if (cbxStatus.Text != "FINALIZADA")
                                    {
                                        item.Produto.QuantProduto = 0;


                                        //Colando ele fora de Estoque, pois a compra não foi finalizada
                                        item.Produto.StatusProduto = "FORA DE ESTOQUE";
                                    }

                                    //Chamando o metodo Incluir um produto
                                    BLLProduto.Incluir(item.Produto);
                                    //Passando o id da compra
                                    item.CompraCodigo = Compra.CompraCod;
                                    //Salvando o produto na lista item
                                    BLLItensCompra.Incluir(item);
                                }
                            }
                        }
                        MessageBox.Show("Compra Salva Com Sucesso!");
                        dgvCompra.DataSource = DALCompra.CarregarGrid();
                        //Limpando os campos
                        txtNotaFiscal.Clear();
                        txtValor.Clear();
                        txtValorParcela.Clear();
                        txtValor.Clear();
                        cbxQuantParcela.SelectedIndex  = -1;
                        cbxStatus.SelectedIndex        = -1;
                        cbxFornecedor.SelectedIndex    = -1;
                        cbxTipoPagamento.SelectedIndex = -1;
                        dtpDataCompra.Value            = DateTime.Today;
                        Compra.Itens.Clear(); //Limpando os produtos
                        CarregarGrid();
                        //alterando botões
                        btnSalvar.Text              = "Salvar";
                        btnExcluir.Enabled          = true;
                        btnExcluirProduto.Enabled   = true;
                        btnAdicionarProduto.Enabled = true;
                        //limpando lista
                        ListaProdutosExcluidos.Clear();
                        ListaItensExcluidos.Clear();
                        Compra.Parcelas.Clear();
                    }
                    catch (SqlException erro)
                    {
                        MessageBox.Show(erro.Message, "OK");
                        //Apagando tudo caso haja um erro
                        DALCompra.Excluir(int.Parse(DALCompra.PegarId()));
                    }
                    catch (Exception erro)
                    {
                        MessageBox.Show(erro.Message, "OK");
                        //Apagando tudo caso haja um erro
                        DALCompra.Excluir(int.Parse(DALCompra.PegarId()));
                    }
                }
            }
        }