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(); }
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); } }
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(); }