private void Eventos() { KeyDown += KeyDowns; KeyPreview = true; Masks.SetToUpper(this); Shown += async(s, e) => { Resolution.SetScreenMaximized(this); BuscarProduto.Select(); AutoCompleteItens(); AutoCompleteUsers(); dataInicial.Text = DateTime.Today.AddMonths(-1).ToString(); dataFinal.Text = DateTime.Now.ToString(); var origens = new ArrayList { new { Id = "0", Nome = "Todos" }, new { Id = "1", Nome = "Cadastro de Produtos" }, new { Id = "2", Nome = "Vendas" }, new { Id = "3", Nome = "Orçamentos" }, new { Id = "4", Nome = "Consignações" }, new { Id = "5", Nome = "Devoluções" } }; Locais.DataSource = origens; Locais.DisplayMember = "Nome"; Locais.ValueMember = "Id"; await DataTableAsync(); }; label5.Click += (s, e) => Close(); btnExit.Click += (s, e) => Close(); btnSearch.Click += async(s, e) => { await DataTableAsync(); }; imprimir.Click += async(s, e) => await RenderizarAsync(); btnHelp.Click += (s, e) => Support.OpenLinkBrowser(Program.URL_BASE + "/ajuda"); }
private void Eventos() { KeyDown += KeyDowns; KeyPreview = true; Masks.SetToUpper(this); Load += (s, e) => { BuscarProduto.Select(); BuscarProduto.Focus(); AutoCompleteItens(); Start(); DataTableStart(); LoadItens(); }; addProduto.Click += (s, e) => { for (var i = 0; i < Validation.ConvertToInt32(Quantidade.Text); i++) { AddItem(); } // Limpa os campos ClearForms(); DataTable(); LoadItens(); }; imprimir.Click += (s, e) => Render(); modelos.SelectedValueChanged += (s, e) => { label9.Text = modelos.SelectedValue.ToString(); }; btnClean.Click += (s, e) => { new Model.Etiqueta().Clean(); DataTable(); LoadItens(); }; BuscarProduto.TextChanged += (s, e) => { labelEstoque.Visible = false; if (collection.Lookup(BuscarProduto.Text) <= 0) { return; } labelEstoque.Visible = true; var itemId = collection.Lookup(BuscarProduto.Text); var item = _mItem.FindById(itemId).Where("excluir", 0).Where("tipo", "Produtos").First <Item>(); labelEstoque.Text = $"Estoque atual: {item.EstoqueAtual}"; }; label5.Click += (s, e) => Close(); btnExit.Click += (s, e) => Close(); using (var b = workerBackground) { b.DoWork += async(s, e) => { dataTable = await _controller.GetDataTable(); }; b.RunWorkerCompleted += async(s, e) => { LoadItens(); await _controller.SetTable(GridLista, dataTable); Loading.Visible = false; GridLista.Visible = true; }; } timer.AutoReset = false; btnVideoAjuda.Click += (s, e) => Support.Video("https://www.youtube.com/watch?v=_ybEHAVTXUA"); }
private void Eventos() { BuscarProduto.Select(); KeyDown += KeyDowns; ModoRapido.KeyDown += KeyDowns; BuscarProduto.KeyDown += KeyDowns; GridListaProdutos.KeyDown += KeyDowns; Quantidade.KeyDown += KeyDowns; Masks.SetToUpper(this); Shown += (s, e) => { // Autocomplete de produtos collection = _mItem.AutoComplete("Produtos"); BuscarProduto.AutoCompleteCustomSource = collection; Medidas.DataSource = Support.GetMedidas(); SetHeadersTable(GridListaProdutos); GetDataTableItens(GridListaProdutos, _mNota.id_pedido); LoadTotais(); ClearForms(); BuscarProduto.Select(); if (_mNota.Status != "Pendente") { progress5.Visible = false; pictureBox1.Visible = false; label9.Visible = false; } }; ModoRapido.Click += (s, e) => AlterarModo(); Next.Click += (s, e) => OpenForm.Show <TelaFrete>(this); Back.Click += (s, e) => Close(); addProduto.Click += (s, e) => LoadItens(); BuscarProduto.KeyDown += (s, e) => { if (e.KeyCode == Keys.Enter) { if (ModoRapAva == 1) { if (!string.IsNullOrEmpty(nomeProduto()[0])) { var item = _mItem.FindById(collection.Lookup(nomeProduto()[0])).FirstOrDefault <Model.Item>(); if (item != null) { Preco.Text = Validation.FormatPrice(item.ValorVenda); Medidas.SelectedItem = item.Medida; } Quantidade.Focus(); return; } } if (string.IsNullOrEmpty(nomeProduto()[0])) { ModalItens(); } else { LoadItens(); } } }; GridListaProdutos.DoubleClick += (s, e) => { if (GridListaProdutos.SelectedRows.Count > 0) { EditProduct.idPdt = Validation.ConvertToInt32(GridListaProdutos.SelectedRows[0].Cells["ID"].Value); EditProduct.nrItem = Validation.ConvertToInt32(GridListaProdutos.SelectedRows[0].Cells["#"].Value); EditProduct f = new EditProduct(); f.TopMost = true; if (f.ShowDialog() == DialogResult.OK) { GetDataTableItens(GridListaProdutos, _mNota.id_pedido); LoadTotais(); } } }; Preco.TextChanged += (s, e) => { TextBox txt = (TextBox)s; Masks.MaskPrice(ref txt); }; Preco.KeyDown += (s, e) => { if (e.KeyCode == Keys.Enter) { LoadItens(); } }; Quantidade.KeyPress += (s, e) => Masks.MaskDouble(s, e); Quantidade.KeyDown += (s, e) => { if (e.KeyCode == Keys.Enter) { if (String.IsNullOrEmpty(nomeProduto()[0])) { BuscarProduto.Focus(); } else if (ModoRapAva == 1 && !String.IsNullOrEmpty(nomeProduto()[0])) { Preco.Focus(); } else { LoadItens(); } } }; DescontoPorcentagem.KeyDown += (s, e) => { if (e.KeyCode == Keys.Enter) { LoadItens(); } }; DescontoReais.KeyDown += (s, e) => { if (e.KeyCode == Keys.Enter) { LoadItens(); } }; AlterarImposto.Click += (s, e) => { if (GridListaProdutos.SelectedRows.Count > 0) { AlterarImposto f = new AlterarImposto(); f.TopMost = true; if (f.ShowDialog() == DialogResult.OK) { if (idImposto > 0) { foreach (DataGridViewRow item in GridListaProdutos.Rows) { if ((bool)item.Cells["Selecione"].Value == true) { new Controller.Imposto().SetImposto(Validation.ConvertToInt32(item.Cells["ID"].Value), idImposto, "NFe", NCM); } } } GetDataTableItens(GridListaProdutos, _mNota.id_pedido); } NCM = ""; idImposto = 0; } BuscarProduto.Select(); }; btnMarcarCheckBox.Click += (s, e) => { foreach (DataGridViewRow item in GridListaProdutos.Rows) { if (btnMarcarCheckBox.Text == "Marcar Todos") { if ((bool)item.Cells["Selecione"].Value == false) { item.Cells["Selecione"].Value = true; AlterarImposto.Visible = true; } } else { item.Cells["Selecione"].Value = false; AlterarImposto.Visible = false; } } if (btnMarcarCheckBox.Text == "Marcar Todos") { btnMarcarCheckBox.Text = "Desmarcar Todos"; } else { btnMarcarCheckBox.Text = "Marcar Todos"; } }; GridListaProdutos.CellClick += (s, e) => { if (GridListaProdutos.Columns[e.ColumnIndex].Name == "Selecione") { if ((bool)GridListaProdutos.SelectedRows[0].Cells["Selecione"].Value == false) { GridListaProdutos.SelectedRows[0].Cells["Selecione"].Value = true; AlterarImposto.Visible = true; } else { GridListaProdutos.SelectedRows[0].Cells["Selecione"].Value = false; bool hideBtns = false; foreach (DataGridViewRow item in GridListaProdutos.Rows) { if ((bool)item.Cells["Selecione"].Value == true) { hideBtns = true; } } AlterarImposto.Visible = hideBtns; } } }; GridListaProdutos.CellMouseEnter += (s, e) => { if (e.ColumnIndex < 0 || e.RowIndex < 0) { return; } var dataGridView = (s as DataGridView); if (GridListaProdutos.Columns[e.ColumnIndex].Name == "Selecione") { dataGridView.Cursor = Cursors.Hand; } }; GridListaProdutos.CellMouseLeave += (s, e) => { if (e.ColumnIndex < 0 || e.RowIndex < 0) { return; } var dataGridView = (s as DataGridView); if (GridListaProdutos.Columns[e.ColumnIndex].Name == "Selecione") { dataGridView.Cursor = Cursors.Default; } }; }
private void Eventos() { KeyDown += KeyDowns; KeyPreview = true; Masks.SetToUpper(this); Load += (s, e) => { Categorias.DataSource = new Categoria().GetAll("Produtos"); Categorias.DisplayMember = "Nome"; Categorias.ValueMember = "Id"; }; Shown += (s, e) => { // Autocomplete de produtos collection = _mItem.AutoComplete("Produtos"); BuscarProduto.AutoCompleteCustomSource = collection; SetHeadersTable(GridLista); SetHeadersTableProdutos(GridProdutos); if (IniFile.Read("MesasPreCadastrada", "Comercial") == "True") { nrMesa.Visible = false; Mesas.Visible = true; var listMesas = new ArrayList { new { Id = "0", Nome = "SELECIONE" } }; var getMesas = new Model.Mesas().FindAll().WhereFalse("excluir").Get <Model.Mesas>(); if (getMesas.Any()) { foreach (var mesas in getMesas) { listMesas.Add(new { Id = $"{mesas.Id}", Nome = $"{mesas.Mesa}" }); } } Mesas.DataSource = listMesas; Mesas.DisplayMember = "Nome"; Mesas.ValueMember = "Id"; } }; BuscarProduto.KeyDown += (s, e) => { if (e.KeyCode != Keys.Enter) { return; } var item = _mItem.FindById(collection.Lookup(BuscarProduto.Text)).FirstOrDefault <Item>(); if (item == null) { return; } if (!string.IsNullOrEmpty(item.Combos)) { var comboExits = false; var idsCombo = item.Combos.Split(','); foreach (var id in idsCombo) { var checkCombo = new Model.ItemCombo().FindById(Validation.ConvertToInt32(id)).WhereFalse("excluir").FirstOrDefault <ItemCombo>(); if (checkCombo != null) { comboExits = true; } } if (comboExits) { AddCombo.IdProduto = item.Id; AddCombo.IdPedido = 0; var form = new AddCombo { TopMost = true }; if (form.ShowDialog() == DialogResult.OK) { foreach (PedidoItem data in AddCombo.listProdutosIncluir) { GridLista.Rows.Add( false, data.Item, data.xProd, Validation.FormatPrice(Validation.ConvertToDouble(data.ValorVenda)), "", data.Adicional, Validation.ConvertToDouble(data.ValorVenda), Resources.menu20x ); } txtValorTotal.Text = $@"Valor Total: {Validation.FormatPrice(SumTotalGrid(), true)}"; BuscarProduto.Text = ""; BuscarProduto.Select(); return; } } } GridLista.Rows.Add( false, item.Id, item.Nome, Validation.FormatPrice(Validation.ConvertToDouble(item.ValorVenda)), "", "", Validation.ConvertToDouble(item.ValorVenda), Resources.menu20x ); txtValorTotal.Text = $@"Valor Total: {Validation.FormatPrice(SumTotalGrid(), true)}"; BuscarProduto.Text = ""; BuscarProduto.Select(); }; btnFiltrar.Click += (s, e) => LoadProdutos(); btnEnviar.Click += (s, e) => ActionEnviar(); GridProdutos.CellClick += (s, e) => { if (GridProdutos.Columns[e.ColumnIndex].Name == "Adicionar") { var idItem = Validation.ConvertToInt32(GridProdutos.SelectedRows[0].Cells["ID"].Value); var item = _mItem.FindById(idItem).FirstOrDefault <Item>(); if (item == null) { return; } if (!string.IsNullOrEmpty(item.Combos)) { var comboExits = false; var idsCombo = item.Combos.Split(','); foreach (var id in idsCombo) { var checkCombo = new Model.ItemCombo().FindById(Validation.ConvertToInt32(id)).WhereFalse("excluir").FirstOrDefault <ItemCombo>(); if (checkCombo != null) { comboExits = true; } } if (comboExits) { AddCombo.IdProduto = item.Id; AddCombo.IdPedido = 0; var form = new AddCombo { TopMost = true }; if (form.ShowDialog() == DialogResult.OK) { foreach (PedidoItem data in AddCombo.listProdutosIncluir) { GridLista.Rows.Add( false, data.Item, data.xProd, Validation.FormatPrice(Validation.ConvertToDouble(data.ValorVenda)), "", data.Adicional, Validation.ConvertToDouble(data.ValorVenda), Resources.menu20x ); } BuscarProduto.Text = ""; BuscarProduto.Select(); Alert.Message("Pronto", "Item adicionado.", Alert.AlertType.success); return; } } } GridLista.Rows.Add( false, GridProdutos.SelectedRows[0].Cells["ID"].Value, GridProdutos.SelectedRows[0].Cells["Item"].Value, GridProdutos.SelectedRows[0].Cells["Valor"].Value, "", "", GridProdutos.SelectedRows[0].Cells["Valor"].Value, Resources.menu20x ); txtValorTotal.Text = $@"Valor Total: {Validation.FormatPrice(SumTotalGrid(), true)}"; Alert.Message("Pronto", "Item adicionado.", Alert.AlertType.success); } }; GridProdutos.CellMouseEnter += (s, e) => { if (e.ColumnIndex < 0 || e.RowIndex < 0) { return; } var dataGridView = s as DataGridView; if (GridProdutos.Columns[e.ColumnIndex].Name == "Adicionar") { dataGridView.Cursor = Cursors.Hand; } }; GridProdutos.CellMouseLeave += (s, e) => { if (e.ColumnIndex < 0 || e.RowIndex < 0) { return; } var dataGridView = s as DataGridView; if (GridProdutos.Columns[e.ColumnIndex].Name == "Adicionar") { dataGridView.Cursor = Cursors.Default; } }; btnRemover.Click += (s, e) => { var toBeDeleted = new List <DataGridViewRow>(); toBeDeleted.Clear(); var result = AlertOptions.Message("Atenção!", "Você está prestes a deletar os PRODUTOS selecionados, continuar?", AlertBig.AlertType.warning, AlertBig.AlertBtn.YesNo); if (result) { foreach (DataGridViewRow item in GridLista.Rows) { Console.WriteLine(item.Cells["Selecione"].Value); if ((bool)item.Cells["Selecione"].Value) { toBeDeleted.Add(item); } } toBeDeleted.ForEach(d => GridLista.Rows.Remove(d)); } txtValorTotal.Text = $@"Valor Total: {Validation.FormatPrice(SumTotalGrid(), true)}"; btnRemover.Visible = false; }; GridLista.CellClick += (s, e) => { if (GridLista.Columns[e.ColumnIndex].Name == "Selecione") { if ((bool)GridLista.SelectedRows[0].Cells["Selecione"].Value == false) { GridLista.SelectedRows[0].Cells["Selecione"].Value = true; btnRemover.Visible = true; } else { GridLista.SelectedRows[0].Cells["Selecione"].Value = false; var hideBtns = false; foreach (DataGridViewRow item in GridLista.Rows) { if ((bool)item.Cells["Selecione"].Value) { hideBtns = true; } } btnRemover.Visible = hideBtns; } } if (GridLista.Columns[e.ColumnIndex].Name == "Adicional") { AdicionaisDispon.ValorAddon = 0; AdicionaisDispon.AddonSelected = GridLista.SelectedRows[0].Cells["AddonSelected"].Value != null ? GridLista.SelectedRows[0].Cells["AddonSelected"].Value.ToString() : ""; AdicionaisDispon.IdPedidoItem = 0; AdicionaisDispon.IdItem = Validation.ConvertToInt32(GridLista.SelectedRows[0].Cells["ID"].Value); var form = new AdicionaisDispon(); if (form.ShowDialog() == DialogResult.OK) { var getValor = Validation.ConvertToDouble(GridLista.SelectedRows[0].Cells["Unitario"].Value .ToString().Replace("R$ ", "")); GridLista.SelectedRows[0].Cells["Valor"].Value = Validation.FormatPrice(getValor + AdicionaisDispon.ValorAddon); GridLista.SelectedRows[0].Cells["AddonSelected"].Value = AdicionaisDispon.AddonSelected; } } }; GridLista.CellMouseEnter += (s, e) => { if (e.ColumnIndex < 0 || e.RowIndex < 0) { return; } var dataGridView = s as DataGridView; if (GridLista.Columns[e.ColumnIndex].Name == "Selecione" || GridLista.Columns[e.ColumnIndex].Name == "Adicional") { dataGridView.Cursor = Cursors.Hand; } }; GridLista.CellMouseLeave += (s, e) => { if (e.ColumnIndex < 0 || e.RowIndex < 0) { return; } var dataGridView = s as DataGridView; if (GridLista.Columns[e.ColumnIndex].Name == "Selecione" || GridLista.Columns[e.ColumnIndex].Name == "Adicional") { dataGridView.Cursor = Cursors.Default; } }; }
/// <summary> /// Adiciona item ao pedido, controla o estoque e atualiza os totais. /// </summary> private void AddItem() { if (collection.Lookup(nomeProduto()[0]) > 0 && String.IsNullOrEmpty(PedidoModalItens.NomeProduto)) { var itemId = collection.Lookup(nomeProduto()[0]); Model.Item item = _mItem.FindById(itemId).WhereFalse("excluir").Where("tipo", "Produtos").FirstOrDefault <Model.Item>(); if (ModoRapAva == 0) { Medidas.SelectedItem = item.Medida; } double QuantidadeTxt = Validation.ConvertToDouble(Quantidade.Text); double DescontoReaisTxt = Validation.ConvertToDouble(DescontoReais.Text); double DescontoPorcentagemTxt = Validation.ConvertToDouble(DescontoPorcentagem.Text); string MedidaTxt = Medidas.Text; double PriceTxt = Validation.ConvertToDouble(Preco.Text); #region Controle de estoque var controlarEstoque = IniFile.Read("ControlarEstoque", "Comercial"); if (!string.IsNullOrEmpty(controlarEstoque) && controlarEstoque == "True") { if (item.EstoqueAtual <= 0) { Alert.Message("Opps", "Você está sem estoque desse produto.", Alert.AlertType.warning); return; } } if (PriceTxt == 0) { if (DescontoReaisTxt > item.ValorVenda || DescontoReaisTxt > item.Limite_Desconto || DescontoPorcentagemTxt > 101) { Alert.Message("Opps", "Não é permitido dar um desconto maior que o valor do item.", Alert.AlertType.warning); return; } } if (PriceTxt > 0) { if (DescontoReaisTxt > PriceTxt || DescontoPorcentagemTxt >= 101) { Alert.Message("Opps", "Não é permitido dar um desconto maior que o valor do item.", Alert.AlertType.warning); return; } } double LimiteDescontoIni = 0; if (!String.IsNullOrEmpty(IniFile.Read("LimiteDesconto", "Comercial"))) { LimiteDescontoIni = Validation.ConvertToDouble(IniFile.Read("LimiteDesconto", "Comercial")); } if (item.Limite_Desconto != 0) { if (DescontoReaisTxt > item.Limite_Desconto) { Alert.Message("Opps", "Não é permitido dar um desconto maior que o permitido.", Alert.AlertType.warning); return; } if (PriceTxt > 0) { var porcentagemValor = (PriceTxt / 100 * DescontoPorcentagemTxt); if (porcentagemValor > item.Limite_Desconto) { Alert.Message("Opps", "Não é permitido dar um desconto maior que o permitido.", Alert.AlertType.warning); return; } } if (PriceTxt == 0) { var porcentagemValor = (item.ValorVenda / 100 * DescontoPorcentagemTxt); if (porcentagemValor > item.Limite_Desconto) { Alert.Message("Opps", "Não é permitido dar um desconto maior que o permitido.", Alert.AlertType.warning); return; } } } else { if (LimiteDescontoIni != 0) { if (DescontoReaisTxt > LimiteDescontoIni) { Alert.Message("Opps", "Não é permitido dar um desconto maior que o permitido.", Alert.AlertType.warning); return; } if (PriceTxt == 0) { var porcentagemValor = (item.ValorVenda / 100 * DescontoPorcentagemTxt); if (porcentagemValor > LimiteDescontoIni) { Alert.Message("Opps", "Não é permitido dar um desconto maior que o permitido.", Alert.AlertType.warning); return; } } if (PriceTxt > 0) { var porcentagemValor = (PriceTxt / 100 * DescontoPorcentagemTxt); if (porcentagemValor > LimiteDescontoIni) { Alert.Message("Opps", "Não é permitido dar um desconto maior que o permitido.", Alert.AlertType.warning); return; } } } } #endregion var pedidoItem = new Model.PedidoItem(); pedidoItem.SetId(0) .SetTipo("Produtos") .SetPedidoId(_mNota.id_pedido) .SetAdicionalNomePdt(nomeProduto()[1]) .SetItem(item) .SetQuantidade(QuantidadeTxt) .SetMedida(MedidaTxt) .SetDescontoReal(DescontoReaisTxt); if (!pedidoItem.SetValorVenda(PriceTxt)) { if (ModoRapAva == 0) { AlterarModo(); ModoRapAvaConfig = 1; } Preco.Select(); Preco.Focus(); return; } pedidoItem.SetDescontoPorcentagens(DescontoPorcentagemTxt); pedidoItem.SomarTotal(); pedidoItem.Save(pedidoItem); if (item.Tipo == "Produtos") { new Controller.Imposto().SetImposto(pedidoItem.GetLastId()); // Class Estoque -> Se for igual 'Compras', adiciona a quantidade no estoque do Item, se não Remove a quantidade do estoque do Item if (Home.pedidoPage == "Compras" || Home.pedidoPage == "Devoluções") { new Controller.Estoque(pedidoItem.GetLastId(), Home.pedidoPage, "Adicionar Produto").Add().Item(); } else { new Controller.Estoque(pedidoItem.GetLastId(), Home.pedidoPage, "Adicionar Produto").Remove().Item(); } } new Controller.Imposto().SetImposto(pedidoItem.GetLastId()); // Carrega a Grid com o Item adicionado acima. GetDataTableItens(GridListaProdutos, _mNota.id_pedido); // Atualiza o total do pedido, e os totais da tela LoadTotais(); // Limpa os campos ClearForms(); // Verifica se modo é avançado e altera para modo simples, apenas se modo simples for padrão if (ModoRapAva == 1 && ModoRapAvaConfig == 1) { AlterarModo(); ModoRapAvaConfig = 0; } BuscarProduto.Select(); } }