public bool AreRelationshipsValid(IIdentity <Ticket> editedTicket, IEnumerable <TheoreticalRelationship> relationships) { if (ReferenceEquals(relationships, null)) { return(true); } logger.Debug($"Beginning validation, considering {relationships.Count()} relationship(s)"); if (AreThereAnyProhibitedRelationships(editedTicket, relationships)) { return(false); } return(wrapped.AreRelationshipsValid(editedTicket, relationships)); }
protected override RuleOutcome GetOutcome(IChangesTicketRelationships validated) { var theoreticalRelationships = theoreticalRelationshipProvider.GetTheoreticalTicketRelationships( ticketIdentity: validated.EditedTicket, added: validated.RelationshipsToAdd, removed: validated.RelationshipsToRemove ); if (logger.IsDebugEnabled) { logger.Debug($"Theoretical relationships: {String.Join(", ", theoreticalRelationships)}"); } if (relationshipValidator.AreRelationshipsValid(validated.EditedTicket, theoreticalRelationships)) { return(Success); } return(Failure); }