public ProdutoNotaEntrada GetById(long id)
    {
        ProdutoNotaEntrada produtoNotaEntrada = new ProdutoNotaEntrada();
        DAL_Produto        dalProduto         = new DAL_Produto();
        long idProdutoNota = -1;
        var  command       = new SqlCommand("select id, idProduto, precoCustoCompra," +
                                            "quantidadeComprada from PRODUTOSNOTASDEENTRADA where id = @id", connection);

        command.Parameters.AddWithValue("@id", id);
        connection.Open();

        using (SqlDataReader reader = command.ExecuteReader())
        {
            while (reader.Read())
            {
                produtoNotaEntrada.Id = reader.GetInt64(0);
                idProdutoNota         = reader.GetInt64(1);
                produtoNotaEntrada.PrecoCustoCompra   = Convert.ToDouble(reader[2]);
                produtoNotaEntrada.QuantidadeComprada = Convert.ToDouble(reader[3]);
            }
        }
        connection.Close();

        if (idProdutoNota > 0)
        {
            produtoNotaEntrada.ProdutoNota = dalProduto.GetById(idProdutoNota);
        }

        return(produtoNotaEntrada);
    }
예제 #2
0
        private void Update(ProdutoNotaEntrada produto)
        {
            double qtdProdutoAntigo = BuscaEstoqueProduto(produto.ProdutoNota.Id) - BuscaEstoqueProdutoPorNota(produto.Id);

            UpdateEstoqueProdutos(qtdProdutoAntigo, produto.ProdutoNota.Id);

            double qtdProdutoNovo = BuscaEstoqueProduto(produto.ProdutoNota.Id) + produto.QuantidadeComprada;

            UpdateEstoqueProdutos(qtdProdutoNovo, produto.ProdutoNota.Id);

            var command = new SqlCommand("update ProdutoNotaDeEntrada set IdProduto = @IdProduto, IdNotaDeEntrada = @IdNotaDeEntrada, PrecoCustoCompra = @PrecoCustoCompra, QuantidadeComprada = @QuantidadeComprada where Id = @Id", connection);

            command.Parameters.AddWithValue("@IdProduto", produto.ProdutoNota.Id);
            command.Parameters.AddWithValue("@IdNotaDeEntrada", produto.NotaEntrada.Id);
            command.Parameters.AddWithValue("@PrecoCustoCompra", produto.PrecoCustoCompra);
            command.Parameters.AddWithValue("@QuantidadeComprada", produto.QuantidadeComprada);
            command.Parameters.AddWithValue("@Id", produto.Id);

            connection.Open();
            command.ExecuteNonQuery();
            connection.Close();

            UpdateEstoqueProdutos(produto.QuantidadeComprada, produto.ProdutoNota.Id);

            MessageBox.Show("Produto atualizado na nota de entrada com sucesso!");
        }
예제 #3
0
        public ProdutoNotaEntrada GetProdutoNotaEntradaById(long?Id)
        {
            var  produtoNotaEntrada = new ProdutoNotaEntrada();
            var  produtoController  = new ProdutoController();
            long?IdProduto          = -1;
            var  command            = new SqlCommand("select Id, IdProduto, PrecoCustoCompra, QuantidadeComprada from ProdutoNotaDeEntrada where Id = @Id", connection);

            command.Parameters.AddWithValue("@Id", Id);
            connection.Open();
            using (SqlDataReader reader = command.ExecuteReader())
            {
                while (reader.Read())
                {
                    produtoNotaEntrada.Id = reader.GetInt64(0);
                    IdProduto             = reader.GetInt64(1);
                    produtoNotaEntrada.PrecoCustoCompra   = reader.GetDouble(2);
                    produtoNotaEntrada.QuantidadeComprada = reader.GetDouble(3);
                }
            }
            connection.Close();
            if (IdProduto > 0)
            {
                produtoNotaEntrada.ProdutoNota = produtoController.GetProdutoById(IdProduto);
            }
            return(produtoNotaEntrada);
        }
예제 #4
0
 private void ClearControlsProdutoNota()
 {
     txtIdProdutoComprado.Text     = string.Empty;
     cmbProduto.SelectedIndex      = -1;
     txtPrecoCustoProdutoNota.Text = string.Empty;
     txtQuantidadeProduto.Text     = string.Empty;
     dgvProdutoNotaEntrada.ClearSelection();
     produtoNotaAtual = null;
 }
 private void ClearControlsProduto()
 {
     txtIDProduto.Text        = string.Empty;
     txtCusto.Text            = string.Empty;
     txtQuantidade.Text       = string.Empty;
     cbxProduto.SelectedIndex = -1;
     dgvProdutos.ClearSelection();
     GetAllProdutos();
     this.produtoAtual = null;
 }
예제 #6
0
 public void Save(NotaEntrada notaEntrada, ProdutoNotaEntrada produto)
 {
     if (produto.Id != null)
     {
         this.Update(produto);
     }
     else
     {
         this.Insert(notaEntrada, produto);
     }
 }
 public void SaveProduto(NotaEntrada notaEntrada, ProdutoNotaEntrada produto)
 {
     if (produto.Id == null)
     {
         this.InsertProduto(notaEntrada, produto);
     }
     else
     {
         this.UpdateProduto(produto);
     }
 }
 private void dgvProdutos_CellClick(object sender, DataGridViewCellEventArgs e)
 {
     if (e.RowIndex < 0 || e.ColumnIndex < 0)
     {
         return;
     }
     this.produtoAtual       = dalProdutoNotaDeEntrada.GetById(Convert.ToInt64(dgvProdutos.Rows[e.RowIndex].Cells[0].Value));
     txtIDProduto.Text       = produtoAtual.Id.ToString();
     txtCusto.Text           = produtoAtual.PrecoCustoCompra.ToString();
     txtQuantidade.Text      = produtoAtual.QuantidadeComprada.ToString();
     cbxProduto.SelectedItem = produtoAtual.ProdutoNota;
     ChangeStatusOfControlsProduto(true);
 }
    private void UpdateProduto(ProdutoNotaEntrada produto)
    {
        var command = new SqlCommand("update PRODUTOSNOTASDEENTRADA set IdProduto = @idproduto," +
                                     "PrecoCustoCompra = @precocustocompra, QuantidadeComprada = @quantidadecomprada where (Id = @id)", connection);

        command.Parameters.AddWithValue("@idproduto", produto.ProdutoNota.Id);
        command.Parameters.AddWithValue("@precocustocompra", produto.PrecoCustoCompra);
        command.Parameters.AddWithValue("@quantidadecomprada", produto.QuantidadeComprada);
        command.Parameters.AddWithValue("@id", produto.Id); //produto.Id
        connection.Open();
        command.ExecuteNonQuery();
        connection.Close();
    }
예제 #10
0
        private void dgvProdutoNotaEntrada_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            if (e.RowIndex < 0 || e.ColumnIndex < 0)
            {
                return;
            }

            this.produtoNotaAtual         = produtosNotaEntradaController.GetProdutoNotaEntradaById(Convert.ToInt64(dgvProdutoNotaEntrada.Rows[e.RowIndex].Cells[0].Value));
            txtIdProdutoComprado.Text     = produtoNotaAtual.Id.ToString();
            cmbProduto.SelectedItem       = produtoNotaAtual.ProdutoNota;
            txtPrecoCustoProdutoNota.Text = produtoNotaAtual.PrecoCustoCompra.ToString();
            txtQuantidadeProduto.Text     = produtoNotaAtual.QuantidadeComprada.ToString();
            ChangeStatusControlsProdutoNotaDeEntrada(true);
        }
    private void InsertProduto(NotaEntrada ProdutoNotaEntrada, ProdutoNotaEntrada produto)
    {
        //ProdutoNotaEntrada.Produtos.Add(produto);
        var command = new SqlCommand("insert into PRODUTOSNOTASDEENTRADA(IdNotaDeEntrada, IdProduto," +
                                     "PrecoCustoCompra, QuantidadeComprada) " +
                                     "values(@idnotadeentrada, @idproduto, @precocustocompra, @quantidadecomprada)", connection);

        command.Parameters.AddWithValue("@idnotadeentrada", ProdutoNotaEntrada.Id);
        command.Parameters.AddWithValue("@idproduto", produto.ProdutoNota.Id);
        command.Parameters.AddWithValue("@precocustocompra", produto.PrecoCustoCompra);
        command.Parameters.AddWithValue("@quantidadecomprada", produto.QuantidadeComprada);
        connection.Open();
        command.ExecuteNonQuery();
        connection.Close();
    }
예제 #12
0
        private void BtnGravarProduto_Click(object sender, EventArgs e)
        {
            var produtoNota = new ProdutoNotaEntrada()
            {
                Id = (txtIDProduto.Text == string.Empty ? Guid.NewGuid() : new Guid(txtIDProduto.Text)),
                PrecoCustoCompra   = Convert.ToDouble(txtCusto.Text),
                ProdutoNota        = (Produto)cbxProduto.SelectedItem,
                QuantidadeComprada = Convert.ToDouble(txtQuantidade.Text)
            };

            this.notaAtual.RegistrarProduto(produtoNota);
            this.notaAtual = this.controller.Update(this.notaAtual);
            ChangeStatusOfControls(false);
            UpdateProdutosGrid();
            ClearControlsProduto();
        }
예제 #13
0
        private void Insert(NotaEntrada notaEntrada, ProdutoNotaEntrada produto)
        {
            notaEntrada.Produtos.Add(produto);

            var command = new SqlCommand("insert into ProdutoNotaDeEntrada (IdNotaDeEntrada, IdProduto, PrecoCustoCompra, QuantidadeComprada) values (@IdNotaDeEntrada, @IdProduto, @PrecoCustoCompra, @QuantidadeComprada)", connection);

            command.Parameters.AddWithValue("@IdNotaDeEntrada", notaEntrada.Id);
            command.Parameters.AddWithValue("@IdProduto", produto.ProdutoNota.Id);
            command.Parameters.AddWithValue("@PrecoCustoCompra", produto.PrecoCustoCompra);
            command.Parameters.AddWithValue("@QuantidadeComprada", produto.QuantidadeComprada);

            connection.Open();
            command.ExecuteNonQuery();
            connection.Close();

            double qtdProduto = BuscaEstoqueProduto(produto.ProdutoNota.Id) + produto.QuantidadeComprada;

            UpdateEstoqueProdutos(qtdProduto, produto.ProdutoNota.Id);

            MessageBox.Show("Produto inserido na nota de entrada com sucesso!");
        }
예제 #14
0
 protected bool Equals(ProdutoNotaEntrada other)
 {
     return(Id.Equals(other.Id));
 }