コード例 #1
0
 public static GerenciadorEntradaPagamento GetInstance()
 {
     if (gEntradaPagamento == null)
     {
         gEntradaPagamento = new GerenciadorEntradaPagamento();
     }
     return(gEntradaPagamento);
 }
コード例 #2
0
        /// <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();
            }
        }