예제 #1
0
        private void salvarButton_Click(object sender, EventArgs e)
        {
            this.Cursor = Cursors.WaitCursor;
            if (ValidateForm())
            {
                this.MenuDisabler(true, false, false, false, false);
                this.InputDisabler(false);
                /************BEGIN************/

                //criando um despesa com valores do formulário
                this.despesa = this.ReturnDespesaFromForm();
                //salvando cargo
                Library.DespesaBD.Save(this.despesa);

                //transacao
                Library.CaixaTransacao caixaTransacao = new Library.CaixaTransacao();
                caixaTransacao.Despesa = this.despesa;
                caixaTransacao.Caixa   = Library.CaixaBD.GetCaixa(this.despesa.Data.GetValueOrDefault());
                caixaTransacao.Hora    = TimeSpan.Parse(DateTime.Now.ToShortTimeString());
                caixaTransacao.Tipo    = "Despesa";
                caixaTransacao.Valor   = -this.despesa.Valor;

                Library.CaixaTransacaoBD.Save(caixaTransacao);

                //atualizando formulário
                RefreshForm();

                /*************END*************/
                this.Modo = "Salvar";
            }
            this.Cursor = Cursors.Default;
        }
예제 #2
0
        private void descontarButton_Click(object sender, EventArgs e)
        {
            for (int i = 0; i < this.comissoesDGV.RowCount; i++)
            {
                if ((bool)this.comissoesDGV[0, i].Value)
                {
                    Library.Comissao comissao = Library.ComissaoBD.FindById((long)this.comissoesDGV[1, i].Value);
                    comissao.Pago = 1;

                    //instanciando e definindo valores de uma transação
                    Library.CaixaTransacao caixaTransacao = new Library.CaixaTransacao();
                    caixaTransacao.Comissao = comissao;
                    caixaTransacao.Caixa    = Library.CaixaBD.GetCaixaToday();
                    caixaTransacao.Hora     = TimeSpan.Parse(DateTime.Now.ToShortTimeString());
                    caixaTransacao.Tipo     = "Comissão";
                    caixaTransacao.Valor    = comissao.Valor;
                    Library.CaixaTransacaoBD.Save(caixaTransacao);


                    Library.ComissaoBD.Update(comissao);

                    this.AtualizarGrid();
                }
            }
        }
예제 #3
0
        private void transacoesDGV_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
        {
            DataGridViewRow rowSelected = transacoesDGV.SelectedRows[0];

            Library.CaixaTransacao transacao = Library.CaixaTransacaoBD.FindCaixaTransacaoById((long)rowSelected.Cells[0].Value);

            if (transacao.Venda != null)
            {
                vd       = new Forms.Venda.VendaDetail();
                vd.Venda = transacao.Venda;

                vd.ShowDialog(this);
            }
        }
예제 #4
0
        private void retirarButton_Click(object sender, EventArgs e)
        {
            this.Cursor = Cursors.WaitCursor;

            decimal valor = this.retiradaTB.Text.ConvertToDecimal();

            Library.CaixaTransacao transacao = new Library.CaixaTransacao();
            transacao.Caixa = Library.CaixaBD.GetCaixaToday();
            transacao.Hora  = TimeSpan.Parse(DateTime.Now.ToShortTimeString());
            transacao.Tipo  = "Retirada";
            transacao.Valor = -valor;
            Library.CaixaTransacaoBD.Save(transacao);

            this.AtualizarGrid();

            this.Cursor = Cursors.Default;
        }
        private void pagarButton_Click(object sender, EventArgs e)
        {
            if (MessageBox.Show("Deseja pagar?", "Pergunta:", MessageBoxButtons.YesNo) == DialogResult.Yes)
            {
                this.Comissao.Pago = 1;

                //instanciando e definindo valores de uma transação
                Library.CaixaTransacao caixaTransacao = new Library.CaixaTransacao();
                caixaTransacao.Comissao = this.Comissao;
                caixaTransacao.Caixa = Library.CaixaBD.GetCaixaToday();
                caixaTransacao.Hora = TimeSpan.Parse(DateTime.Now.ToShortTimeString());
                caixaTransacao.Tipo = "Comissão";
                caixaTransacao.Valor = this.Comissao.Valor;
                Library.CaixaTransacaoBD.Save(caixaTransacao);


                Library.ComissaoBD.Update(this.Comissao);

                ShowValues();
            }
        }
예제 #6
0
        static public void Delete(Library.CaixaTransacao caixaTransacao)
        {
            SqlConnection conexao = null;

            try
            {
                conexao = new SqlConnection(global::Connection.Connection.String());
                SqlCommand comando = conexao.CreateCommand();

                comando.CommandText = "DELETE FROM CaixaTransacao WHERE id='" + caixaTransacao.Id + "'";

                conexao.Open();
                comando.ExecuteNonQuery();
            }
            catch (Exception ex)
            {
                Library.Diagnostics.Logger.Error(ex);
            }
            finally
            {
                conexao.Close();
            }
        }
예제 #7
0
        private void salvarButton_Click(object sender, EventArgs e)
        {
            this.Cursor = Cursors.WaitCursor;

            try
            {
                if (ValidateForm())
                {
                    if (ValidadePrecoVenda())
                    {
                        //instanciando nova forma de pagamento e definindo seu valor
                        formaPagamento = new Forms.FormaPagamento();

                        Library.Cliente cliente = (Library.Cliente) this.idClienteCB.SelectedItem;
                        if (cliente.AptoVendaAPrazo == 1)
                        {
                            formaPagamento.aptoAPrazo = true;
                        }
                        else
                        {
                            formaPagamento.aptoAPrazo = false;
                        }
                        formaPagamento.diaPagamento = cliente.VencimentoVendaAPrazo;

                        formaPagamento.ValorTotal       = this.valorTotalTextBox.Text.ConvertToDecimal();
                        formaPagamento.ValorTotalAVista = this.produtos1.ValorProdutosAVista;
                        //mostrando texto na toolbar
                        this.toolbarStatusTSSL.Text = this.fvVendaToolbarAbrindoFormaPagamento;
                        //abrindo forma de pagamento
                        formaPagamento.ShowDialog(this);
                        //se confirnada forma de pagamento
                        if (formaPagamento.DialogResult == DialogResult.OK)
                        {
                            //mostrando texto na toolbar
                            this.toolbarStatusTSSL.Text = this.fvVendaToolbarSalvandoVenda;
                            //salvando venda
                            this.venda                = this.ReturnVendaFromForm();
                            this.venda.Pago           = 0;
                            this.venda.FormaPagamento = "";
                            this.venda.Entrada        = formaPagamento.Entrada;
                            Library.VendaBD.Save(this.venda);

                            //mostrando texto na toolbar
                            this.toolbarStatusTSSL.Text = this.fvVendaToolbarSalvandoProdutos;
                            //salvando produtos
                            foreach (Library.VendaProduto a in ReturnVendaProdutoFromForm(long.Parse(this.codigoTB.Text)))
                            {
                                Library.VendaProdutoBD.Save(a);

                                Library.Produto produtoTMP = a.Produto;
                                produtoTMP.Estoque -= (double)a.Quantidade;
                                produtoTMP.Vendido += (double)a.Quantidade;
                                Library.ProdutoBD.Update(produtoTMP);
                            }

                            //instanciando e definindo valores de uma transação
                            Library.CaixaTransacao caixaTransacao = new Library.CaixaTransacao();
                            caixaTransacao.Venda = this.venda;
                            caixaTransacao.Caixa = Library.CaixaBD.GetCaixaToday();
                            caixaTransacao.Hora  = TimeSpan.Parse(this.venda.Data.GetValueOrDefault().ToShortTimeString());
                            caixaTransacao.Tipo  = "Venda";
                            caixaTransacao.Valor = (decimal)this.venda.Valor;

                            //coletando a forma de pagamento
                            switch (formaPagamento.Forma)
                            {
                            case "avista":
                                //atualisando venda
                                this.venda.FormaPagamento = "avista";
                                this.venda.Pago           = 1;
                                this.venda.Valor          = formaPagamento.ValorTotalTextBox;
                                Library.VendaBD.Update(this.venda);
                                //salvando transacao

                                caixaTransacao.Valor = this.venda.Valor;
                                Library.CaixaTransacaoBD.Save(caixaTransacao);

                                break;

                            case "aprazo":
                                //atualisando venda
                                this.venda.FormaPagamento = "aprazo";
                                Library.VendaBD.Update(this.venda);

                                //mostrando texto na toolbar
                                this.toolbarStatusTSSL.Text = this.fvVendaToolbarSalvandoParcelas;
                                //salvando parcelas
                                foreach (Library.VendaParcela a in this.ReturnVendaParcela(formaPagamento.ParcelasDGV, long.Parse(this.codigoTB.Text)))
                                {
                                    Library.VendaParcelaBD.Save(a);
                                }

                                //salvando transacao
                                if (formaPagamento.Entrada != 0)
                                {
                                    caixaTransacao.Valor = formaPagamento.Entrada;
                                    Library.CaixaTransacaoBD.Save(caixaTransacao);
                                }
                                break;

                            case "cartao":
                                //atualisando venda
                                this.venda.FormaPagamento = "cartao";
                                //this.venda.Pago = 1;
                                Library.VendaBD.Update(this.venda);


                                Library.Cartao cartao = new Library.Cartao();
                                //cartao.Servico = Library.ServicoBD.FindServicoById(idServicoAtual);
                                cartao.Venda    = this.venda;
                                cartao.Data     = this.venda.Data.GetValueOrDefault(DateTime.MinValue);
                                cartao.Tipo     = formaPagamento.CartaoTipo;
                                cartao.Valor    = this.venda.Valor - formaPagamento.Entrada;
                                cartao.Parcelas = formaPagamento.Quantidade;
                                Library.CartaoBD.Save(cartao);


                                //salvando transacao
                                if (formaPagamento.Entrada != 0)
                                {
                                    caixaTransacao.Valor = formaPagamento.Entrada;
                                    Library.CaixaTransacaoBD.Save(caixaTransacao);
                                }

                                break;

                            case "cheque":
                                //atualisando venda
                                this.venda.FormaPagamento = "cheque";
                                Library.VendaBD.Update(this.venda);

                                //mostrando texto na toolbar
                                this.toolbarStatusTSSL.Text = this.fvVendaToolbarSalvandoParcelas;
                                //salvando parcelas
                                foreach (Library.Cheque a in this.ReturnCheque(formaPagamento.ParcelasDGV, long.Parse(this.codigoTB.Text)))
                                {
                                    Library.ChequeBD.Save(a);
                                }

                                //salvando transacao
                                if (formaPagamento.Entrada != 0)
                                {
                                    caixaTransacao.Valor = formaPagamento.Entrada;
                                    Library.CaixaTransacaoBD.Save(caixaTransacao);
                                }
                                break;
                            }
                            //*************************************
                            // COMISSÂO
                            //

                            if (this.venda.Funcionario.Comissao == 1)
                            {
                                Library.Comissao comissao = new Library.Comissao();
                                comissao.Funcionario = venda.Funcionario;
                                comissao.Venda       = venda;
                                comissao.Tipo        = "Venda";
                                comissao.Pago        = 0;

                                decimal valor          = 0;
                                decimal comissaoPadrao = venda.Funcionario.ComissaoVenda;
                                if (comissaoPadrao != 0)
                                {
                                    valor = (decimal)(venda.Valor * (comissaoPadrao / 100));
                                    comissao.Porcentagem = venda.Funcionario.ComissaoVenda;


                                    comissao.Valor = (decimal)valor;

                                    Library.ComissaoBD.Save(comissao);
                                }
                            }



                            //
                            // END COMISSÂO
                            //*************************************

                            //vai imprimir?
                            if (MessageBox.Show(this.fvVendaImprimirMsg, this.fvVendaImprimirMsgTitle, MessageBoxButtons.YesNo) == DialogResult.Yes)
                            {
                                this.toolbarStatusTSSL.Text = "Imprimindo";
                                //print = new Library.Windows.Forms.Print(Library.Classes.Print.PrintVenda(this.venda), "Venda");
                                //print.ShowDialog(this);
                                //notav = new Reports.nota_venda();
                                //notav.Venda = this.venda;
                                //notav.ShowDialog(this);
                                Library.Classes.Print.PrintVenda(this.venda);
                            }


                            //limpando produtos
                            this.produtos1.Clear();
                            //limpando form
                            this.RefreshForm();
                            //atualizar forms externos
                            this.RefreshChilds();
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                Library.Diagnostics.Logger.Error(ex);
            }
            finally
            {
            }

            this.Cursor = Cursors.Default;
        }
예제 #8
0
        static public void Save(Library.CaixaTransacao caixaTransacao)
        {
            SqlConnection conexao = null;

            try
            {
                conexao = new SqlConnection(global::Connection.Connection.String());

                SqlCommand comando = conexao.CreateCommand();

                comando.CommandText = "INSERT INTO CaixaTransacao (idCaixa, hora, tipo, valor, idDespesa, idVenda, idVendaParcela, idComissao, idCheque, idCartao) VALUES (@idCaixa, @hora, @tipo, @valor, @idDespesa, @idVenda, @idVendaParcela, @idComissao, @idCheque, @idCartao)"
                                      + "SELECT CAST(scope_identity() AS bigint)";

                if (caixaTransacao.Caixa != null)
                {
                    comando.Parameters.AddWithValue("@idCaixa", caixaTransacao.Caixa.Id);
                }
                else
                {
                    comando.Parameters.AddWithValue("@idCaixa", DBNull.Value);
                }

                comando.Parameters.AddWithValue("@hora", caixaTransacao.Hora);
                comando.Parameters.AddWithValue("@tipo", caixaTransacao.Tipo);
                comando.Parameters.AddWithValue("@valor", caixaTransacao.Valor);

                if (caixaTransacao.Despesa != null)
                {
                    comando.Parameters.AddWithValue("@idDespesa", caixaTransacao.Despesa.Id);
                }
                else
                {
                    comando.Parameters.AddWithValue("@idDespesa", DBNull.Value);
                }

                if (caixaTransacao.Venda != null)
                {
                    comando.Parameters.AddWithValue("@idVenda", caixaTransacao.Venda.Id);
                }
                else
                {
                    comando.Parameters.AddWithValue("@idVenda", DBNull.Value);
                }

                if (caixaTransacao.VendaParcela != null)
                {
                    comando.Parameters.AddWithValue("@idVendaParcela", caixaTransacao.VendaParcela.Id);
                }
                else
                {
                    comando.Parameters.AddWithValue("@idVendaParcela", DBNull.Value);
                }

                if (caixaTransacao.Comissao != null)
                {
                    comando.Parameters.AddWithValue("@idComissao", caixaTransacao.Comissao.Id);
                }
                else
                {
                    comando.Parameters.AddWithValue("@idComissao", DBNull.Value);
                }

                if (caixaTransacao.Cheque != null)
                {
                    comando.Parameters.AddWithValue("@idCheque", caixaTransacao.Cheque.Id);
                }
                else
                {
                    comando.Parameters.AddWithValue("@idCheque", DBNull.Value);
                }

                if (caixaTransacao.Cartao != null)
                {
                    comando.Parameters.AddWithValue("@idCartao", caixaTransacao.Cartao.Id);
                }
                else
                {
                    comando.Parameters.AddWithValue("@idCartao", DBNull.Value);
                }


                conexao.Open();

                //comando.ExecuteNonQuery();
                caixaTransacao.Id = (long)comando.ExecuteScalar();

                if (caixaTransacao.Caixa != null)
                {
                    decimal saldo = 0;
                    if (caixaTransacao.Valor > 0)
                    {
                        saldo = caixaTransacao.Caixa.Saldo + caixaTransacao.Valor;
                    }
                    else
                    {
                        saldo = caixaTransacao.Caixa.Saldo - -caixaTransacao.Valor;
                    }

                    caixaTransacao.Caixa.Saldo = saldo;
                    Library.CaixaBD.Update(caixaTransacao.Caixa);
                }
            }
            catch (Exception ex)
            {
                Library.Diagnostics.Logger.Error(ex);
            }
            finally
            {
                conexao.Close();
            }
        }
예제 #9
0
        static public Library.CaixaTransacao FindCaixaTransacaoById(long idCaixaTransacao)
        {
            SqlConnection  conexao = null;
            SqlDataAdapter dap     = null;
            DataSet        ds      = null;

            Library.CaixaTransacao caixaTransacao = null;
            try
            {
                conexao = new SqlConnection(global::Connection.Connection.String());

                dap = new SqlDataAdapter("SELECT * FROM CaixaTransacao WHERE id=" + idCaixaTransacao + "", conexao);

                ds = new DataSet();

                dap.Fill(ds, "CaixaTransacao");

                if (ds.Tables["CaixaTransacao"].Rows.Count == 1)
                {
                    caixaTransacao       = new CaixaTransacao();
                    caixaTransacao.Id    = (long)ds.Tables["CaixaTransacao"].Rows[0]["id"];
                    caixaTransacao.Caixa = Library.CaixaBD.FindCaixaById((long)ds.Tables["CaixaTransacao"].Rows[0]["idCaixa"]);
                    caixaTransacao.Hora  = (TimeSpan)ds.Tables["CaixaTransacao"].Rows[0]["hora"];
                    caixaTransacao.Tipo  = ds.Tables["CaixaTransacao"].Rows[0]["tipo"].ToString();
                    caixaTransacao.Valor = (decimal)ds.Tables["CaixaTransacao"].Rows[0]["valor"];

                    if (!string.IsNullOrEmpty(ds.Tables["CaixaTransacao"].Rows[0]["idDespesa"].ToString()))
                    {
                        caixaTransacao.Despesa = Library.DespesaBD.FindDespesaById((long)ds.Tables["CaixaTransacao"].Rows[0]["idDespesa"]);
                    }
                    else
                    {
                        caixaTransacao.Despesa = null;
                    }

                    if (!string.IsNullOrEmpty(ds.Tables["CaixaTransacao"].Rows[0]["idVenda"].ToString()))
                    {
                        caixaTransacao.Venda = Library.VendaBD.FindVendaById((long)ds.Tables["CaixaTransacao"].Rows[0]["idVenda"]);
                    }
                    else
                    {
                        caixaTransacao.Venda = null;
                    }

                    if (!string.IsNullOrEmpty(ds.Tables["CaixaTransacao"].Rows[0]["idVendaParcela"].ToString()))
                    {
                        caixaTransacao.VendaParcela = Library.VendaParcelaBD.FindVendaParcelaById((long)ds.Tables["CaixaTransacao"].Rows[0]["idVendaParcela"]);
                    }
                    else
                    {
                        caixaTransacao.VendaParcela = null;
                    }

                    if (!string.IsNullOrEmpty(ds.Tables["CaixaTransacao"].Rows[0]["idComissao"].ToString()))
                    {
                        caixaTransacao.Comissao = Library.ComissaoBD.FindComissaoById((long)ds.Tables["CaixaTransacao"].Rows[0]["idComissao"]);
                    }
                    else
                    {
                        caixaTransacao.Comissao = null;
                    }

                    if (!string.IsNullOrEmpty(ds.Tables["CaixaTransacao"].Rows[0]["idCheque"].ToString()))
                    {
                        caixaTransacao.Cheque = Library.ChequeBD.FindChequeById((long)ds.Tables["CaixaTransacao"].Rows[0]["idCheque"]);
                    }
                    else
                    {
                        caixaTransacao.Cheque = null;
                    }

                    if (!string.IsNullOrEmpty(ds.Tables["CaixaTransacao"].Rows[0]["idCartao"].ToString()))
                    {
                        caixaTransacao.Cartao = Library.CartaoBD.FindCartaoById((long)ds.Tables["CaixaTransacao"].Rows[0]["idCartao"]);
                    }
                    else
                    {
                        caixaTransacao.Cartao = null;
                    }
                }
                return(caixaTransacao);
            }
            catch (Exception ex)
            {
                Library.Diagnostics.Logger.Error(ex);
            }
            finally
            {
                conexao.Close();
                dap.Dispose();
                ds.Dispose();
            }
            return(null);
        }
예제 #10
0
        private void quitarButton_Click(object sender, EventArgs e)
        {
            this.Cursor = Cursors.WaitCursor;
            try
            {
                Library.Venda venda = Library.VendaBD.FindById((long)this.vendasDGV.SelectedRows[0].Cells[0].Value);


                //instanciando e definindo valores de uma transação
                Library.CaixaTransacao caixaTransacao = new Library.CaixaTransacao();
                caixaTransacao.Venda = venda;
                caixaTransacao.Caixa = Library.CaixaBD.GetCaixaToday();
                caixaTransacao.Hora  = TimeSpan.Parse(DateTime.Now.ToShortTimeString());
                caixaTransacao.Tipo  = "Parcela de venda";
                caixaTransacao.Valor = (decimal)venda.Valor;
                //

                Library.VendaParcela parcela = Library.VendaParcelaBD.FindById((long)this.parcelasDGV.SelectedRows[0].Cells[0].Value);

                if (this.descontarParcelaCB.Checked == true)
                {
                    decimal valor = 0;
                    decimal.TryParse(this.descontarParcelaTB.Text, out valor);

                    decimal valor2 = (decimal)((parcela.Valor - valor) - parcela.ValorPago);

                    if (valor2 == 0)//pagando parcela inteira pois descontou um valor do tamanho da parcela
                    {
                        parcela.Pago      = 1;
                        parcela.Pagamento = DateTime.Now;
                        parcela.ValorPago = parcela.Valor;

                        Library.VendaParcelaBD.Update(parcela);

                        Library.VendaBD.Update(venda);

                        //salvando transacao
                        caixaTransacao.Valor        = valor;
                        caixaTransacao.VendaParcela = parcela;
                        Library.CaixaTransacaoBD.Save(caixaTransacao);

                        if (MessageBox.Show(this.fvQuitarParcelaImprimirMsg, this.fvQuitarParcelaImprimirMsgTitle, MessageBoxButtons.YesNo) == DialogResult.Yes)
                        {
                            Library.Classes.Print.PrintParcela(parcela);
                        }
                    }
                    else if (valor2 > 0)//pagando um valor em uma parcela
                    {
                        parcela.Pago = 0;
                        //parcela.Valor = valor2;
                        parcela.Pagamento  = DateTime.MinValue;
                        parcela.ValorPago += valor;

                        Library.VendaParcelaBD.Update(parcela);

                        //salvando transacao
                        caixaTransacao.Valor        = valor;
                        caixaTransacao.VendaParcela = parcela;
                        Library.CaixaTransacaoBD.Save(caixaTransacao);

                        if (MessageBox.Show(this.fvQuitarParcelaImprimirMsg, this.fvQuitarParcelaImprimirMsgTitle, MessageBoxButtons.YesNo) == DialogResult.Yes)
                        {
                            Library.Classes.Print.PrintParcela(parcela);
                        }
                    }
                    else
                    {
                        MessageBox.Show(this.fvQuitarParcelaValorInvalid);
                    }
                }
                else//pagando parcela inteira pois não foi selecionado o checkbox
                {
                    parcela.Pago      = 1;
                    parcela.Pagamento = DateTime.Now;
                    parcela.ValorPago = parcela.Valor;

                    Library.VendaParcelaBD.Update(parcela);

                    Library.VendaBD.Update(venda);

                    //salvando transacao
                    caixaTransacao.Valor        = (decimal)parcela.Valor;
                    caixaTransacao.VendaParcela = parcela;
                    Library.CaixaTransacaoBD.Save(caixaTransacao);


                    if (MessageBox.Show(this.fvQuitarParcelaImprimirMsg, this.fvQuitarParcelaImprimirMsgTitle, MessageBoxButtons.YesNo) == DialogResult.Yes)
                    {
                        Library.Classes.Print.PrintParcela(parcela);
                    }
                }

                //conferindo se todas parcelas estão pagas
                List <Library.VendaParcela> vendasparcelas = Library.VendaParcelaBD.FindAdvanced(new QItem("v.id", venda.Id));
                int count = 0;
                foreach (Library.VendaParcela vp in vendasparcelas)
                {
                    if (vp.Pago == 1)
                    {
                        count++;
                    }
                }
                if (count == vendasparcelas.Count)
                {
                    venda.Pago = 1;
                    Library.VendaBD.Update(venda);
                }
                //end conferindo se todas parcelas estão pagas

                this.parcelasDGV.Rows.Clear();

                selecionarButton.PerformClick();
                descontarParcelaCB.Checked = false;
                descontarParcelaTB.Text    = "";
            }
            catch (Exception ex)
            {
                Library.Diagnostics.Logger.Error(ex);
            }
            this.Cursor = Cursors.Default;
        }