Example #1
0
        /// <summary>
        /// Adiciona os eventos de 'KeyDown' a todos os controls com a function KeyDowns
        /// </summary>
        private void KeyDowns(object sender, KeyEventArgs e)
        {
            switch (e.KeyCode)
            {
            case Keys.Up:
                GridListaProdutos.Focus();
                Support.UpDownDataGrid(false, GridListaProdutos);
                e.Handled = true;
                break;

            case Keys.Down:
                GridListaProdutos.Focus();
                Support.UpDownDataGrid(true, GridListaProdutos);
                e.Handled = true;
                break;

            case Keys.Escape:
                Close();
                break;

            case Keys.F1:
                AlterarModo();
                break;

            case Keys.F2:
                BuscarProduto.Focus();
                break;

            case Keys.F3:
                if (GridListaProdutos.SelectedRows.Count > 0)
                {
                    if (Validation.ConvertToInt32(GridListaProdutos.SelectedRows[0].Cells["ID"].Value) > 0)
                    {
                        var itemName = GridListaProdutos.SelectedRows[0].Cells["Descrição"].Value;

                        var result = AlertOptions.Message("Atenção!", $"Cancelar o item ('{itemName}') no pedido?", AlertBig.AlertType.warning, AlertBig.AlertBtn.YesNo);
                        if (result)
                        {
                            var idPedidoItem = Validation.ConvertToInt32(GridListaProdutos.SelectedRows[0].Cells["ID"].Value);

                            GridListaProdutos.Rows.RemoveAt(GridListaProdutos.SelectedRows[0].Index);

                            if (Home.pedidoPage != "Compras")
                            {
                                new Controller.Estoque(idPedidoItem, Home.pedidoPage, "Atalho F3 Cancelar").Add().Item();
                            }
                            else
                            {
                                new Controller.Estoque(idPedidoItem, Home.pedidoPage, "Atalho F3 Cancelar").Remove().Item();
                            }

                            _mPedidoItens.Remove(idPedidoItem);

                            LoadTotais();
                        }
                    }
                }
                break;
            }
        }
Example #2
0
 /// <summary>
 /// Limpa os input text.
 /// </summary>
 private void ClearForms()
 {
     BuscarProduto.Clear();
     Quantidade.Clear();
     Preco.Clear();
     DescontoPorcentagem.Clear();
     DescontoReais.Clear();
 }
Example #3
0
        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");
        }
Example #4
0
        static void Main(string[] args)
        {
            Console.BackgroundColor = ConsoleColor.DarkRed;
            Console.ResetColor();
            int opcao;

            do
            {
                Console.Clear();
                Console.ForegroundColor = ConsoleColor.Yellow;
                Console.WriteLine("  -- PROJETO BANCO DE DADOS --  \n");
                Console.ResetColor();
                Console.WriteLine("1 - Cadastrar produto");
                Console.WriteLine("2 - Listar produtos");
                Console.WriteLine("3 - Buscar produto por nome");
                Console.WriteLine("4 - Buscar produto por parte do nome");
                Console.WriteLine("5 - Alterar produto");
                Console.WriteLine("6 - Remover produto");
                Console.WriteLine("7 - Cadastrar categoria");
                Console.WriteLine("8 - Buscar categoria por nome");
                Console.WriteLine("0 - Sair");
                Console.WriteLine("\nDigite uma opção:");
                opcao = Convert.ToInt32(Console.ReadLine());
                Console.Clear();
                switch (opcao)
                {
                case 1:
                    CadastrarProduto.Renderizar();
                    break;

                case 2:
                    ListarProdutos.Renderizar();
                    break;

                case 3:
                    BuscarProduto.Renderizar();
                    break;

                case 4:
                    BuscarParteProduto.Renderizar();
                    break;

                case 5:
                    //AlterarProduto.Renderizar();
                    break;

                case 6:
                    RemoverProduto.Renderizar();
                    break;

                case 7:
                    //RemoverProduto.Renderizar();
                    break;

                case 8:
                    BuscarCategoria.Renderizar();
                    break;

                case 0:
                    Console.WriteLine("Saindo...");
                    break;

                default:
                    Console.WriteLine("Opção inválida!");
                    break;
                }
                Console.WriteLine("\n\nAperte uma tecla para continuar...");
                Console.ReadKey();
            } while (opcao != 0);
        }
Example #5
0
        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");
        }
Example #6
0
 /// <summary>
 ///     Limpa os input text.
 /// </summary>
 private void ClearForms()
 {
     BuscarProduto.Clear();
     Quantidade.Clear();
 }
Example #7
0
        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;
                }
            };
        }
Example #8
0
        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;
                }
            };
        }
Example #9
0
        /// <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();
            }
        }