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());
     });
 }
 /// <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);
 }
Exemplo n.º 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();

        }
        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());
            }
        }
 private static FaturaBuilder ObterFaturaFake(SfnFatura fatura)
 {
     return new FaturaBuilder(new VerificaBeneficiarioInadimplenteMock(),new CentroDeCustoMock(), fatura);
 }
 protected abstract void GerarCentroCustoEspecifico(SfnFatura fatura);
 public void GerarCentroDeCusto(SfnFatura fatura)
 {
     GerarCentroCustoEspecifico(fatura);
 }
 protected override void GerarCentroCustoEspecifico(SfnFatura fatura)
 {
     
 }