public void AdicionaItem(Itens_movimento item) { if (!ValidItem(item)) { return; } int id = (Movimento.Itens_movimento.OrderByDescending(e => e.Id).FirstOrDefault() == null ? 1 : Movimento.Itens_movimento.OrderByDescending(e => e.Id).FirstOrDefault().Id + 1); item.Id = id; Itens_movimento itemExistente = Movimento.Itens_movimento.FirstOrDefault(e => e.Produto_id == item.Produto_id && (e.Lote == item.Lote && e.Sublote == item.Sublote) && e.Grade_id == item.Grade_id); if (itemExistente != null) { decimal valor_item = (itemExistente.Valor_final / itemExistente.Quant); itemExistente.Quant += item.Quant; itemExistente.Valor_final += (valor_item * item.Quant); } else { Movimento.Itens_movimento.Add(item); } }
public void AplicarDescontoPerc(int item_id, decimal percent) { Itens_movimento item = Movimento.Itens_movimento.Where(e => e.Id == item_id).FirstOrDefault(); if (item == null) { return; } item.Valor_final = (item.Valor_final - (item.Valor_final / 100 * percent)); }
public void AplicarDescontoReais(int item_id, decimal valor) { Itens_movimento item = Movimento.Itens_movimento.Where(e => e.Id == item_id).FirstOrDefault(); if (item == null) { return; } item.Valor_final -= valor; }
public bool Save(Itens_movimento item) { try { db.Save(item); db.Commit(); return(true); } catch (Exception ex) { } return(false); }
public void IncrementaItem(int item_id) { Itens_movimento item = Movimento.Itens_movimento.FirstOrDefault(e => e.Id == item_id); if (item == null) { return; } decimal valor_item = (item.Valor_final / item.Quant); item.Quant += 1; item.Valor_final += valor_item; }
public void RemoveItem(int item_id) { Itens_movimento imv = Movimento.Itens_movimento.Where(e => e.Id == item_id).FirstOrDefault(); if (imv == null) { return; } Movimento.Itens_movimento.Remove(imv); int id = 0; foreach (Itens_movimento item in Itens_movimento) { item.Id = (id += 1); } }
public void DecrementaItem(Estoque estoque) { Itens_movimento item = null; if (estoque.Produtos.Controla_lote) { item = Itens_movimento.FirstOrDefault(e => e.Lote.Equals(estoque.Lote) && e.Sublote.Equals(estoque.Sublote)); } else { item = Itens_movimento.FirstOrDefault(e => e.Produto_id == estoque.Produto_id); } if (item != null) { DecrementaItem(item.Id); } }
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(); }
internal string GetLastLote(bool cod_loja) { string lote = ""; Itens_movimento est = db.Where(e => e.Lote != "" && e.Movimentos.Loja_id == UsuariosController.LojaAtual.Id).OrderByDescending(e => e.Lote).FirstOrDefault(); lote = (est == null ? "A00000" : est.Lote); if (!cod_loja) { if (lote.StartsWith(UsuariosController.LojaAtual.Id.ToString())) { lote = lote.Substring(1); } } return(lote); }
public ItemVendaPdv(Itens_movimento item) { InitializeComponent(); lbItem.Content = item.Id.ToString(); lbDescricao.Content = item.Produtos.Descricao; lbCod_prod.Content = item.Produto_id.ToString(); lbValor_unit.Content = $"{item.Quant.ToString("N2")} {item.Produtos.Unidades.Sigla} x R${item.Valor_unit.ToString("N2")}"; lbTotal_item.Content = $"R$ {item.Valor_final.ToString("N2")}"; if (item.Grade_id != null) { Grades_produtos grade = new Grades_produtosController().Find(item.Grade_id); lbDescricao.Content += " " + grade.Cores.Descricao + " " + grade.Tamanhos.Descricao; } if (item.Desconto > 0) { lbValor_unit.Content += " - " + "R$ " + item.Desconto.ToString("N2"); } }
public void DecrementaItem(int item_id) { Itens_movimento item = Movimento.Itens_movimento.FirstOrDefault(e => e.Id == item_id); if (item == null) { return; } if ((item.Quant - 1) == 0) { RemoveItem(item_id); return; } decimal valor_item = (item.Valor_final / item.Quant); item.Quant -= 1; item.Valor_final -= valor_item; }
public Itens_pedido ConvertToItemPedido(Itens_movimento item_movimento) { Itens_pedido itemPedido = new Itens_pedido(); itemPedido.Produto_id = item_movimento.Produto_id; itemPedido.Lote = item_movimento.Lote; itemPedido.Sublote = item_movimento.Sublote; itemPedido.Quant = item_movimento.Quant; itemPedido.Valor_unit = item_movimento.Valor_unit; itemPedido.Aliquota = item_movimento.Aliquota; itemPedido.Desconto = item_movimento.Desconto; itemPedido.Acrescimo = item_movimento.Acrescimo; itemPedido.Frete = item_movimento.Frete; itemPedido.Outros_valores = item_movimento.Outros_valores; itemPedido.Valor_final = item_movimento.Valor_final; itemPedido.Unidade_id = item_movimento.Unidade_id; itemPedido.Grade_id = item_movimento.Grade_id; itemPedido.Cfop = item_movimento.Cfop; return(itemPedido); }
private bool ValidItem(Itens_movimento item) { if (item.Produto_id == 0) { BStatus.Alert("Informe o produto antes de adicionar um item"); return(false); } if (item.Valor_unit == 0) { BStatus.Alert("O preço unitário do item deve ser superior a 0"); return(false); } if (item.Cfop == 0) { BStatus.Alert("O item informado não possui CFOP. Verifique o Tipo de Movimento tente novamente"); return(false); } return(true); }
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(); }
public void VendeItem(Itens_movimento item) { MovimentosController.AdicionaItem(item); RefreshItens(); }
public void VendeItem(Estoque estoqueParam = null) { Estoque estoque = estoqueParam; if (estoque == null) { estoque = new ProdutosController().Get(txProduto.Text); } if (estoque == null) { return; } if (string.IsNullOrEmpty(txQuant.Text)) { txQuant.Text = "1"; } if (estoqueParam == null) { if (estoque.Produtos.Controla_grade && estoque.Grade_id != txProduto.Text) { SelecionarGrade sg = new SelecionarGrade(estoque.Produtos); sg.ShowDialog(); if (sg.Selecionado.Id == 0) { return; } estoque = sg.Selecionado; } } if (!VendaAberta) { PainelVenda = new PainelItensVenda(); VendaAberta = true; PainelVenda = new PainelItensVenda(); PainelVenda.AbreVenda(Tipo_movimento_id_venda.Id); GridContainer.Children.Clear(); GridContainer.Children.Add(PainelVenda.CurrentUserControl); btPagamento.IsEnabled = true; btCliente.IsEnabled = true; btSalvarPedido.IsEnabled = true; } decimal quant = decimal.Parse(txQuant.Text); Itens_movimento itemMov = new Itens_movimento(); itemMov.Produtos = estoque.Produtos; itemMov.Produto_id = itemMov.Produtos.Id; itemMov.Valor_unit = estoque.Produtos.Valor_unit; itemMov.Unidades = estoque.Produtos.Unidades; itemMov.Unidade_id = estoque.Produtos.Unidade_id; itemMov.Quant = quant; itemMov.Valor_final = (estoque.Produtos.Valor_unit * quant); itemMov.Cfop = (Operacao_atual == Tipo_operacao_atual.VENDA ? Tipo_movimento_id_venda.Cfop : Tipo_movimento_id_devolucao.Cfop); itemMov.Lote = estoque.Lote; itemMov.Sublote = estoque.Sublote; itemMov.Grade_id = estoque.Grade_id; PainelVenda.VendeItem(itemMov); txProduto.Text = string.Empty; txQuant.Text = "1"; txProduto.Focus(); txQuant.IsEnabled = false; lbQuant.Content = "Quantidade"; }
public decimal GetTotalParcial() { return(Itens_movimento.Sum(e => e.Valor_final)); }
public decimal GetTotalDesconto() { return(Itens_movimento.Sum(e => e.Desconto)); }