//custrutor para criar uma nova conta
        public Conta(string nome, double valorTotal, int qtdParcelas, DateTime dataPrimeiroPgto, int frequenciaDiaPgto, int porcVariacaoMensal, Guid usuarioId)
        {
            Parcelas = new List <Parcela>();
            var parcelasVo = new ParcelasConta();

            var parcelado = qtdParcelas > 1;

            ValidateDefault(nome, valorTotal, qtdParcelas, parcelado, dataPrimeiroPgto, frequenciaDiaPgto, porcVariacaoMensal, usuarioId);
            if (Invalid)
            {
                return;
            }

            Parcelas = parcelasVo.CalcularParcelas(Id, dataPrimeiroPgto, valorTotal, qtdParcelas, frequenciaDiaPgto, porcVariacaoMensal);

            AddNotifications(parcelasVo);

            if (Valid)
            {
                Nome               = nome;
                ValorTotal         = valorTotal;
                DataPrimeiroPgto   = dataPrimeiroPgto;
                DataProxPgto       = DataPrimeiroPgto;
                Parcelado          = parcelado;
                FrequenciaDiaPgto  = frequenciaDiaPgto;
                PorcVariacaoMensal = porcVariacaoMensal;
                UsuarioId          = usuarioId;
                QtdParcelas        = qtdParcelas;
            }
        }
        public void RetornaErroCasoDataPrimeiraParcelaDivergenteDasParcelas(DateTime dataPrimeiroPgto)
        {
            var conta = new Conta(_nome, _valorTotal, _qtdParcelas, dataPrimeiroPgto, _frequenciaPgto, _porcVariacaoMensal, _usuarioId);

            var parcela = new ParcelasConta().SelecionarParcela(1, (List <Parcela>)conta.Parcelas);

            Assert.IsTrue(parcela.DataParcela == dataPrimeiroPgto);
        }