/// <summary> /// Cria uma nova instância de <see cref="Parcela"/>. /// </summary> /// <param name="operacao">Operação a qual a parcela está vinculada.</param> /// <param name="valorDaParcela">Valor da parcela.</param> /// <param name="dataDeVencimento">Data de vencimento da parcela.</param> /// <param name="servicoDeImpostosPorOperacao">Serviço responsável por criar os objetos de imposto por tipo de operação da parcela.</param> /// <param name="fabricaDeCalculosFinanceiros">Objeto responsável por criar os cálculos financeiros que serão aplicados a parcela.</param> public Parcela(IOperacao operacao, decimal valorDaParcela, DateTime dataDeVencimento, ServicoDeImpostosPorOperacao servicoDeImpostosPorOperacao, IFabricaDeCalculosFinanceiros fabricaDeCalculosFinanceiros) { _operacao = operacao; _impostosIncidentes = servicoDeImpostosPorOperacao.Impostos; _fabricaDeCalculosFinanceiros = fabricaDeCalculosFinanceiros; Valor = valorDaParcela; DataDeVencimento = dataDeVencimento; }
/// <summary> /// Cria uma nova instância de <see cref="FabricaDeOperacao"/>. /// </summary> /// <param name="fabricaDeImpostos">Fábrica de impostos incidentes na operação.</param> /// <param name="fabricaDeCalculosFinanceiros">Objeto responsável por criar os cálculos financeiros que serão aplicados a parcela.</param> public FabricaDeOperacao(IFabricaDeImpostos fabricaDeImpostos, IFabricaDeCalculosFinanceiros fabricaDeCalculosFinanceiros) { _fabricaDeParcela = new FabricaDeParcela(fabricaDeImpostos, fabricaDeCalculosFinanceiros); }
/// <summary> /// Cria uma nova instância de <see cref="FabricaDeParcela"/>. /// </summary> /// <param name="fabricaDeImpostos">Fábrica de impostos incidentes na parcela.</param> public FabricaDeParcela(IFabricaDeImpostos fabricaDeImpostos, IFabricaDeCalculosFinanceiros fabricaDeCalculosFinanceiros) { _fabricaDeImpostos = fabricaDeImpostos; _fabricaDeCalculosFinanceiros = fabricaDeCalculosFinanceiros; }