public TModule Get <TModule>(VkApiEnvironment environment) where TModule : class
        {
            if (typeof(TModule) == typeof(Account))
            {
                return(CreateAccount(environment) as TModule);
            }

            if (typeof(TModule) == typeof(Ads))
            {
                return(CreateAds(environment) as TModule);
            }

            if (typeof(TModule) == typeof(Apps))
            {
                return(CreateApps(environment) as TModule);
            }

            if (typeof(TModule) == typeof(Board))
            {
                return(CreateBoard(environment) as TModule);
            }

            if (typeof(TModule) == typeof(Database))
            {
                return(CreateDatabase(environment) as TModule);
            }

            throw new ArgumentOutOfRangeException(typeof(TModule).Name);
        }
        public static VkApiEnvironment SetAccessToken(this VkApiEnvironment environment, string accessToken)
        {
            if (string.IsNullOrWhiteSpace(accessToken))
            {
                throw new ArgumentException(nameof(accessToken));
            }

            environment.AccessToken = accessToken;

            return(environment);
        }
        private static Database CreateDatabase(VkApiEnvironment environment)
        {
            IRuntimeMapper CreateMapper() =>
            new MapperDatabase(new Converter()).Mapper;

            RequestExecutionWrapper CreateWrapper() =>
            new RequestExecutionWrapper(new Browser(), CreateMapper());

            return(new Database(CreateWrapper())
                   .SetEnvironment(environment) as Database);
        }
        private static Board CreateBoard(VkApiEnvironment environment)
        {
            IRuntimeMapper CreateMapper() =>
            new MapperBoard(new Converter()).Mapper;

            RequestExecutionWrapper CreateWrapper() =>
            new RequestExecutionWrapper(new Browser(), CreateMapper());

            return(new Board(CreateWrapper())
                   .SetEnvironment(environment) as Board);
        }
        private static Apps CreateApps(VkApiEnvironment environment)
        {
            IRuntimeMapper CreateMapper() =>
            new MapperApps(new Converter()).Mapper;

            RequestExecutionWrapper CreateWrapper() =>
            new RequestExecutionWrapper(new Browser(), CreateMapper());

            return(new Apps(CreateWrapper())
                   .SetEnvironment(environment) as Apps);
        }
 public static VkApiEnvironment Reset(this VkApiEnvironment environment)
 => environment = new VkApiEnvironment(environment.Version);
 public static bool AccessTokenNotExists(this VkApiEnvironment environment) =>
 string.IsNullOrWhiteSpace(environment.AccessToken);
 public static bool NotExists(this VkApiEnvironment environment)
 => environment == null;
 public static bool Exists(this VkApiEnvironment environment)
 => environment != null;
Exemple #10
0
 public Module <TModule> SetEnvironment(VkApiEnvironment environment)
 {
     Environment = environment;
     return(this);
 }