private void AdicionarProduto() { try { var produtoid = Convert.ToInt32(cmbProduto2.SelectedValue); var produto = new DLProduto().Consultar(new MLProduto() { ProdutoId = produtoid }); listaProduto.Add(produto); dgvProdutos.DataSource = null; var newList = listaProduto.Select(prod => new //CRIA UMA NOVA LISTA PERSONALIZADA USANDO OS DADOS DA LISTA DO BANCO { ProdutoId = prod.ProdutoId, Descricao = prod.Descricao, Quantidade = txtQtdeProduto.Value.ToString(), SubTotal = prod.ValorVenda }).ToList(); dgvProdutos.DataSource = newList; dgvProdutos.Refresh(); decimal qtde = Convert.ToDecimal(txtQtdeProduto.Value); txtTotalProdutos.Text = ((Double)listaProduto.Sum(p => p.ValorVenda * qtde)).ToString("F"); Calcular(); MontarGridProduto(); tbcGrids.SelectedTab = tbpgProdutos; } catch (Exception ex) { throw ex; } }
private void PesquisarProduto() { DLProduto objBLProduto = new DLProduto(); List <MLProduto> lstMlProduto = new List <MLProduto>(); try { var produto = new MLProduto(); lstMlProduto = objBLProduto.Listar(produto); if (int.TryParse(txtPesquisarProduto.Text, out int id)) { produto.ProdutoId = id; } produto.Descricao = txtPesquisarProduto.Text; lstMlProduto = lstMlProduto.Where(p => p.ProdutoId == produto.ProdutoId || p.Descricao.ToUpper().Contains(produto.Descricao.ToUpper())).ToList(); var newList = lstMlProduto.Select(p => new { ProdutoId = p.ProdutoId, Descricao = p.Descricao, ValorVenda = p.ValorVenda, Estoque = p.Estoque.EstoqueReal }).ToList(); dgvPrincipal.DataSource = newList; //dgvPrincipal.Columns[5].DefaultCellStyle.Format = "c"; //dgvPrincipal.Columns[6].DefaultCellStyle.Format = "c"; this.MontarGrid(); } catch (Exception ex) { MessageBox.Show(ex.Message.ToString(), "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
private void PressionarTecla(KeyEventArgs e) { Double qtdeSolicitada = 0; Double ValorVenda = Convert.ToDouble(objMLProdutos.ValorVenda); if (!String.IsNullOrEmpty(txtQtde.Text)) { qtdeSolicitada = Convert.ToDouble(txtQtde.Text); } Double subTotal = qtdeSolicitada * ValorVenda; object obj = null; EventArgs ea = null; try { if (e.KeyCode == Keys.Enter) { #region *** PRESSIONA ENTER *** txtCodigo.Text = txtCodigo.Text.Replace("\r\n", ""); if (!String.IsNullOrEmpty(txtCodigo.Text) || _codigoItem > 0) { Double Number; bool isNumber = Double.TryParse(txtQtde.Text, out Number);// Verifica se é um numero válido if (isNumber) { DLProduto objBlProduto = new DLProduto(); if (!String.IsNullOrEmpty(txtCodigo.Text)) { bool CodigoIsNumber = Double.TryParse(txtCodigo.Text, out Number);// Verifica se é um numero válido if (Number.ToString().Length == 13) { _codigoBarras = Number.ToString(); objMLProdutos = new DLProduto().Consultar(new MLProduto() { CodigoBarras = _codigoBarras }); } else { try { _codigoItem = Convert.ToInt32(Number); objMLProdutos = new DLProduto().Consultar(new MLProduto() { ProdutoId = _codigoItem }); } catch { objMLProdutos = new MLProduto(); } } } if (objMLProdutos.ProdutoId != 0) { ValorVenda = Convert.ToDouble(objMLProdutos.ValorVenda); subTotal = qtdeSolicitada * ValorVenda; if (!String.IsNullOrEmpty(objMLProdutos.Descricao)) { lblProduto.Text = objMLProdutos.Descricao.ToString(); this.AdcionarProduto(objMLProdutos, subTotal); //this.LimparCampos(); this.CalcularValorTotal(); txtQtde.Text = "1,000"; this.LimparCampos(); } else { this.LimparCampoCodigo(); MessageBox.Show("Produto Inválido!", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } this.lblProduto.ForeColor = Color.White; } else { this.LimparCampoCodigo(); lblProduto.Text = "Código Inválido!"; lblProduto.ForeColor = Color.Red; //MessageBox.Show("Código Inválido!", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Error); } } else { this.LimparCampoCodigo(); MessageBox.Show("Informe um código Válido!", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Error); } } else { this.LimparCampoCodigo(); } e.Handled = true; e.SuppressKeyPress = true; #endregion } else if (e.KeyCode == Keys.F2) { #region *** F2 - ALTERAR QUANTIDADE *** this.AlterarQuantidadeItem(); #endregion } else if (e.KeyCode == Keys.F3) { #region *** F3 - PESQUISAR ITEM *** try { this.btnPesquisar_Click(obj, ea); } catch (Exception ex) { MessageBox.Show(ex.Message.ToString(), "AMS", MessageBoxButtons.OK, MessageBoxIcon.Information); } #endregion } else if (e.KeyCode == Keys.F4) { #region *** F4 - EXCLUIR ITEM *** if (dgvGeral.Rows.Count > 0)//Verifica se Existe itens na grid { this.btnExcluirItem_Click(obj, ea); } else { MessageBox.Show("Sem itens a serem excluídos!", "AMS", MessageBoxButtons.OK, MessageBoxIcon.Information); } #endregion } else if (e.KeyCode == Keys.F5) { #region *** F5 - FINALIZAR VENDA *** if (dgvGeral.Rows.Count > 0)//Verifica se Existe itens na grid { this.FinalizarVenda_Click(obj, ea, e); } else { MessageBox.Show("Não há itens na venda!", "AMS", MessageBoxButtons.OK, MessageBoxIcon.Information); } #endregion } else if (e.KeyCode == Keys.F8) { CancelarPedido(); } else if (e.KeyCode == Keys.F9) { InserirCliente(); } else if (e.KeyCode == Keys.Escape) { #region *** ESC - SAIR *** if (dgvGeral.Rows.Count > 0)//Verifica se Existe itens na grid { MessageBox.Show("Venda em Andamento!\n\nPara sair, primeiro cancele ou finalize a venda!", "AMS", MessageBoxButtons.OK, MessageBoxIcon.Information); } else { this.Close(); this.Dispose(); } #endregion } else { if (btnNovoPedido.Focused) { if (e.KeyCode == Keys.F6) { this.AbrePedido(); return; } } #region *** Carrega Produto *** //Veririfca se o valor do código é numérico //Caso sim, se o campo código não estiver vazio, Pequisa produto //Senão utiliza o código já carregado anteriormente int codigo = 0; bool isNumber = Int32.TryParse(txtCodigo.Text.Replace("\r\n", ""), out codigo); if (isNumber) { if (!String.IsNullOrEmpty(txtCodigo.Text.Replace("\r\n", ""))) { _codigoItem = Convert.ToInt32(txtCodigo.Text); } objMLProdutos = new DLProduto().Consultar(new MLProduto() { ProdutoId = _codigoItem }); if (objMLProdutos.ProdutoId != 0) { lblProduto.Text = objMLProdutos.Descricao.ToString(); txtPrecoUnit.Text = Convert.ToDouble(objMLProdutos.ValorVenda).ToString("F"); txtPrecoTotal.Text = (Convert.ToDouble(objMLProdutos.ValorVenda) * Convert.ToDouble(txtQtde.Text)).ToString("F"); } } #endregion } e = null; } catch (Exception ex) { txtCodigo.Text = String.Empty; MessageBox.Show("Erro: " + ex.Message, "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
internal MLPedido CarregarItensPedido(bool isUpdate, bool ChamarBD = false) { try { if (dgvGeral.RowCount > 0) { #region *** Carrega Itens do Pedido *** _lstMLPedidoItem = new List <MLPedidoItem>(); _objMLPedido.ValorTotal = 0; for (int i = 0; i < this.dgvGeral.RowCount; i++) //Carrega Itens o Pedido { //if (dgvGeral.Rows[i].Cells["Descricao"].Value.ToString() == " *** ITEM CANCELADO *** ") // continue; _objMLPedidoItem = new MLPedidoItem(); _objMLPedidoItem.Pedido = _objMLPedido; _objMLPedidoItem.Produto = new MLProduto(); var produtos = new MLProduto() { Descricao = dgvGeral.Rows[i].Cells["Descricao"].Value.ToString() }; var lst = new DLProduto().Listar(produtos); if (lst != null) { _objMLPedidoItem.Produto = lst.FirstOrDefault(); } else { _objMLPedidoItem.Produto = produtos; } if (_objMLPedidoItem.Produto != null) { _objMLPedidoItem.Produto.UnidadeMedida = new MLUnidadeMedida(); } Decimal qtde = 0; if (this.dgvGeral.Rows[i].Cells[1].Value != null /* && this.dgvGeral.Rows[i].Cells[1].Value.ToString() != " *** ITEM CANCELADO *** "*/) { _objMLPedidoItem.ProdutoId = (Int32)this.dgvGeral.Rows[i].Cells["ProdutoId"].Value; bool isDecimal = Decimal.TryParse(this.dgvGeral.Rows[i].Cells["Quantidade"].Value.ToString(), out qtde); if (isDecimal) { _objMLPedidoItem.Quantidade = Convert.ToDecimal(qtde); } _lstMLPedidoItem.Add(_objMLPedidoItem); if (_objMLPedidoItem.Produto != null) { _objMLPedido.ValorTotal += _objMLPedidoItem.Produto.ValorVenda * _objMLPedidoItem.Quantidade; } } } #endregion _objMLPedidoItem.PedidoId = _objMLPedido.PedidoId; _objMLPedido.listaPedidoItem = _lstMLPedidoItem; } } catch (Exception ex) { throw ex; } return(_objMLPedido); }