// Retorna uma lista de produtos da autorização public static List<Produtos> GetProdAutor(string pAutorizacaoId) { string sql = " Select PRECO_UNI, PRECO_TAB, QTDE, DESCRICAO, MOV_PROD2.PROD_ID, CODINBS, MOV_ID, COMREC" + " FROM MOV_PROD2 JOIN PRODUTOS ON PRODUTOS.PROD_ID = MOV_PROD2.PROD_ID " + " WHERE MOV_PROD2.AUTORIZACAO_ID = @autorizacaoId AND MOV_PROD2.CANCELADO <> 'S'"; SqlParamsList ps = new SqlParamsList(); ps.Add(new Fields("autorizacaoId", pAutorizacaoId)); BD BD = new BD(); SafeDataReader dr = BD.GetDataReader(sql, ps); List<Produtos> prodList = new List<Produtos>(); try { while (dr.Read()) { Produtos prod = new Produtos(); prod.Descricao = dr.GetString("DESCRICAO"); prod.PrecoTabela = dr.GetDouble("PRECO_TAB"); prod.PrecoVenda = dr.GetDouble("PRECO_UNI"); prod.Qtde = dr.GetInt32("QTDE"); prod.Produto_id = dr.GetInt32("PROD_ID"); prod.ComRec = dr.GetString("COMREC"); prodList.Add(prod); } } finally { dr.Close(); } return prodList; }
// Insere produto na autorização public static void InsertMov(string pAutorizacaoId, Produtos pProduto) { MontadorSql mont = new MontadorSql("mov_prod2", MontadorType.Insert); mont.AddField("AUTORIZACAO_ID", pAutorizacaoId); mont.AddField("PROD_ID", pProduto.Produto_id); mont.AddField("QTDE", pProduto.Qtde); mont.AddField("PRECO_UNI", pProduto.PrecoVenda.ToString().Replace(",", ".")); mont.AddField("PRECO_TAB", pProduto.PrecoTabela.ToString().Replace(",", ".")); mont.AddField("COMREC", pProduto.ComRec); mont.AddField("CRM", pProduto.Crm); BD BD = new BD(); BD.ExecuteNoQuery(mont.GetSqlString(), mont.GetParams()); }
public void Delete(Produtos produto) { ProdutosDAL dal = new ProdutosDAL(); dal.Delete(produto); }
private void btnSalvar_Click(object sender, EventArgs e) { try { if (ValidaCampos()) { if (string.IsNullOrEmpty(txtDescricao.Text)) { MessageBox.Show("Por favor, informe a descrição do Produto!", "Aviso do Sistema", MessageBoxButtons.OK, MessageBoxIcon.Information); txtDescricao.Focus(); return; } if (string.IsNullOrEmpty(txtNCM.Text)) { MessageBox.Show("Por favor, informe a classificação fiscal do Produto!", "Aviso do Sistema", MessageBoxButtons.OK, MessageBoxIcon.Information); btnNCM.Focus(); return; } if (string.IsNullOrEmpty(cbbUnidadeMedida.Text)) { MessageBox.Show("Por favor, informe a classificação fiscal do Produto!", "Aviso do Sistema", MessageBoxButtons.OK, MessageBoxIcon.Information); btnNCM.Focus(); return; } #region Verifica se o Código de Barras já não está cadastrado ou se é igual ao Código do produto if (!string.IsNullOrEmpty(txtCodigoBarras.Text)) { try { if (ValidarCodigoDeBarras(txtCodigoBarras.Text.Trim())) { return; } } catch (Exception ex) { MessageBox.Show("Erro ao tentar verificar se o Código de Barras já existe cadastrado!" + ex.Message, "Aviso do Sistema", MessageBoxButtons.OK, MessageBoxIcon.Error); } } #endregion Produtos produtos = new Produtos(); produtos.Descricao = txtDescricao.Text.Trim(); if (tabelaIBPTId > 0) { produtos.TabelaIBPTId = tabelaIBPTId; } produtos.Ativo = chkAtivo.Checked; produtos.CodigoBarras = txtCodigoBarras.Text.Trim(); produtos.UnidadeMedidaId = Convert.ToInt32(cbbUnidadeMedida.SelectedValue); produtos.GrupoProdutosId = Convert.ToInt32(cbbGrupoProdutos.SelectedValue); produtos.SubgrupoProdutosId = Convert.ToInt32(cbbSubgrupoProdutos.SelectedValue); if (tributacaoFiscalId > 0) { produtos.TributacaoFiscalId = tributacaoFiscalId; } if (fornecedorId > 0) { produtos.FornecedorId = fornecedorId; } produtos.ValorCompra = !string.IsNullOrEmpty(txtValorCompra.Text) ? Convert.ToDecimal(txtValorCompra.Text) : 0; produtos.ValorVenda = !string.IsNullOrEmpty(txtValorVenda.Text) ? Convert.ToDecimal(txtValorVenda.Text) : 0; produtos.ValorUnitario = !string.IsNullOrEmpty(txtValorUnitario.Text) ? Convert.ToDecimal(txtValorUnitario.Text) : 0; produtos.EstoqueInicial = !string.IsNullOrEmpty(txtEstoqueInicial.Text) ? Convert.ToInt32(txtEstoqueInicial.Text) : 0; if (produtosId <= 0) { produtos.EstoqueAtual = produtos.EstoqueInicial; } else { produtos.EstoqueAtual = !string.IsNullOrEmpty(txtEstoqueAtual.Text) ? Convert.ToInt32(txtEstoqueAtual.Text) : produtos.EstoqueInicial; produtosNegocios.ReporEstoque(Convert.ToInt32(txtEstoqueAtual.Text), produtosId); } produtos.EstoqueMinimo = !string.IsNullOrEmpty(txtEstoqueMinimo.Text) ? Convert.ToInt32(txtEstoqueMinimo.Text) : 0; produtos.EstoqueMaximo = !string.IsNullOrEmpty(txtEstoqueMaximo.Text) ? Convert.ToInt32(txtEstoqueMaximo.Text) : 0; produtos.Observacao = txtObservacao.Text.Trim(); produtos.DataCadastro = Convert.ToDateTime(dtpDataCadastro.Value.ToString("dd/MM/yyyy HH:mm:ss")); produtos.UltimaCompra = Convert.ToDateTime(dtpUltimaCompra.Value.ToString("dd/MM/yyyy HH:mm:ss")); //INSERIR if (produtosId <= 0) { try { if (produtosNegocios.Inserir(produtos)) { MessageBox.Show("Produto cadastrado com sucesso!", "Aviso do Sistema", MessageBoxButtons.OK, MessageBoxIcon.Information); Limpar(); HabilitaCampos(false); btnSalvar.Text = "Salvar [ F5 ]"; btnSalvar.Enabled = false; btnExcluir.Enabled = false; btnNovo.Text = "Novo [ F2 ]"; CarregarGrid(); } } catch (Exception ex) { MessageBox.Show("Erro ao tentar cadastrar o produto!\n\nDetalhe técnico: " + ex.Message, "Aviso do Sistema", MessageBoxButtons.OK, MessageBoxIcon.Error); } } else //ALTERAR { try { produtos.ProdutosId = produtosId; if (produtosNegocios.Alterar(produtos)) { MessageBox.Show("Produto alterado com sucesso!", "Aviso do Sistema", MessageBoxButtons.OK, MessageBoxIcon.Information); Limpar(); HabilitaCampos(false); btnSalvar.Text = "Salvar [ F5 ]"; btnSalvar.Enabled = false; btnExcluir.Enabled = false; btnNovo.Text = "Novo [ F2 ]"; CarregarGrid(); } } catch (Exception ex) { MessageBox.Show("Erro ao tentar alterar o produto selecionado!\n\nDetalhe técnico: " + ex.Message, "Aviso do Sistema", MessageBoxButtons.OK, MessageBoxIcon.Error); } } produtosId = 0; toolTip.SetToolTip(this.btnSalvar, "Salvar [ F5 ]"); toolTip.SetToolTip(this.btnNovo, "Novo cadastro [ F2 ]"); btnPesquisar_Click(sender, e); } } catch (Exception ex) { MessageBox.Show("Erro ao tentar cadastrar o produto!\n\nDetalhe técnico : " + ex.Message, "Aviso do Sistema", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
public bool AdicionaProduto(Produtos produto) { _Local.Add(produto); _Local.SaveChanges(); return(true); }
public ItemVenda() { Produto = new Produtos(); CriadoEm = DateTime.Now; }
private void Excluir(Produtos dados) { dados.Id_produto = Convert.ToInt32(txtId.Text); model.Excluir(dados); MessageBox.Show("Fornecedor excluido com Sucesso"); }
partial void UpdateProdutos(Produtos instance);
public frmSearchProdutos() { InitializeComponent(); p = new Produtos(); controller = new ProdutosController(); }
public void TrocaQuantidade(Produto produto) { Produto produtoCarregado = Produtos.FirstOrDefault(p => p.Id == produto.Id); produtoCarregado.Quantidade = produto.Quantidade; }
public void Remove(long id) { Produto produto = Produtos.FirstOrDefault(p => p.Id == id); Produtos.Remove(produto); }
public ActionResult Create([Bind(Include = "Prod_ID,NomeProduto,Descricao,IVAVenda,PrecoVenda,Stock,CategoriasFK")] Produtos produto, HttpPostedFileBase[] Uploadimagens)//para ter multiplas imagens faco um array e um ciclo for para ir buscar cada imagem. uma coisa q o vs faz por ti ex: produto.imgem.caminho { int idImagem = db.Imagens.Max(a => a.Imagem_ID); foreach (var Uploadimagem in Uploadimagens) { string name = System.IO.Path.GetFileName(Uploadimagem.FileName); Uploadimagem.SaveAs(Server.MapPath("~/Imagens/" + name)); string filename = "Imagens/" + name; //ID do novo produto int idNovoPoduto = 0; try { idNovoPoduto = db.Produtos.Max(a => a.Prod_ID) + 1; idImagem++; } catch (Exception) { idNovoPoduto = 1; } //guarda o ID produto.Prod_ID = idNovoPoduto; //escolher o nome do ficheiro string nomeImg = "Imagem_" + idImagem + ".jpg"; //var auxiliar string path = ""; //validar se a img foi fornecida if (Uploadimagens != null) { path = Path.Combine(Server.MapPath("~/imagens/"), nomeImg); //produto.ListaDeImagens= nomeImg; Imagens imagem = new Imagens { Img = nomeImg, Ordem = "" }; try { Uploadimagem.SaveAs(path); produto.ListaDeImagens.Add(imagem); } catch (Exception) { ModelState.AddModelError("", "Error Creating a new Product"); } } else { ModelState.AddModelError("", "No Image was found. Please insert a image"); return(View(produto)); } } if (ModelState.IsValid) { try { db.Produtos.Add(produto); db.SaveChanges(); return(RedirectToAction("Index")); } catch (Exception) { ModelState.AddModelError("", "Error Creating a new Product"); } } //ViewBag.CategoriasFK = new SelectList(db.Categorias, "Cat_ID", "NomeCateg", produto.CategoriasFK); return(View(produto)); }
public Produto BuscarProdutosPorNome(int id) { return(Produtos.Where(o => o.Id == id).FirstOrDefault()); }
public Produto[] BuscarProdutosPorNome(string nome) { return(Produtos.Where(o => o.Nome.ToLower().Contains(nome.ToLower())).ToArray()); }
public IActionResult Index() { Produtos produtos = new Produtos(); return(View(produtos)); }
public void ADD(Produtos produto) { listaProdutos.Add(produto); }
public IList <Produto> GetProdutosByDescricao() { IList <Produto> produtos = Produtos.ToList(); return(produtos.OrderBy(p => p.CategoriaDescricao).ToList()); }
partial void InsertProdutos(Produtos instance);
/// <summary> /// /// </summary> /// <returns>Código do movimento caso seja efetuado com sucesso. Caso haja erros, retornará 0.</returns> public int FechaMovimento(decimal troco) { UnitOfWork unit = new UnitOfWork(true); try { unit.BeginTransaction(); db.Context = unit.Context; if (itens_mov == null) { itens_mov = Movimento.Itens_movimento.ToList(); } Movimento.Itens_movimento.Clear(); if (itens_pag == null) { itens_pag = Movimento.Itens_pagamento.ToList(); } Movimento.Itens_pagamento.Clear(); Movimentos_caixasController movimentos_caixaController = new Movimentos_caixasController(); movimentos_caixaController.SetContext(unit.Context); Formas_pagamentoController fpg_controller = new Formas_pagamentoController(); fpg_controller.SetContext(unit.Context); Tipos_movimentoController tmc = new Tipos_movimentoController(); tmc.SetContext(unit.Context); Tipos_movimento tipo_mov = tmc.Find(Movimento.Tipo_movimento_id); Movimento.Id = db.NextId(e => e.Id); Movimento.Data = DateTime.Now; Movimento.Usuario_id = UsuariosController.UsuarioAtual.Id; Movimento.Loja_id = UsuariosController.LojaAtual.Id; db.Save(Movimento); db.Commit(); if (troco > 0) { int tipo_pg_dinheiro = (int)Tipo_pagamento.DINHEIRO; Formas_pagamento fpgTroco = fpg_controller.Get(e => e.Tipo_pagamento == tipo_pg_dinheiro); Movimentos_caixas mcTroco = new Movimentos_caixas(); mcTroco.Descricao = $"Movimento {Movimento.Id} (TROCO)"; mcTroco.Caixa_id = movimentos_caixaController.Get_ID_CaixaAtualUsuario(); mcTroco.Data = Movimento.Data; mcTroco.Movimento_id = Movimento.Id; mcTroco.Usuario_id = Movimento.Usuario_id; mcTroco.Forma_pagamento_id = fpgTroco.Id; mcTroco.Loja_id = UsuariosController.LojaAtual.Id; mcTroco.Tipo_mov = (int)Tipo_movimentacao_caixa.TROCO; mcTroco.Valor = (troco * (-1)); if (!movimentos_caixaController.Save(mcTroco)) { unit.RollBack(); return(0); } } Itens_movimentoController imc = new Itens_movimentoController(); imc.SetContext(unit.Context); EstoqueController estoque_controller = new EstoqueController(); estoque_controller.SetContext(unit.Context); string lote = imc.GetLastLote(false); lote = estoque_controller.GeraProximoLote(lote); int sublote = 1; #region Itens do movimento foreach (Itens_movimento item in itens_mov) { item.Produtos = null; item.Unidades = null; item.Movimento_id = Movimento.Id; Estoque e = new Estoque(); e.Produto_id = item.Produto_id; e.Loja_id = UsuariosController.LojaAtual.Id; e.Quant = item.Quant; e.Lote = (string.IsNullOrEmpty(item.Lote) ? null : (item.Lote + "SL" + item.Sublote)); e.Grade_id = item.Grade_id; ProdutosController pc = new ProdutosController(); pc.SetContext(unit.Context); Produtos prod = pc.Find(item.Produto_id); Produtos_fornecedoresController pForn_c = new Produtos_fornecedoresController(); pForn_c.SetContext(unit.Context); switch (tipo_mov.Movimentacao_itens) { case (int)Tipo_movimentacao.ENTRADA: /* * O produto controla Lote, e a sua entrada é vinda de um Fornecedor. * Neste caso é gerado o seu Lote e inserido no estoque da * loja em questão */ #region tipo_mov.Utiliza_fornecedor && prod.Controla_lote if (tipo_mov.Utiliza_fornecedor && prod.Controla_lote) { e.Lote = lote; e.Sublote = sublote.ToString(); e.Data_entrada = DateTime.Now; Produtos_fornecedores pf = pForn_c.Find(item.Produto_id, Movimento.Fornecedor_id); if (pf != null) { item.Quant = (item.Quant * pf.Fator_conversao); } estoque_controller.Save(e); sublote++; break; } #endregion #region tipo_mov.Utiliza_fornecedor && !prod.Controla_lote if (tipo_mov.Utiliza_fornecedor && !prod.Controla_lote) { Produtos_fornecedores pf = pForn_c.Find(item.Produto_id, Movimento.Fornecedor_id); if (pf != null) { item.Quant = (item.Quant * pf.Fator_conversao); } if (!estoque_controller.InsereEstoque(item.Quant, item.Produto_id, Movimento.Loja_id, (item.Lote + "SL" + item.Sublote))) { unit.RollBack(); return(0); } break; } #endregion /* * O produto controla Lote, porém sua entrada NÃO é proveniennte de um fornecedor. * Pode ser uma devolução, troca ou entrada por transferencia de loja. * * Neste caso, é verificado se existe o lote em questão. * Caso não exista, será criado, * Caso exista, o Saldo em Estoque do mesmo será atualizado */ #region (!tipo_mov.Utiliza_fornecedor) && prod.Controla_lote if ((!tipo_mov.Utiliza_fornecedor) && prod.Controla_lote) { if (!estoque_controller.ExisteLote(item.Lote, item.Sublote)) { estoque_controller.CriaLote(item.Produto_id, Movimento.Loja_id, item.Lote, item.Sublote); } if (!estoque_controller.InsereEstoque(item.Quant, item.Produto_id, Movimento.Loja_id, (item.Lote + "SL" + item.Sublote))) { unit.RollBack(); return(0); } break; } #endregion #region prod.Controla_grade if (prod.Controla_grade) { if (!estoque_controller.InsereEstoque(item.Quant, item.Produto_id, Movimento.Loja_id, null, item.Grade_id)) { unit.RollBack(); return(0); } break; } #endregion /* * O produto NÃO controla lote, e sua entrada NÃO é proveniente de um fornecedor. * Neste caso, o estoque será inserido levando em consideração o produto pelo seu código. * * OBS.: Quando um produto NÃO possui lotes em estoque, a tabela de Estoque só pode * conter um unico registro referente ao produto em questão, considerando a Loja. * * Quando o produto POSSUI lotes em estoque, a tabela de estoque pode conter varios * registros referente ao produto em questão, levando em consideração o Lote, Sub-Lote * e respectiva Loja. */ #region !tipo_mov.Utiliza_fornecedor && !prod.Controla_lote if (!tipo_mov.Utiliza_fornecedor && !prod.Controla_lote) { if (!estoque_controller.InsereEstoque(item.Quant, item.Produto_id, Movimento.Loja_id)) { unit.RollBack(); return(0); } break; } #endregion break; case (int)Tipo_movimentacao.SAIDA: string loteEst = (string.IsNullOrEmpty(e.Lote) ? null : e.Lote); if (!estoque_controller.RetiraEstoque(e.Quant, e.Produto_id, e.Loja_id, loteEst, item.Grade_id)) { unit.RollBack(); return(0); } break; } if (e.Lote != null) { if (e.Lote.Contains("SL")) { item.Lote = e.Lote.Substring(0, e.Lote.IndexOf("SL")); item.Sublote = e.Lote.Substring(e.Lote.IndexOf("SL") + 2); } else { item.Lote = e.Lote; item.Sublote = e.Sublote; } } if (!imc.Save(item)) { unit.RollBack(); return(0); } } #endregion int numero_parcela = 1; #region Itens do Pagamento foreach (Itens_pagamento item_pg in itens_pag) { if (tipo_mov.Movimentacao_valores == (int)Tipo_movimentacao.NENHUM) { continue; } item_pg.Movimento_id = Movimento.Id; ContasController contas_controller = new ContasController(); contas_controller.SetContext(unit.Context); Itens_pagamentoController ipc = new Itens_pagamentoController(); ipc.SetContext(unit.Context); if (!ipc.Save(item_pg)) { unit.RollBack(); return(0); } Formas_pagamento forma_pagamento = fpg_controller.Find(item_pg.Forma_pagamento_id); Movimentos_caixas movimento_caixa = new Movimentos_caixas(); movimento_caixa.Descricao = $"Movimento {Movimento.Id} ({(tipo_mov.Movimentacao_valores == (int)Tipo_movimentacao.ENTRADA ? "ENTRADA" : "SAIDA")})"; movimento_caixa.Caixa_id = movimentos_caixaController.Get_ID_CaixaAtualUsuario(); movimento_caixa.Data = Movimento.Data; movimento_caixa.Movimento_id = Movimento.Id; movimento_caixa.Usuario_id = Movimento.Usuario_id; movimento_caixa.Forma_pagamento_id = item_pg.Forma_pagamento_id; movimento_caixa.Loja_id = UsuariosController.LojaAtual.Id; ParcelasController parcController = new ParcelasController(); parcController.SetContext(unit.Context); switch (forma_pagamento.Tipo_pagamento) { #region DINHEIRO case (int)Tipo_pagamento.DINHEIRO: switch (tipo_mov.Movimentacao_valores) { case (int)Tipo_movimentacao.ENTRADA: movimento_caixa.Tipo_mov = (int)Tipo_movimentacao_caixa.ENTRADA; movimento_caixa.Valor = item_pg.Valor; break; case (int)Tipo_movimentacao.SAIDA: movimento_caixa.Tipo_mov = (int)Tipo_movimentacao_caixa.SAIDA; movimento_caixa.Valor = (item_pg.Valor * (-1)); break; } break; #endregion #region CARTAO case (int)Tipo_pagamento.CARTAO: movimento_caixa.Valor = 0; Operadoras_cartaoController opController = new Operadoras_cartaoController(); opController.SetContext(unit.Context); Operadoras_cartao operadora = opController.Find(forma_pagamento.Operadora_cartao_id); Parcelas parcela_cartao = new Parcelas(); parcela_cartao.Item_pagamento_id = item_pg.Id; parcela_cartao.Valor = item_pg.Valor; parcela_cartao.Situacao = (int)Situacao_parcela.EM_ABERTO; parcela_cartao.Data_lancamento = Movimento.Data; parcela_cartao.Data_vencimento = (operadora.Tipo_recebimento == (int)Tipo_prazo_operadora.DIAS ? Movimento.Data.AddDays(operadora.Prazo_recebimento) : Movimento.Data.AddHours(operadora.Prazo_recebimento)); parcela_cartao.Portador = forma_pagamento.Conta_id; if (tipo_mov.Movimentacao_valores == (int)Tipo_movimentacao.ENTRADA) { parcela_cartao.Tipo_parcela = (int)Tipo_parcela.RECEBER; parcela_cartao.Cliente_id = Movimento.Cliente_id; movimento_caixa.Tipo_mov = (int)Tipo_movimentacao_caixa.ENTRADA; movimento_caixa.Valor = item_pg.Valor; } if (tipo_mov.Movimentacao_valores == (int)Tipo_movimentacao.SAIDA) { parcela_cartao.Tipo_parcela = (int)Tipo_parcela.PAGAR; parcela_cartao.Fornecedor_id = Movimento.Cliente_id; movimento_caixa.Tipo_mov = (int)Tipo_movimentacao_caixa.SAIDA; movimento_caixa.Valor = item_pg.Valor * (-1); } parcela_cartao.Num_documento = Movimento.Id.ToString().PadLeft(8 - Movimento.Id.ToString().Length, '0') + "-" + numero_parcela; parcela_cartao.Parcela_descricao = $"REFERENTE AO MOVIMENTO {Movimento.Id} ({tipo_mov.Descricao})"; parcela_cartao.Numero_cheque = string.Empty; parcela_cartao.Banco = string.Empty; parcela_cartao.Agencia = string.Empty; parcela_cartao.Dias_compensacao = 0; parcela_cartao.Conta = string.Empty; if (!parcController.Save(parcela_cartao)) { unit.RollBack(); return(0); } numero_parcela++; break; #endregion #region CHEQUE case (int)Tipo_pagamento.CHEQUE: movimento_caixa.Valor = 0; IRegistroCheques registroCheques; if (tipo_mov.Movimentacao_valores == (int)Tipo_movimentacao.ENTRADA) { registroCheques = new RecebimentoCheques(); movimento_caixa.Tipo_mov = (int)Tipo_movimentacao_caixa.ENTRADA; movimento_caixa.Valor = item_pg.Valor; } else { registroCheques = new LancamentoCheque(); registroCheques.SetConta(contas_controller.Find(forma_pagamento.Conta_id)); movimento_caixa.Tipo_mov = (int)Tipo_movimentacao_caixa.SAIDA; movimento_caixa.Valor = item_pg.Valor * (-1); } registroCheques.Exibir(item_pg.Valor); foreach (Cheque cheque in registroCheques.Cheques) { Parcelas parcela_cheque = new Parcelas(); parcela_cheque.Item_pagamento_id = item_pg.Id; parcela_cheque.Valor = cheque.Valor; parcela_cheque.Situacao = (int)Situacao_parcela.EM_ABERTO; parcela_cheque.Data_lancamento = Movimento.Data; parcela_cheque.Num_documento = Movimento.Id.ToString().PadLeft(8 - Movimento.Id.ToString().Length, '0') + "-" + numero_parcela; parcela_cheque.Parcela_descricao = $"REFERENTE AO MOVIMENTO {Movimento.Id} ({tipo_mov.Descricao})"; parcela_cheque.Data_vencimento = cheque.Data_deposito; if (tipo_mov.Movimentacao_valores == (int)Tipo_movimentacao.ENTRADA) { parcela_cheque.Tipo_parcela = (int)Tipo_parcela.RECEBER; parcela_cheque.Cliente_id = Movimento.Cliente_id; parcela_cheque.Numero_cheque = cheque.Numero_cheque; parcela_cheque.Banco = cheque.Banco; parcela_cheque.Agencia = cheque.Agencia; parcela_cheque.Dias_compensacao = cheque.Dias_compensacao; parcela_cheque.Conta = cheque.Conta; } if (tipo_mov.Movimentacao_valores == (int)Tipo_movimentacao.SAIDA) { parcela_cheque.Tipo_parcela = (int)Tipo_parcela.PAGAR; parcela_cheque.Fornecedor_id = Movimento.Fornecedor_id; parcela_cheque.Portador = forma_pagamento.Conta_id; parcela_cheque.Numero_cheque = cheque.Numero_cheque; parcela_cheque.Banco = string.Empty; parcela_cheque.Agencia = string.Empty; parcela_cheque.Dias_compensacao = 0; parcela_cheque.Conta = string.Empty; } if (!parcController.Save(parcela_cheque)) { unit.RollBack(); return(0); } numero_parcela++; } break; #endregion #region PRAZO case (int)Tipo_pagamento.PRAZO: DateTime data_base = (forma_pagamento.Tipo_intervalo == (int)Tipo_intervalo.DATA_BASE ? DateTime.Now.AddMonths(1) : DateTime.Now.AddDays(forma_pagamento.Intervalo)); //baseando a data para o mes sequente ao atual for (int i = 0; i < forma_pagamento.Parcelas; i++) { Parcelas parcela_prazo = new Parcelas(); parcela_prazo.Item_pagamento_id = item_pg.Id; parcela_prazo.Valor = (item_pg.Valor / forma_pagamento.Parcelas); parcela_prazo.Situacao = (int)Situacao_parcela.EM_ABERTO; parcela_prazo.Data_lancamento = Movimento.Data; parcela_prazo.Parcela_descricao = $"REFERENTE AO MOVIMENTO {Movimento.Id} ({tipo_mov.Descricao})"; parcela_prazo.Num_documento = Movimento.Id.ToString().PadLeft(8 - Movimento.Id.ToString().Length, '0') + "-" + numero_parcela; parcela_prazo.Numero_cheque = string.Empty; parcela_prazo.Banco = string.Empty; parcela_prazo.Agencia = string.Empty; parcela_prazo.Dias_compensacao = 0; parcela_prazo.Conta = string.Empty; if (forma_pagamento.Tipo_intervalo == (int)Tipo_intervalo.DATA_BASE) { data_base = new DateTime(data_base.Year, data_base.Month, forma_pagamento.Dia_base); parcela_prazo.Data_vencimento = data_base; data_base = data_base.AddMonths(1); } if (forma_pagamento.Tipo_intervalo == (int)Tipo_intervalo.INTERVALO) { parcela_prazo.Data_vencimento = data_base; data_base = data_base.AddDays(forma_pagamento.Intervalo); } if (tipo_mov.Movimentacao_valores == (int)Tipo_movimentacao.ENTRADA) { parcela_prazo.Tipo_parcela = (int)Tipo_parcela.RECEBER; parcela_prazo.Cliente_id = Movimento.Cliente_id; movimento_caixa.Tipo_mov = (int)Tipo_movimentacao_caixa.ENTRADA; movimento_caixa.Valor = item_pg.Valor; } if (tipo_mov.Movimentacao_valores == (int)Tipo_movimentacao.SAIDA) { parcela_prazo.Tipo_parcela = (int)Tipo_parcela.PAGAR; parcela_prazo.Fornecedor_id = Movimento.Fornecedor_id; movimento_caixa.Tipo_mov = (int)Tipo_movimentacao_caixa.SAIDA; movimento_caixa.Valor = item_pg.Valor * (-1); } if (!parcController.Save(parcela_prazo)) { unit.RollBack(); return(0); } numero_parcela++; } break; #endregion } if (!movimentos_caixaController.Save(movimento_caixa)) { unit.RollBack(); return(0); } } #endregion if (Pedido_venda != null) { Pedidos_vendaController pedidosController = new Pedidos_vendaController(); pedidosController.SetContext(unit.Context); pedidosController.RemovePedido(Pedido_venda.Id); } unit.Commit(); BStatus.Success("Movimento salvo"); return(Movimento.Id); } catch (Exception ex) { unit.RollBack(); return(0); } }
partial void DeleteProdutos(Produtos instance);
public void AdicionarProduto(Produto produto, int quantidade) { Produtos.Add(produto); ValorTotal += quantidade * produto.Valor; }