public override IList <PersonType> GetPersonTypesByUser(string userName)
        {
            using (var transaction = new TransactionScope(_configuration))
            {
                // Find all the Persons who match the MembershipUser id of 'username'.
                var  userDS = new UserDataStore(transaction);
                User user   = userDS.FindByName(_applicationName, userName);

                // If there is no matching person, then do not continue.
                if (user.Person == null)
                {
                    throw new PersonNotFoundException(user.Name);
                }

                // Then, find all the PersonTypes via PersonPersonType that match the personIds.
                IList <PersonType> runningList = new List <PersonType>();
                var ppDS = new PersonPersonTypeDataStore(transaction);
                IList <PersonPersonType> pps = ppDS.FindPersonTypesByPerson(user.Person.Id);
                foreach (PersonPersonType ppt in pps)
                {
                    IEnumerable <PersonType> q = from x in runningList where x.Id.Equals(ppt.PersonType.Id) select x;
                    if (q.Count() == 0)
                    {
                        runningList.Add(ppt.PersonType);
                    }
                }
                return(runningList);
            }
        }
        public override bool IsPersonInPersonType(string personId)
        {
            using (var transaction = new TransactionScope(_configuration))
            {
                var pptDS = new PersonPersonTypeDataStore(transaction);
                IList <PersonPersonType> peoples = pptDS.FindPersonTypesByPerson(personId);

                if (peoples.Count > 0)
                {
                    return(true);
                }
                else
                {
                    return(false);
                }
            }
        }
 public override IList <PersonType> GetPersonTypesByPerson(Person person)
 {
     using (var transaction = new TransactionScope(_configuration))
     {
         IList <PersonType> runningList = new List <PersonType>();
         var ppDS = new PersonPersonTypeDataStore(transaction);
         IList <PersonPersonType> pps = ppDS.FindPersonTypesByPerson(person.Id);
         foreach (PersonPersonType ppt in pps)
         {
             IEnumerable <PersonType> q = from x in runningList where x.Id.Equals(ppt.PersonType.Id) select x;
             if (q.Count() == 0)
             {
                 runningList.Add(ppt.PersonType);
             }
         }
         return(runningList);
     }
 }