Exemple #1
0
        public Dictionary <PartyRelationshipType, int> ValidateRelationships(long partyId)
        {
            var partyManager = new PartyManager();
            var party        = partyManager.PartyRepository.Get(partyId);
            var requiredPartyRelationTypes     = new PartyRelationshipTypeManager().GetAllPartyRelationshipTypes(party.PartyType.Id).Where(cc => cc.MinCardinality > 0);
            var partyRelations                 = partyManager.PartyRelationshipRepository.Get(cc => cc.FirstParty.Id == party.Id);
            var requiredPartyRelationTypeCount = new Dictionary <PartyRelationshipType, int>();

            foreach (var requiredPartyRelationType in requiredPartyRelationTypes)
            {
                if (partyRelations.Where(cc => cc.PartyRelationshipType.Id == requiredPartyRelationType.Id).Count() < requiredPartyRelationType.MinCardinality)
                {
                    requiredPartyRelationTypeCount.Add(requiredPartyRelationType, requiredPartyRelationType.MinCardinality - partyRelations.Where(cc => cc.PartyRelationshipType.Id == requiredPartyRelationType.Id).Count());
                }
            }
            return(requiredPartyRelationTypeCount);
        }