/// <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="Operacao"/>. /// </summary> /// <param name="fabricaDeParcela">Fábrica de parcelas.</param> /// <param name="tipoDeOperacao">Tipo de operação financeira.</param> /// <param name="dataDaOperacao">Data da operação.</param> /// <param name="taxaDeIof">Taxa de IOF.</param> /// <param name="taxaDeJuros">Taxa de Juros.</param> /// <param name="parcelas">Parcelas da operação.</param> public Operacao(IFabricaDeParcela fabricaDeParcela, TipoDeOperacaoFinanceira tipoDeOperacao, DateTime dataDaOperacao, decimal taxaDeIof, decimal taxaDeJuros, ICollection <IParcela> parcelas) { _fabricaDeParcela = fabricaDeParcela; Parcelas = parcelas; TipoDeOperacao = tipoDeOperacao; DataDaOperacao = dataDaOperacao; TaxaDeIof = taxaDeIof; TaxaDeJuros = taxaDeJuros; }
/// <summary> /// Cria uma nova instância de <see cref="Operacao"/>. /// </summary> /// <param name="fabricaDeParcela">Fábrica de parcelas.</param> /// <param name="tipoDeOperacao">Tipo de operação financeira.</param> /// <param name="dataDaOperacao">Data da operação.</param> /// <param name="taxaDeIof">Taxa de IOF.</param> public Operacao(IFabricaDeParcela fabricaDeParcela, TipoDeOperacaoFinanceira tipoDeOperacao, DateTime dataDaOperacao, decimal taxaDeIof, decimal taxaDeJuros) : this(fabricaDeParcela, tipoDeOperacao, dataDaOperacao, taxaDeIof, taxaDeJuros, fabricaDeParcela.CriarColecaoVaziaDeParcelas()) { }
public void EQueOTipoDessaOperacao(TipoDeOperacaoFinanceira tipoDeOperacaoFinanceira) { _tipoDeOperacaoFinanceira = tipoDeOperacaoFinanceira; }
/// <summary> /// Cria uma nova operação. /// </summary> /// <param name="tipoDeOperacao">Tipo de operação financeira.</param> /// <param name="dataDaOperacao">Data da operação.</param> /// <param name="taxaDeIof">Taxa de IOF.</param> /// <param name="taxaDeJuros">Taxa de Juros.</param> /// <returns>Operação criada.</returns> public IOperacao CriarOperacao(TipoDeOperacaoFinanceira tipoDeOperacao, DateTime dataDaOperacao, decimal taxaDeIof, decimal taxaDeJuros) { return(new Operacao(_fabricaDeParcela, tipoDeOperacao, dataDaOperacao, taxaDeIof, taxaDeJuros)); }