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;
public Module <TModule> SetEnvironment(VkApiEnvironment environment) { Environment = environment; return(this); }