private void Run_MouseDown_1(object sender, MouseButtonEventArgs e) { Pagamentos_lancamentosController plController = new Pagamentos_lancamentosController(); Lancamentos_financeiros lf = plController.FindLancamentoByPagamentoId(Parcela.Pagamento_lancamento_id); DetalhesLancamento detalhes = new DetalhesLancamento(lf.Id); detalhes.ShowDialog(); }
public Lancamentos_financeirosAdapter(Lancamentos_financeiros lancamento, varejo_config context) { Lancamento = lancamento; Tipo = (lancamento.Tipo == (int)Tipo_lancamento.ENTRADA ? "ENTRADA" : "SAIDA"); if (lancamento.Fornecedor_id > 0) { Fornecedor = context.Fornecedores.Find(lancamento.Fornecedor_id).Nome; } if (lancamento.Cliente_id > 0) { Cliente = context.Clientes.Find(lancamento.Cliente_id).Nome; } }
private void Salvar(bool close) { if (txData.SelectedDate == null) { MessageBox.Show("Informe a data do lançamento", "Atenção", MessageBoxButton.OK, MessageBoxImage.Exclamation); return; } Lancamentos_financeiros lancamento = new Lancamentos_financeiros(); lancamento.Data = (DateTime)txData.SelectedDate; lancamento.Conta_id = Conta_id; lancamento.Num_documento = txNum_documento.Text; lancamento.Origem = (int)Origem_lancamento.NENHUM; lancamento.Tipo = ((int)(Tipo_lancamento)cbTipo.SelectedValue); lancamento.Plano_conta_id = int.Parse(txCod_planoConta.Text); lancamento.Valor_original = decimal.Parse(txValor_original.Text); lancamento.Desconto = decimal.Parse(txDesconto.Text); lancamento.Acrescimo = decimal.Parse(txAcrescimo.Text); lancamento.Despesas_acessorias = decimal.Parse(txDespesas_acessorias.Text); lancamento.Valor_final = decimal.Parse(txValor_final.Text); lancamento.Usuario_id = UsuariosController.UsuarioAtual.Id; lancamento.Descricao = txDescricao.Text; lancamento.Cliente_id = int.Parse(txCod_cliente.Text); lancamento.Fornecedor_id = int.Parse(txCod_fornecedor.Text); PagamentoLancamento pagamento = new PagamentoLancamento(); pagamento.Exibir(lancamento.Valor_final); lancamento.Pagamentos_lancamentos = pagamento.Pagamentos; if (controller.Save(lancamento)) { if (close) { Close(); } else { LimparCampos(); } } }
private void Fill(int lancamento_id) { Lancamentos_financeirosController controller = new Lancamentos_financeirosController(); Lancamentos_financeiros lancamento = controller.Find(lancamento_id); txCod.Text = lancamento.Id.ToString(); txData.Text = lancamento.Data.ToString("dd/MM/yyyy"); txTipo.Text = (lancamento.Tipo == (int)Tipo_lancamento.ENTRADA ? "ENTRADA" : "SAIDA"); txNum_documento.Text = lancamento.Num_documento; txCliente.Text = (lancamento.Cliente_id == 0 ? string.Empty : new ClientesController().Find(lancamento.Cliente_id).Nome); txFornecedor.Text = (lancamento.Fornecedor_id == 0 ? string.Empty : new FornecedoresController().Find(lancamento.Fornecedor_id).Nome); txUsuario.Text = lancamento.Usuarios.Nome; txValor_original.Text = lancamento.Valor_original.ToString("N2"); txDesconto.Text = lancamento.Desconto.ToString("N2"); txAcrescimo.Text = lancamento.Acrescimo.ToString("N2"); txDespesas_acessorias.Text = lancamento.Despesas_acessorias.ToString("N2"); txValor_final.Text = lancamento.Valor_final.ToString("N2"); txDescricao.Text = lancamento.Descricao; dataGrid_pagamentos.ItemsSource = lancamento.Pagamentos_lancamentos; new Thread(() => { ParcelasController parcController = new ParcelasController(); varejo_config context = new varejo_config(); List <Parcelas> parcelas = parcController.ListByPagamentosLancamento(lancamento.Pagamentos_lancamentos.ToList()); List <ParcelaAdapter> listAdp = new List <ParcelaAdapter>(); parcelas.ForEach(e => listAdp.Add(new ParcelaAdapter(e, context))); dataGrid_parcelas.Dispatcher.Invoke(new Action <DataGrid>(dt => dataGrid_parcelas.ItemsSource = listAdp), dataGrid_parcelas); }).Start(); }
private bool Valid(Lancamentos_financeiros lf) { if (lf.Conta_id == 0) { BStatus.Alert("Informe uma conta para efetuar o lançamento"); return(false); } if (lf.Data == null) { BStatus.Alert("A data do lançamento é obrigatória"); return(false); } if (lf.Valor_original == 0) { BStatus.Alert("Informe o valor original do lançamento"); return(false); } if (lf.Plano_conta_id == 0) { BStatus.Alert("Informe o plano de contas"); return(false); } if (!string.IsNullOrEmpty(lf.Num_documento)) { if (db.Where(e => e.Num_documento.Equals(lf.Num_documento)).FirstOrDefault() != null) { BStatus.Alert("Já existe um lançamento com o número de documento informado. Informe outro numero de documento."); return(false); } } return(true); }
private void EfetuarTransferencia() { ITelaTransferenciaConta t1 = telas[1]; ITelaTransferenciaConta t2 = telas[2]; progressBar.Dispatcher.Invoke(new Action <ProgressBar>(pb => progressBar.Visibility = Visibility.Visible), progressBar); Lancamentos_financeirosController controller = new Lancamentos_financeirosController(); ContasController contasC = new ContasController(); Formas_pagamento fpg = new Formas_pagamentoController().Get(e => e.Tipo_pagamento == (int)Tipo_pagamento.DINHEIRO); Lancamentos_financeiros lancamento1 = new Lancamentos_financeiros(); Lancamentos_financeiros lancamento2 = new Lancamentos_financeiros(); Application.Current.Dispatcher.BeginInvoke(new Action(() => { lancamento1.Data = DateTime.Now; lancamento1.Conta_id = t1.Conta_id; lancamento1.Plano_conta_id = t1.Plano_conta_id; lancamento1.Tipo = (int)t1.Tipo_lancamento; lancamento1.Valor_original = t1.Valor; lancamento1.Valor_final = t1.Valor; lancamento1.Usuario_id = UsuariosController.LojaAtual.Id; lancamento1.Num_documento = ""; lancamento1.Pagamentos_lancamentos.Add(new Pagamentos_lancamentos() { Forma_pagamento_id = fpg.Id, Valor = lancamento1.Valor_final }); lancamento2.Data = DateTime.Now; lancamento2.Conta_id = t2.Conta_id; lancamento2.Plano_conta_id = t2.Plano_conta_id; lancamento2.Tipo = (int)t2.Tipo_lancamento; lancamento2.Valor_original = t2.Valor; lancamento2.Valor_final = t2.Valor; lancamento2.Num_documento = ""; lancamento2.Usuario_id = UsuariosController.LojaAtual.Id; lancamento2.Pagamentos_lancamentos.Add(new Pagamentos_lancamentos() { Forma_pagamento_id = fpg.Id, Valor = lancamento2.Valor_final }); lancamento1.Descricao = $"TRANSFERÊNCIA '{contasC.Find(lancamento1.Conta_id).Nome}' -> '{contasC.Find(lancamento2.Conta_id).Nome}' - {lancamento1.Data.ToString("dd/MM/yyyy HH:mm:ss")} ({(lancamento1.Tipo == (int)Tipo_lancamento.ENTRADA ? "ENTRADA" : "SAIDA")})"; lancamento2.Descricao = $"TRANSFERÊNCIA '{contasC.Find(lancamento1.Conta_id).Nome}' -> '{contasC.Find(lancamento2.Conta_id).Nome}' - {lancamento2.Data.ToString("dd/MM/yyyy HH:mm:ss")} ({(lancamento2.Tipo == (int)Tipo_lancamento.ENTRADA ? "ENTRADA" : "SAIDA")})"; if (!controller.Save(lancamento1)) { MessageBox.Show("Ocorreu um problema ao executar o procedimento. Acione o suporte Doware.", "ERRO", MessageBoxButton.OK, MessageBoxImage.Error); thread_transferencia.Abort(); } if (!controller.Save(lancamento2)) { MessageBox.Show("Ocorreu um problema ao executar o procedimento. Acione o suporte Doware.", "ERRO", MessageBoxButton.OK, MessageBoxImage.Error); thread_transferencia.Abort(); } MessageBox.Show("Transferência efetuada com sucesso", "Concluído", MessageBoxButton.OK, MessageBoxImage.Information); Close(); thread_transferencia.Abort(); })); }
public bool Save(Lancamentos_financeiros lancamento_financeiro) { if (!Valid(lancamento_financeiro)) { return(false); } List <Pagamentos_lancamentos> pagamentos = lancamento_financeiro.Pagamentos_lancamentos.ToList(); lancamento_financeiro.Pagamentos_lancamentos = null; UnitOfWork unit = new UnitOfWork(); try { unit.BeginTransaction(); db.Context = unit.Context; lancamento_financeiro.Id = db.NextId(e => e.Id); db.Save(lancamento_financeiro); db.Commit(); pagamentos.ForEach(e => e.Lancamento_id = lancamento_financeiro.Id); pagamentos.ForEach(e => e.Formas_pagamento = null); Pagamentos_lancamentosController pl_controller = new Pagamentos_lancamentosController(); pl_controller.SetContext(unit.Context); Formas_pagamentoController fpg_controller = new Formas_pagamentoController(); fpg_controller.SetContext(unit.Context); ParcelasController parcController = new ParcelasController(); parcController.SetContext(unit.Context); ContasController contasController = new ContasController(); contasController.SetContext(unit.Context); Planos_contasController planoContasController = new Planos_contasController(); planoContasController.SetContext(unit.Context); Contas conta = contasController.Find(lancamento_financeiro.Conta_id); Planos_contas plano_conta = planoContasController.Find(lancamento_financeiro.Plano_conta_id); int numero_parcela = 1; foreach (Pagamentos_lancamentos pagamento in pagamentos) { if (!pl_controller.Save(pagamento)) { unit.RollBack(); return(false); } Formas_pagamento forma_pg = fpg_controller.Find(pagamento.Forma_pagamento_id); #region DINHEIRO if (forma_pg.Tipo_pagamento == (int)Tipo_pagamento.DINHEIRO) { if (lancamento_financeiro.Tipo == (int)Tipo_lancamento.ENTRADA) { conta.Saldo += pagamento.Valor; } else { conta.Saldo -= pagamento.Valor; } contasController.Save(conta); } #endregion #region CHEQUE if (forma_pg.Tipo_pagamento == (int)Tipo_pagamento.CHEQUE) { IRegistroCheques registroCheques; if (lancamento_financeiro.Tipo == (int)Tipo_lancamento.ENTRADA) { registroCheques = new RecebimentoCheques(); } else { registroCheques = new LancamentoCheque(); registroCheques.SetConta(conta); } registroCheques.Exibir(pagamento.Valor); foreach (Cheque cheque in registroCheques.Cheques) { Parcelas parcela_cheque = new Parcelas(); parcela_cheque.Pagamento_lancamento_id = pagamento.Id; parcela_cheque.Valor = cheque.Valor; parcela_cheque.Situacao = (int)Situacao_parcela.EM_ABERTO; parcela_cheque.Data_lancamento = lancamento_financeiro.Data; parcela_cheque.Num_documento = lancamento_financeiro.Num_documento.PadLeft(8 - lancamento_financeiro.Num_documento.Length, '0') + "-" + numero_parcela; parcela_cheque.Parcela_descricao = $"REFERENTE AO LANÇAMENTO FINANCEIRO {lancamento_financeiro.Id} ({plano_conta.Descricao})"; parcela_cheque.Data_vencimento = cheque.Data_deposito; if (lancamento_financeiro.Tipo == (int)Tipo_lancamento.ENTRADA) { parcela_cheque.Tipo_parcela = (int)Tipo_parcela.RECEBER; parcela_cheque.Cliente_id = lancamento_financeiro.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 (lancamento_financeiro.Tipo == (int)Tipo_lancamento.SAIDA) { parcela_cheque.Tipo_parcela = (int)Tipo_parcela.PAGAR; parcela_cheque.Fornecedor_id = lancamento_financeiro.Fornecedor_id; parcela_cheque.Portador = forma_pg.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(false); } numero_parcela++; } } #endregion #region CARTAO if (forma_pg.Tipo_pagamento == (int)Tipo_pagamento.CARTAO) { Operadoras_cartaoController opController = new Operadoras_cartaoController(); opController.SetContext(unit.Context); Operadoras_cartao operadora = opController.Find(forma_pg.Operadora_cartao_id); Parcelas parcela_cartao = new Parcelas(); parcela_cartao.Pagamento_lancamento_id = pagamento.Id; parcela_cartao.Valor = pagamento.Valor; parcela_cartao.Situacao = (int)Situacao_parcela.EM_ABERTO; parcela_cartao.Data_lancamento = lancamento_financeiro.Data; parcela_cartao.Data_vencimento = (operadora.Tipo_recebimento == (int)Tipo_prazo_operadora.DIAS ? lancamento_financeiro.Data.AddDays(operadora.Prazo_recebimento) : lancamento_financeiro.Data.AddHours(operadora.Prazo_recebimento)); parcela_cartao.Portador = forma_pg.Conta_id; if (lancamento_financeiro.Tipo == (int)Tipo_lancamento.ENTRADA) { parcela_cartao.Tipo_parcela = (int)Tipo_parcela.RECEBER; parcela_cartao.Cliente_id = lancamento_financeiro.Cliente_id; } if (lancamento_financeiro.Tipo == (int)Tipo_lancamento.SAIDA) { parcela_cartao.Tipo_parcela = (int)Tipo_parcela.PAGAR; parcela_cartao.Fornecedor_id = lancamento_financeiro.Cliente_id; } parcela_cartao.Num_documento = lancamento_financeiro.Num_documento.PadLeft(8 - lancamento_financeiro.Num_documento.Length, '0') + "-" + numero_parcela; parcela_cartao.Parcela_descricao = $"REFERENTE AO LANÇAMENTO FINANCEIRO {lancamento_financeiro.Id} ({plano_conta.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(false); } numero_parcela++; } #endregion #region PRAZO if (forma_pg.Tipo_pagamento == (int)Tipo_pagamento.PRAZO) { DateTime data_base = (forma_pg.Tipo_intervalo == (int)Tipo_intervalo.DATA_BASE ? DateTime.Now.AddMonths(1) : DateTime.Now.AddDays(forma_pg.Intervalo)); //baseando a data para o mes sequente ao atual for (int i = 0; i < forma_pg.Parcelas; i++) { Parcelas parcela_prazo = new Parcelas(); parcela_prazo.Pagamento_lancamento_id = pagamento.Id; parcela_prazo.Valor = (pagamento.Valor / forma_pg.Parcelas); parcela_prazo.Situacao = (int)Situacao_parcela.EM_ABERTO; parcela_prazo.Data_lancamento = lancamento_financeiro.Data; parcela_prazo.Parcela_descricao = $"REFERENTE AO LANÇAMENTO FINANCEIRO {lancamento_financeiro.Id} ({plano_conta.Descricao})"; parcela_prazo.Num_documento = lancamento_financeiro.Num_documento.PadLeft(8 - lancamento_financeiro.Num_documento.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; parcela_prazo.Portador = lancamento_financeiro.Conta_id; if (forma_pg.Tipo_intervalo == (int)Tipo_intervalo.DATA_BASE) { data_base = new DateTime(data_base.Year, data_base.Month, forma_pg.Dia_base); parcela_prazo.Data_vencimento = data_base; data_base = data_base.AddMonths(1); } if (forma_pg.Tipo_intervalo == (int)Tipo_intervalo.INTERVALO) { parcela_prazo.Data_vencimento = data_base; data_base = data_base.AddDays(forma_pg.Intervalo); } if (lancamento_financeiro.Tipo == (int)Tipo_lancamento.ENTRADA) { parcela_prazo.Tipo_parcela = (int)Tipo_parcela.RECEBER; parcela_prazo.Cliente_id = lancamento_financeiro.Cliente_id; } if (lancamento_financeiro.Tipo == (int)Tipo_lancamento.SAIDA) { parcela_prazo.Tipo_parcela = (int)Tipo_parcela.PAGAR; parcela_prazo.Fornecedor_id = lancamento_financeiro.Fornecedor_id; } if (!parcController.Save(parcela_prazo)) { unit.RollBack(); return(false); } numero_parcela++; } #endregion } } unit.Commit(); BStatus.Success("Lançamento financeiro efetuado com sucesso"); return(true); } catch (Exception ex) { unit.RollBack(); return(false); } }