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); }
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) { }