private List <string> GetRegionMunicipalities(string municipalityUrl, KapaConfiguration kapaConfiguration, string areaCode) { var url = ParseKapaConfigurationForMunicipality(municipalityUrl, kapaConfiguration, areaCode); var content = Download(url); return(content.Select(ParseCode).Where(code => !code.IsNullOrEmpty()).ToList()); }
private static string ParseKapaConfigurationForMunicipality(string url, KapaConfiguration kapaConfiguration, string areaCode) { if (kapaConfiguration == null) { throw new Exception("Kapa configuration is not set"); } return(string.Format(url, kapaConfiguration.UrlBase.TrimEnd('/'), kapaConfiguration.Version, areaCode, kapaConfiguration.ApiKey)); }
protected JArray Download(string url, KapaConfiguration kapaConfiguration = null) { url = ParseKapaConfiguration(url, kapaConfiguration); var content = ProxyDownload(url); var parsedContent = JObject.Parse(content); var resultCode = (int)parsedContent["meta"]["code"]; if (resultCode != 200) { // something went wrong throw new Exception($"{JobType} job: Code service returned code: {resultCode}. Something went wrong.{Environment.NewLine}Used URL: {url} "); } return((JArray)parsedContent["results"]); }
protected KapaConfiguration GetKapaConfiguration(IJobExecutionContext context) { if (!(context.Scheduler.Context.Get(QuartzScheduler.SERVICE_PROVIDER) is IServiceProvider serviceProvider)) { return(null); } var applicationConfiguration = serviceProvider.GetRequiredService <IConfigurationRoot>(); if (applicationConfiguration == null) { return(null); } var kc = new KapaConfiguration(); applicationConfiguration.GetSection("KapaConfiguration").Bind(kc); return((kc.ApiKey == null || kc.Version == null || kc.UrlBase == null) ? null : kc); }
protected string ParseKapaConfiguration(string url, KapaConfiguration kapaConfiguration) { return((kapaConfiguration == null) ? url : string.Format(url, kapaConfiguration.UrlBase.TrimEnd('/'), kapaConfiguration.Version, kapaConfiguration.ApiKey)); }