public void AdicionarAssinatura(Assinatura assinatura) { bool assinaturaAtiva = false; foreach (var item in _assinaturas) { if (item.Ativa) { assinaturaAtiva = true; } } AddNotifications(new Contract() .Requires() .IsFalse(assinaturaAtiva, "Aluno.Assinaturas", "Você já tem uma assinatura ativa") .AreNotEquals(0, assinatura.Pagamentos.Count, "Aluno.Assinatura.Pagamentos", "Esta assinatura não possui pagamentos")); if (Valid) { _assinaturas.Add(assinatura); } }
public void AdicionaAssinatura(Assinatura assinatura) { // Se já tiver uma assinatura ativa, cancela // Cancela todas as outras assinaturas, e coloca esta // como principal // foreach(Assinatura assina in Assinaturas){ // assina.Desativar(); // } // _assinaturas.Add(assinatura); var temAssinaturaAtiva = false; foreach (var assina in _assinaturas) { if (assina.EstaAtiva) { temAssinaturaAtiva = true; } } AddNotifications(new Contract() .Requires() .IsFalse(temAssinaturaAtiva, "Estudante.Assinaturas", "Você já tem uma assinatura ativa") .AreEquals(0, assinatura.Pagamentos.Count, "Estudante.Assinaturas.Pagamento", "Esta assinatura não possui pagamentos") ); if (Valid) { _assinaturas.Add(assinatura); } //Alternativa //if(temAssinaturaAtiva) // AddNotification("Estudante.Assinaturas","Você já tem uma assinatura ativa"); }