Beispiel #1
0
        public bool IsKindRetrievable(BrewKind kind)
        {
            switch (kind)
            {
            case BrewKind.PSV: return(SHMRegistryHelper.Instance.UseVitaDB || !string.IsNullOrEmpty(SHMRegistryHelper.Instance.PSV));

            case BrewKind.PS3: return(!string.IsNullOrEmpty(SHMRegistryHelper.Instance.PS3));

            case BrewKind.PS4: return(!string.IsNullOrEmpty(SHMRegistryHelper.Instance.PS4));

            case BrewKind.All: return(kind.GetFlags().Where(x => x != BrewKind.All && x != BrewKind.None).Any(x => IsKindRetrievable(x)));

            default: return(false);
            }
        }
Beispiel #2
0
        public async Task <IEnumerable <Brew> > RetrieveAsync(BrewKind kind)
        {
            List <Brew> brews = new List <Brew>();

            foreach (var k in kind.GetFlags())
            {
                string uri = string.Empty;
                switch (k)
                {
                case BrewKind.PSV: uri = SHMRegistryHelper.Instance.UseVitaDB ? null : SHMRegistryHelper.Instance.PSV; break;

                case BrewKind.PS3: uri = SHMRegistryHelper.Instance.PS3; break;

                case BrewKind.PS4: uri = SHMRegistryHelper.Instance.PS4; break;

                default: continue;
                }
                brews.AddRange((k == BrewKind.PSV && SHMRegistryHelper.Instance.UseVitaDB ? Mapper.Map <IEnumerable <Brew> >(await RetrieveRawFromVitaDbAsync()) : Mapper.Map <IEnumerable <Brew> >(await RetrieveRawAsync(uri))).Select(x => x.With(y => y.Kind = k)));
            }
            return(brews);
        }