/// <summary> /// Evento disparado quando terminada a leitura do codigo de barras /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void txtCodigoBarrras_KeyUp(object sender, KeyEventArgs e) { var txtCodBar = this.txtCodigoBarrasProduto.Text; //ação de ver o produto através do código de barras //testar usando um leitor real if (e.KeyCode == Keys.Enter && !txtCodBar.Equals(_codBarraProdutoAnt)) { Produto find = new ProdutoDaoManager() .GetProdutoByCodigoBarras(this.txtCodigoBarrasProduto.CodigoBarras); if (find != null) { //cria uma copia para nao altera os dados do grid Produto p = find.Clone(); Decimal qtde = txtCodigoBarrasProduto.Quantidade; this._codBarraProdutoAnt = txtCodigoBarrasProduto.Text; if (p == null) { lblDescricaoProduto.ForeColor = Color.Red; lblDescricaoProduto.Text = "Nenhum produto encontrado"; //alerta sonoro SoundUtil.Exclamation(); } else { btnSelecionarNow_Click(null, null); lblDescricaoProduto.Text = p.DescricaoProduto + "\t" + qtde + "x " + p.PrecoVenda + " = " + p.CalculaTotalProduto(p.PrecoVenda, qtde).ToString("N2"); } //deixe o foco no codigo de barras this.txtCodigoBarrasProduto.Focus(); //selecione todo o codigo ja presente no componente this.txtCodigoBarrasProduto.SelectAll(); } } else if (e.KeyCode != Keys.Back) { this._codBarraProdutoAnt = ""; } }