/// <summary> /// Cria uma nova instância de <see cref="ServicoDeImpostosPorOperacao"/>. /// </summary> /// <param name="fabricaDeImpostos">Fábrica de impostos.</param> /// <param name="tipoDeOperacaoFinanceira">Tipo de operação financeira.</param> public ServicoDeImpostosPorOperacao(IFabricaDeImpostos fabricaDeImpostos, TipoDeOperacaoFinanceira tipoDeOperacaoFinanceira) { _impostos = new HashSet <IImposto>(); _fabricaDeImpostos = fabricaDeImpostos; _tipoDeOperacaoFinanceira = tipoDeOperacaoFinanceira; CriarImpostosPorOperacaoFinanceira(); }
/// <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; }