Example #1
0
        public Character(IFListClient client, string name, int id)
        {
            Client = client;
            Name   = name;
            ID     = id;

            if (Client != null && Name != null)
            {
                _Description = new ExpiringLazy <string>(() =>
                {
                    var task = Client.GetDescription(Name);
                    task.Wait();

                    return(task.Result);
                }, TIMEOUT);
                _ProfileInfo = new ExpiringLazy <Info.ProfileInfo>(() =>
                {
                    var task = Client.GetInfo(Name);
                    task.Wait();

                    return(task.Result);
                }, TIMEOUT);
                _Images = new ExpiringLazy <IReadOnlyCollection <Info.ImageInfo> >(() =>
                {
                    var task = Client.GetImages(Name);
                    task.Wait();

                    return(task.Result);
                }, TIMEOUT);
                _Kinks = new ExpiringLazy <IReadOnlyDictionary <Info.KinkInfo, Info.KinkChoice> >(() =>
                {
                    var task = Client.GetKinks(Name);
                    task.Wait();

                    return(task.Result);
                }, TIMEOUT);
            }
            else
            {
                _Description = new ExpiringLazy <string>(() => null, TimeSpan.MaxValue);
                _ProfileInfo = new ExpiringLazy <Info.ProfileInfo>(() => null, TimeSpan.MaxValue);
                _Images      = new ExpiringLazy <IReadOnlyCollection <Info.ImageInfo> >(() => null, TimeSpan.MaxValue);
                _Kinks       = new ExpiringLazy <IReadOnlyDictionary <Info.KinkInfo, Info.KinkChoice> >(() => null, TimeSpan.MaxValue);
            }
        }
Example #2
0
		public Character(IFListClient client, string name, int id)
		{
			Client = client;
			Name = name;
			ID = id;

			if (Client != null && Name != null)
			{
				_Description = new ExpiringLazy<string>(() =>
				{
					var task = Client.GetDescription(Name);
					task.Wait();

					return task.Result;
				}, TIMEOUT);
				_ProfileInfo = new ExpiringLazy<Info.ProfileInfo>(() =>
				{
					var task = Client.GetInfo(Name);
					task.Wait();

					return task.Result;
				}, TIMEOUT);
				_Images = new ExpiringLazy<List<Info.ImageInfo>>(() =>
				{
					var task = Client.GetImages(Name);
					task.Wait();

					return task.Result;
				}, TIMEOUT);
				_Kinks = new ExpiringLazy<Dictionary<Info.KinkInfo, Info.KinkChoice>>(() =>
				{
					var task = Client.GetKinks(Name);
					task.Wait();

					return task.Result;
				}, TIMEOUT);
			}
			else
			{
				_Description = new ExpiringLazy<string>(() => null, TimeSpan.MaxValue);
				_ProfileInfo = new ExpiringLazy<Info.ProfileInfo>(() => null, TimeSpan.MaxValue);
				_Images = new ExpiringLazy<List<Info.ImageInfo>>(() => null, TimeSpan.MaxValue);
				_Kinks = new ExpiringLazy<Dictionary<Info.KinkInfo, Info.KinkChoice>>(() => null, TimeSpan.MaxValue);
			}
		}