Exemplo n.º 1
0
        private void dataGrid_PreviewKeyDown(object sender, KeyEventArgs e)
        {
            if (dataGrid.Items.Count == 0)
            {
                return;
            }

            if (e.Key == Key.F3)
            {
                return;
            }

            Itens_movimento item = (Itens_movimento)dataGrid.SelectedItem;

            if (item == null)
            {
                return;
            }

            if (e.Key == Key.Insert)
            {
                Movimento_Controller.IncrementaItem(item.Id);
            }

            if ((e.Key == Key.Delete) && Keyboard.Modifiers == ModifierKeys.Control)
            {
                Movimento_Controller.RemoveItem(item.Id);
            }
            else if (e.Key == Key.Delete)
            {
                if (Movimento_Controller.Itens_movimento.First(i => i.Id == item.Id).Quant - 1 == 0)
                {
                    Movimento_Controller.RemoveItem(item.Id);
                }
                else
                {
                    Movimento_Controller.DecrementaItem(item.Id);
                }
            }

            dataGrid.ItemsSource = Movimento_Controller.Itens_movimento;
            dataGrid.Focus();
            RecalculaTotais();
        }
Exemplo n.º 2
0
        private void btSalvar_Click(object sender, RoutedEventArgs e)
        {
            ITelaPagamentoMovimento iPagamento = new PagamentoRetaguarda();

            iPagamento.Exibir(decimal.Parse(txTotal.Text));

            string msg = $@"Confirma fechamento do movimento?";

            if (iPagamento.Pago)
            {
                MessageBoxResult result = MessageBox.Show(msg, "Confirmação", MessageBoxButton.YesNo, MessageBoxImage.Question);
                if (result == MessageBoxResult.No)
                {
                    return;
                }

                iPagamento.Itens_pagamento.ForEach(ip => Movimento_Controller.EfetuaPagamento(ip.Forma_pagamento_id, ip.Valor));
                Movimento_Controller.FechaMovimento(iPagamento.Troco);
            }
        }
Exemplo n.º 3
0
        private void AdicionaItem()
        {
            Itens_movimento item = new Itens_movimento();
            Estoque         est  = new ProdutosController().Get(txProduto.Text);
            Produtos        prod = est.Produtos;

            if (Tipo_movimento.Movimentacao_itens == (int)Tipo_movimentacao.SAIDA)
            {
                if (est.Quant <= 0)
                {
                    if (ParametrosController.FindParametro("EST_SAIZERO").Valor.Equals("N"))
                    {
                        MessageBox.Show($"Não é possível retirar o produto '{est.Produtos.Descricao}' do estoque porque o sistema está atualmente configurado para não permitir retiradas de estoque cujo o saldo atual é igual ou inferior a 0.", "EST_SAIZERO", MessageBoxButton.OK, MessageBoxImage.Exclamation);
                        return;
                    }
                }
            }

            if (prod == null)
            {
                return;
            }

            item.Produto_id = prod.Id;
            item.Produtos   = prod;
            item.Lote       = est.Lote;
            item.Sublote    = est.Sublote;
            item.Aliquota   = prod.Aliquota;
            item.Valor_unit = (Tipo_movimento.Utiliza_fornecedor
                 ? prod.Produtos_fornecedores.First(pf => pf.Fornecedor_id == int.Parse(txCod_cliente_fornecedor.Text)).Preco_custo
                 : prod.Valor_unit);
            item.Desconto    = this.Desconto;
            item.Acrescimo   = this.Acrescimo;
            item.Quant       = decimal.Parse(txQuant.Text);
            item.Valor_final = decimal.Parse(txValor_final.Text);
            item.Cfop        = Tipo_movimento.Cfop;
            item.Vendedor_id = int.Parse(txCod_vendedor.Text);

            if (Tipo_movimento.Utiliza_fornecedor && Tipo_movimento.Movimentacao_itens == (int)Tipo_movimentacao.ENTRADA)
            {
                item.Unidades = prod.Produtos_fornecedores.First(pf => pf.Fornecedor_id == int.Parse(txCod_cliente_fornecedor.Text)).Unidades;
            }
            else
            {
                item.Unidades = prod.Unidades;
            }

            item.Unidade_id = item.Unidades.Id;

            Movimento_Controller.AdicionaItem(item);
            dataGrid.ItemsSource = Movimento_Controller.Itens_movimento;

            txProduto.Text              = "0";
            txValor_unit.Text           = "0,00";
            txQuant.Text                = "0,00";
            txTotal_prod.Text           = "0,00";
            txDesconto.Text             = "0,00";
            txAcrescimo.Text            = "0,00";
            txValor_final.Text          = "0,00";
            lbDescricao_produto.Content = string.Empty;
            lbFatorConversao.Visibility = Visibility.Hidden;
            txProduto.Focus();
            txProduto.Text        = string.Empty;
            Desconto              = 0;
            Acrescimo             = 0;
            txDesconto.IsEnabled  = true;
            txAcrescimo.IsEnabled = true;

            RecalculaTotais();
        }