示例#1
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();
                }
            }
        }
示例#2
0
        static public Library.Comissao FindById(long idComissao)
        {
            SqlConnection  conexao = null;
            SqlDataAdapter dap     = null;
            DataSet        ds      = null;

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

                dap = new SqlDataAdapter("SELECT * FROM Comissao WHERE id='" + idComissao + "'", conexao);

                ds = new DataSet();

                dap.Fill(ds, "Comissao");

                if (ds.Tables["Comissao"].Rows.Count == 1)
                {
                    comissao             = new Comissao();
                    comissao.Id          = (long)ds.Tables["Comissao"].Rows[0]["id"];
                    comissao.Tipo        = ds.Tables["Comissao"].Rows[0]["tipo"].ToString();
                    comissao.Pago        = (int)ds.Tables["Comissao"].Rows[0]["pago"];
                    comissao.Porcentagem = (int)ds.Tables["Comissao"].Rows[0]["porcentagem"];
                    comissao.Valor       = (decimal)ds.Tables["Comissao"].Rows[0]["valor"];

                    if (!string.IsNullOrEmpty(ds.Tables["Comissao"].Rows[0]["idFuncionario"].ToString()))
                    {
                        comissao.Funcionario = Library.FuncionarioBD.FindById((long)ds.Tables["Comissao"].Rows[0]["idFuncionario"]);
                    }
                    else
                    {
                        comissao.Funcionario = null;
                    }

                    if (!string.IsNullOrEmpty(ds.Tables["Comissao"].Rows[0]["idVenda"].ToString()))
                    {
                        comissao.Venda = Library.VendaBD.FindById((long)ds.Tables["Comissao"].Rows[0]["idVenda"]);
                    }
                    else
                    {
                        comissao.Venda = null;
                    }
                }
                return(comissao);
            }
            catch (Exception ex)
            {
                Library.Diagnostics.Logger.Error(ex);
            }
            finally
            {
                conexao.Close();
                dap.Dispose();
                ds.Dispose();
            }
            return(null);
        }
示例#3
0
        static public void Save(Library.Comissao comissao)
        {
            SqlConnection conexao = null;

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

                SqlCommand comando = conexao.CreateCommand();

                comando.CommandText = "INSERT INTO Comissao (idFuncionario, idVenda, tipo, pago, porcentagem, valor)" +
                                      "VALUES (@idFuncionario, @idVenda, @tipo, @pago, @porcentagem, @valor)" +
                                      "SELECT CAST(scope_identity() AS bigint)";


                comando.Parameters.AddWithValue("@tipo", comissao.Tipo);
                comando.Parameters.AddWithValue("@pago", comissao.Pago);
                comando.Parameters.AddWithValue("@porcentagem", comissao.Porcentagem);
                comando.Parameters.AddWithValue("@valor", comissao.Valor);

                if (comissao.Funcionario != null)
                {
                    comando.Parameters.AddWithValue("@idFuncionario", comissao.Funcionario.Id);
                }
                else
                {
                    comando.Parameters.AddWithValue("@idFuncionario", DBNull.Value);
                }

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

                conexao.Open();

                //comando.ExecuteNonQuery();
                comissao.Id = (long)comando.ExecuteScalar();
            }
            catch (Exception ex)
            {
                Library.Diagnostics.Logger.Error(ex);
            }
            finally
            {
                conexao.Close();
            }
        }
示例#4
0
        private void comissoesDGV_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
        {
            DataGridViewRow rowSelected = this.comissoesDGV.SelectedRows[0];

            Library.Comissao comissao = Library.ComissaoBD.FindById((long)rowSelected.Cells[1].Value);

            if (comissao.Venda != null)
            {
                cvd          = new Forms.Comissao.ComissaoVendaDetail();
                cvd.Comissao = comissao;

                cvd.ShowDialog(this);
            }
        }
示例#5
0
        static public void Update(Library.Comissao comissao)
        {
            SqlConnection conexao = null;

            try
            {
                conexao = new SqlConnection(global::Connection.Connection.String());
                SqlCommand comando = conexao.CreateCommand();
                comando.CommandText = "UPDATE Comissao SET idFuncionario = @idFuncionario, idVenda = @idVenda, tipo = @tipo, pago = @pago, porcentagem = @porcentagem, valor = @valor WHERE (id= " + comissao.Id + ")";

                comando.Parameters.AddWithValue("@tipo", comissao.Tipo);
                comando.Parameters.AddWithValue("@pago", comissao.Pago);
                comando.Parameters.AddWithValue("@porcentagem", comissao.Porcentagem);
                comando.Parameters.AddWithValue("@valor", comissao.Valor);

                if (comissao.Funcionario != null)
                {
                    comando.Parameters.AddWithValue("@idFuncionario", comissao.Funcionario.Id);
                }
                else
                {
                    comando.Parameters.AddWithValue("@idFuncionario", DBNull.Value);
                }

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

                conexao.Open();

                comando.ExecuteNonQuery();
            }
            catch (Exception ex)
            {
                Library.Diagnostics.Logger.Error(ex);
            }
            finally
            {
                conexao.Close();
            }
        }
示例#6
0
        static public void Delete(Library.Comissao comissao)
        {
            SqlConnection conexao = null;

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

                comando.CommandText = "DELETE FROM Comissao WHERE id='" + comissao.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;
        }