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); }
public void AdicionarResgate(ResgateCDBComCDI resgate) { _resgates.Add(resgate); }