public static GerenciadorEntradaPagamento GetInstance() { if (gEntradaPagamento == null) { gEntradaPagamento = new GerenciadorEntradaPagamento(); } return(gEntradaPagamento); }
/// <summary> /// Encerra o cadastramento da entrada lançando todas as contas a pagar /// </summary> /// <param name="entrada"></param> public void Encerrar(Entrada entrada) { var repEntrada = new RepositorioGenerico <EntradaE>(); SaceEntities saceContext = (SaceEntities)repEntrada.ObterContexto(); DbTransaction transaction = null; try { if (saceContext.Connection.State == System.Data.ConnectionState.Closed) { saceContext.Connection.Open(); } transaction = saceContext.Connection.BeginTransaction(); if (GerenciadorConta.GetInstance(saceContext).ObterPorEntrada(entrada.CodEntrada).ToList().Count == 0) { List <EntradaPagamento> entradaPagamentos = (List <EntradaPagamento>)GerenciadorEntradaPagamento.GetInstance().ObterPorEntrada(entrada.CodEntrada); RegistrarPagamentosEntrada(entradaPagamentos, entrada, saceContext); } else { throw new NegocioException("Existem contas associadas a essa entrada. Ela não pode ser encerrada novamente."); } entrada.CodSituacaoPagamentos = SituacaoPagamentos.LANCADOS; Atualizar(entrada, saceContext); transaction.Commit(); } catch (Exception e) { transaction.Rollback(); throw e; } finally { saceContext.Connection.Close(); } }