Ejemplo n.º 1
0
        /// <summary>Create an instance of a <see cref="TraktPerson"/> subclass from an ID</summary>
        /// <typeparam name="T">A subclass of <see cref="TraktPerson"/> to be created</typeparam>
        /// <param name="personId">The person ID</param>
        /// <param name="personIdType">The person ID type</param>
        /// <returns>See summary</returns>
        public static T FromId <T>(string personId, TraktTextPersonIdType personIdType = TraktTextPersonIdType.Auto) where T : TraktPerson
        {
            if (string.IsNullOrEmpty(personId))
            {
                throw new ArgumentException("personId not set", "personId");
            }

            if (personIdType == TraktTextPersonIdType.Auto)
            {
                if (personId.StartsWith("nm", StringComparison.InvariantCultureIgnoreCase))
                {
                    personIdType = TraktTextPersonIdType.Imdb;
                }
                else
                {
                    throw new ArgumentException("Unable to detect id type", "personIdType");
                }
            }

            var ret = Activator.CreateInstance <T>();

            ret.Ids = new TraktPersonIds();

            switch (personIdType)
            {
            case TraktTextPersonIdType.Imdb:
                ret.Ids.Imdb = personId;
                break;

            default:
                throw new ArgumentOutOfRangeException("personIdType");
            }

            return(ret);
        }
Ejemplo n.º 2
0
 /// <summary>Create an collection of <see cref="TraktPerson"/> subclass instances from a collecion of IDs</summary>
 /// <typeparam name="T">A subclass of <see cref="TraktPerson"/> to be created</typeparam>
 /// <param name="personIds">The person ID</param>
 /// <param name="personIdType">The person ID type</param>
 /// <returns>See summary</returns>
 public static IEnumerable <T> FromIds <T>(IEnumerable <string> personIds, TraktTextPersonIdType personIdType = TraktTextPersonIdType.Auto) where T : TraktPerson
 {
     return(personIds == null ? null : personIds.Select(personId => FromId <T>(personId, personIdType)));
 }
Ejemplo n.º 3
0
 /// <summary>Create an instance of <see cref="TraktPerson"/> from an ID</summary>
 /// <param name="personId">The person ID</param>
 /// <param name="personIdType">The person ID type</param>
 /// <returns>See summary</returns>
 public static TraktPerson FromId(string personId, TraktTextPersonIdType personIdType = TraktTextPersonIdType.Auto)
 {
     return(FromId <TraktPerson>(personId, personIdType));
 }
		/// <summary>Create an collection of <see cref="TraktPerson"/> instances from a collecion of IDs</summary>
		/// <param name="personIds">The person ID</param>
		/// <param name="personIdType">The person ID type</param>
		/// <returns>See summary</returns>
		public static IEnumerable<TraktPerson> FromIds(IEnumerable<string> personIds, TraktTextPersonIdType personIdType = TraktTextPersonIdType.Auto) {
			return personIds == null ? null : personIds.Select(personId => FromId<TraktPerson>(personId, personIdType));
		}