コード例 #1
0
 /// <summary>
 /// Mudar o construtor para aceitar o tipo da fatura e o beneficiario inteiro
 /// </summary>
 public FaturaBuilder(
     IVerificarBeneficiarioInadimplente verificaBeneficiarioInadimplente,
     AbstractCentroDeCusto centroDeCusto,
     SfnFatura sfnFatura)
 {
     this.verificaBeneficiarioInadimplente = verificaBeneficiarioInadimplente;
     this.sfnFatura     = sfnFatura;
     this.centroDeCusto = centroDeCusto;
     repFatura.Incluir(sfnFatura);
 }
 protected override void GerarCentroCustoEspecifico(SfnFatura fatura)
 {
     fatura.Lancamentos.ForEach(lanc =>
     {
         if (lanc.LancamentoCc == null)
         {
             lanc.LancamentoCc = new List <SfnFaturaLancCc>();
         }
         lanc.LancamentoCc.Add(CriarLancCc("Mensalidade", lanc.Handle, lanc.Valor));
         repLancamentoCc.Incluir(lanc.LancamentoCc.Last());
     });
 }
コード例 #3
0
        static void Main(string[] args)
        {
            var sfnFatura = new SfnFatura(TipoFaturaEnum.Mensalidade, new SamBeneficiario());
            var fatura    = new Faturas.FaturaBuilder(new VerificaBeneficiarioInadimplente(), new CentroDeCustoRevisaoMensalidade(), sfnFatura);

            var lancamento = new Dto.Lancamento(110, 100);

            fatura.InserirLancamento(lancamento);
            fatura.Gerar();

            Console.ReadKey();
        }
コード例 #4
0
        protected override void GerarCentroCustoEspecifico(SfnFatura fatura)
        {
            foreach (var lancamentoCentroCusto in fatura.Lancamentos)
            {
                if (lancamentoCentroCusto.LancamentoCc == null)
                {
                    lancamentoCentroCusto.LancamentoCc = new List <SfnFaturaLancCc>();
                }
                lancamentoCentroCusto.LancamentoCc.Add(CriarLancCc("Mensalidade", lancamentoCentroCusto.Handle, lancamentoCentroCusto.Valor / 2));
                repLancamentoCc.Incluir(lancamentoCentroCusto.LancamentoCc.Last());

                var valorLancamento = Math.Round(lancamentoCentroCusto.Valor / 2, 2);
                lancamentoCentroCusto.LancamentoCc.Add(CriarLancCc("Mensalidade", lancamentoCentroCusto.HandleFatura,
                                                                   valorLancamento));
                repLancamentoCc.Incluir(lancamentoCentroCusto.LancamentoCc.Last());
            }
        }
コード例 #5
0
 private static FaturaBuilder ObterFaturaFake(SfnFatura fatura)
 {
     return(new FaturaBuilder(new VerificaBeneficiarioInadimplenteMock(), new CentroDeCustoMock(), fatura));
 }
コード例 #6
0
 protected abstract void GerarCentroCustoEspecifico(SfnFatura fatura);
コード例 #7
0
 public void GerarCentroDeCusto(SfnFatura fatura)
 {
     GerarCentroCustoEspecifico(fatura);
 }
コード例 #8
0
 protected override void GerarCentroCustoEspecifico(SfnFatura fatura)
 {
 }