Ejemplo n.º 1
0
        public CDBComCDIResult PodeAdicionarResgate(ResgateCDBComCDI resgate)
        {
            if (resgate.Quantidade <= 0)
            {
                return(CDBComCDIResult.Failed(new Tuple <string, string>("Quantidade", "A quantidade não pode ser menor que zero.")));
            }
            if (resgate.Data <= DataDaAplicacao)
            {
                return(CDBComCDIResult.Failed(new Tuple <string, string>("Data", "A Data do Resgate não pode ser menor que a data da aplicação.")));
            }
            if (resgate.Data >= DataDoVencimento)
            {
                return(CDBComCDIResult.Failed(new Tuple <string, string>("Data", "A Data do Resgate não pode ser maior que a data do vencimento.")));
            }
            if (Resgates.Any(c => c.Data == resgate.Data))
            {
                return(CDBComCDIResult.Failed(new Tuple <string, string>("Data", "Já existe um resgate nesta data.")));
            }

            var quantidadeAtualizada = QuantidadeAtual - resgate.Quantidade;

            if (quantidadeAtualizada < 0)
            {
                return(CDBComCDIResult.Failed(new Tuple <string, string>("Quantidade", "A soma final do saldo não pode ser menor que zero.")));
            }

            return(CDBComCDIResult.Success);
        }
Ejemplo n.º 2
0
 public void AdicionarResgate(ResgateCDBComCDI resgate)
 {
     _resgates.Add(resgate);
 }