Exemplo n.º 1
0
        static void generateStandup(int offset = 0, bool showOnCompletion = true)
        {
            KanbanFlow kb = new KanbanFlow();

            kb.SignIn();
            kb.populateBoard();
            kb.populateDueDates();

            CalendarServices cs = new CalendarServices();

            cs.SignIn();

            WeatherClient wc = new WeatherClient();

            wc.SetToken();

            StandupReport report = new StandupReport(cs, kb, wc);
            string        path   = report.GenerateReport(offset);

            if (showOnCompletion && path != "")
            {
                Process p = new Process();
                p.StartInfo = new ProcessStartInfo(path);
                p.Start();
            }
        }
Exemplo n.º 2
0
        private async void Init()
        {
            #region WeatherClientInit
            string wClientPath = string.Format(@"{0}\wClientSettings", Environment.CurrentDirectory);
            if (!File.Exists(wClientPath))
            {
                settings          = new ClientSettings();
                settings.DayCount = 5;
                settings.Locale   = "en";
                settings.Units    = "e";

                using (SearchDialog diag = new SearchDialog())
                {
                    diag.CancelButtonEx.Visible = false;

                    if (diag.ShowDialog() == DialogResult.OK)
                    {
                        settings.Location = (WeatherLocation)diag.SelectedItem.Tag;
                    }
                }

                await settings.Save(wClientPath);
            }
            else
            {
                settings = await ClientSettings.Load(wClientPath);
            }

            client = new WeatherClient(settings);
            client.WeatherDataReceived += Client_WeatherDataReceived;
            #endregion
        }
Exemplo n.º 3
0
        private static async Task CompleteDialog(IDialogContext context, ComplexWeatherForm state)
        {
            await context.PostAsync("Wait a sec. Thinking...", "en-US");

            var weatherClient = new WeatherClient("88597cb7a556c191905de0f52f23d7d6");
            string message;
            try
            {
                var forecastArray = await weatherClient.Forecast(state.City);
                var forecast = forecastArray?.SingleOrDefault(f => f.When.Date == state.Date?.Date);

                if (forecast != null)
                {
                    if (state.Parameter == ComplexParameterOptions.Humidity) { message = $"The humidity on {forecast.ShortDate} in {forecast.City} is {forecast.Humidity}\r\n"; }
                    else if (state.Parameter == ComplexParameterOptions.Pressure) { message = $"The pressure on {forecast.ShortDate} in {forecast.City} is {forecast.Pressure}\r\n"; }
                    else if (state.Parameter == ComplexParameterOptions.Temperature) { message = $"The temperature on {forecast.ShortDate} in {forecast.City} is {forecast.Temp}\r\n"; }
                    else { message = "Sorry, unknown parameter \"{parameter}\" requested... Try again"; }
                }
                else { message = "Sorry! I was not able to get the forecast."; }
            }
            catch (Exception)
            {
                message = $"Sorry! I was not able to get the forecast.";
            }

            await context.PostAsync(message, "en-US");
            context.Done<object>(null);
        }
Exemplo n.º 4
0
 public IndexModel(ILogger <IndexModel> logger, WeatherClient weatherClient, ProxyHttpClient proxyHttpClient)
 {
     _logger              = logger;
     this.weatherClient   = weatherClient;
     this.proxyHttpClient = proxyHttpClient ?? throw new System.ArgumentNullException(nameof(proxyHttpClient));
     Forecasts            = new WeatherForecast[] { };
 }
        public void Initialize()
        {
            var appSettingsMock = new Mock <IOptions <AppSettings> >();
            var httpClientMock  = new Mock <IHttpClientFactory>();

            _weatherClient = new WeatherClient(appSettingsMock.Object, httpClientMock.Object);
        }
Exemplo n.º 6
0
            // Syntax SIML


            public string Evaluate(Context parameter)
            {
                string cityname = ""; string cdeget = ""; string value = ""; string valvar = ""; bool flagok = true;

                if (parameter.Element.Attribute("City") != null)
                {
                    cityname = parameter.Element.Attribute("City").Value;
                }

                if (parameter.Element.Attribute("Value") != null)
                {
                    value = parameter.Element.Attribute("Value").Value;
                }

                // Get API Key in Bot User Settings
                string key = parameter.Bot.Settings["Weatherundergound_APIkey"].Value;
                // Get Bot User language
                String        querylanguage = parameter.User.Settings[botlanguage_variable].Value.ToUpper();
                WeatherClient client        = new WeatherClient(key);

                client.GetForecast(QueryType.GlobalCity, new QueryOptions()
                {
                    Country = "France", City = cityname, Language = querylanguage
                });



                return(valvar);
            }
        protected override void OnStart(string[] args)
        {
            //Set up MargieBot
            bot = new Bot();

            var responders = new List <AdamWeatherBotResponder>()
            {
                new AdamWeatherBotResponder()
            };

            foreach (var responder in responders)
            {
                bot.Responders.Add(responder);
            }

            //Set up WUnderground stuff
            string        WUnderkey    = ConfigurationManager.AppSettings["WUndergroundKey"];
            WeatherClient WUnderClient = new WeatherClient(WUnderkey);

            WeatherGetter.Client = WUnderClient;

            bot.ConnectionStatusChanged += (bool isConnected) => {
                if (!isConnected)
                {
                    bot.Connect(ConfigurationManager.AppSettings["SlackBotKey"]);
                    Console.WriteLine("-------------------------BOT RECONNECTED!-------------------------");
                }
            };

            bot.Connect(ConfigurationManager.AppSettings["SlackBotKey"]);
            Console.WriteLine("-------------------------BOT CONNECTED!-------------------------");
        }
Exemplo n.º 8
0
        //
        // GET: /Home/

        public async Task <ActionResult> Index()
        {
            ServicesModel model         = new ServicesModel();
            NewsClient    newsClient    = new NewsClient();
            WeatherClient weatherClient = new WeatherClient();

            model.AddMessage("Index запущен");

            model.AddMessage("Выполнение задачи получения новостей");

            // После вызова метода newsClient.GetNewsAsync() поток IIS вернется в пул потоков.
            // Поток, который был создан в методе GetNewsAsync() получив ответ от службы продолжит выполнение
            // данного метода действия.
            model.News = await newsClient.GetNewsAsync(); // задержка 2 секунды

            model.AddMessage("Выполнение задачи получения температуры");

            // На этом этапе будет создан еще один поток, предыдущий поток прекратит свою работу.
            model.Weather = await weatherClient.GetWeatherInfoAsync(); // задержка 2 секунды

            model.AddMessage("Index завершен");

            // ответ клиенту будет возвращать поток который был создан при вызове GetWeatherInfoAsync()
            return(View(model));
        }
Exemplo n.º 9
0
        public async Task OnGet([FromServices] WeatherClient client)
        {
            Name      = "Tye 5";
            Forecasts = await client.GetWeatherAsync();

            _logger.LogDebug("Index.html visited!");
        }
Exemplo n.º 10
0
        //
        // GET: /Home/

        // В данном контроллере метод IndexAsync будет выполнен потоком из пула потоков IIS
        // Во время выполнения метода IndexAsync будет запущено несколько асинхронных задач.
        // Когда все асинхронные задачи завершат работу в отдельном потоке
        // будет запущен метод IndexCompleted, который вернет ответ клиенту.

        // В данном случае поток из пула IIS будет блокирован минимальное время и сможет обработать большее
        // количество входящих запросов.

        public void IndexAsync()
        {
            ServicesModel model         = new ServicesModel();
            NewsClient    newsClient    = new NewsClient();
            WeatherClient weatherClient = new WeatherClient();

            AsyncManager.Parameters["model"] = model;

            model.AddMessage("IndexAsync запущен");

            AsyncManager.OutstandingOperations.Increment(); // указываем, что появляется новая асинхронная задача. (счетчик +1)
            newsClient.BeginGetNews(ar =>
            {
                model.AddMessage("Выполнение задачи получения новостей");
                model.News = newsClient.EndGetNews(ar);
                AsyncManager.OutstandingOperations.Decrement(); // указываем, что асинхронная задача завершена. (счетчик -1)
            });

            AsyncManager.OutstandingOperations.Increment(); // указываем, что появляется новая асинхронная задача. (счетчик +1)
            weatherClient.BeginGetTempereture(ar =>
            {
                model.AddMessage("Выполнение задачи получения температуры");
                model.Weather = weatherClient.EndGetWeatherInfo(ar);
                AsyncManager.OutstandingOperations.Decrement(); // указываем, что асинхронная задача завершена. (счетчик -1)
            });
        }
Exemplo n.º 11
0
        public async Task <string> BuildResult()
        {
            WeatherClient OWM = new WeatherClient("88597cb7a556c191905de0f52f23d7d6");
            var           res = await OWM.Forecast(Location);

            var           r  = res[Offset];
            StringBuilder sb = new StringBuilder();

            if (Measure(Measurement.Temp))
            {
                sb.Append($"The temperature on {r.Date} in {Location} is {r.Temp}\r\n");
            }
            if (Measure(Measurement.Pressure))
            {
                sb.Append($"The pressure on {r.Date} in {Location} is {r.Pressure}\r\n");
            }
            if (Measure(Measurement.Humidity))
            {
                sb.Append($"Humidity on {r.Date} in {Location} is {r.Humidity}\r\n");
            }
            if (sb.Length == 0)
            {
                return("I do not understand");
            }
            else
            {
                return(sb.ToString());
            }
        }
Exemplo n.º 12
0
        public WindModel GetWeatherWind(string cityName = "Kazan")
        {
            WeatherClient client       = new WeatherClient(m_accessKey);
            var           resourceData = client.GetCurrentWeatherSourceDataAsync <OpenWeatherMapModel>(cityName, "en").Result;
            var           resultData   = client.GetCurrentWindResultDataAsync(_logger, cityName, resourceData);

            return(resultData.Result);
        }
Exemplo n.º 13
0
 public WeatherClientTests()
 {
     _httpClient     = new Mock <IHttpClient>();
     _logger         = new Mock <ILogger>();
     _weatherResults = @"<?xml version=""1.0"" encoding=""UTF - 8""?><report><time/><coords><x>3916.234</x><y>169.914</y><z>6.33</z></coords><code>NMR</code><message>Another day of everyday normal regular weather, business as usual, unless it’s going to be like the time of the Great Paprika Mayonnaise Incident of 2014, that was some pretty nasty stuff.</message><varX-Rating>8</varX-Rating></report>";
     _httpClient.Setup(x => x.DoGet(It.IsAny <string>())).Returns(Task.FromResult(_weatherResults));
     _weatherClient = new WeatherClient(_httpClient.Object, _logger.Object, "uri");
 }
Exemplo n.º 14
0
        public IEnumerable <WeatherModel> GetWeatherTemperatures5Days(string cityName = "Kazan", string metric = "celsius")
        {
            WeatherClient client       = new WeatherClient(m_accessKey);
            var           resourceData = client.GetFiveDayForecastApiAsync <WeatherFiveDaysData>(cityName, "en").Result;
            var           resultData   = client.GetWeather5DaysResultDataAsync(_logger, cityName, metric, resourceData);

            return(resultData.Result);
        }
Exemplo n.º 15
0
 public MainPage()
 {
     InitializeComponent();
     client = new WeatherClient(this);
     client.getWeather();
     // Código de ejemplo para traducir ApplicationBar
     //BuildLocalizedApplicationBar();
 }
Exemplo n.º 16
0
        public WeatherModel GetWeatherTemperature(string cityName = "Kazan", string metric = "celsius")
        {
            WeatherClient client       = new WeatherClient(m_accessKey);
            var           resourceData = client.GetCurrentWeatherSourceDataAsync <OpenWeatherMapModel>(cityName, "en").Result;
            var           resultData   = client.GetCurrentWeatherResultDataAsync(_logger, cityName, metric, resourceData);

            return(resultData.Result);
        }
 public GetByCityIdHandler(
     WeatherClient weatherClient,
     IPublishEndpoint publishEndpoint,
     IMapper mapper)
 {
     _weatherClient   = weatherClient;
     _publishEndpoint = publishEndpoint;
     _mapper          = mapper;
 }
Exemplo n.º 18
0
        async Task GetWeatherAsync(ServicesModel model)
        {
            model.AddMessage("Запуск получения погоды");
            WeatherClient weatherClient = new WeatherClient();

            model.Weather = await weatherClient.GetWeatherInfoAsync();

            model.AddMessage("Завершение получения погоды");
        }
 public GetByCityNameFromXmlResponseHandler(
     WeatherClient weatherClient,
     IPublishEndpoint publishEndpoint,
     IMapper mapper)
 {
     _weatherClient   = weatherClient;
     _publishEndpoint = publishEndpoint;
     _mapper          = mapper;
 }
Exemplo n.º 20
0
        private void SearchDialog_Load(object sender, EventArgs e)
        {
            ClientSettings settings = new ClientSettings();

            settings.Locale = "en";

            client = new WeatherClient(settings, null);
            client.SearchDataReceived += Client_SearchDataReceived;
        }
Exemplo n.º 21
0
        public Task StartAsync(CancellationToken cancellationToken)
        {
            _client = new WeatherClient(_configuration.ApiKey);

            _runCts = CancellationTokenSource.CreateLinkedTokenSource(cancellationToken);

            _runTask = RunAsync(_runCts.Token);

            return(Task.CompletedTask);
        }
Exemplo n.º 22
0
        public void TestGetWeatherLondon()
        {
            using (WeatherClient client = new WeatherClient(uri))
            {
                string  city   = "London";
                Weather result = client.GetWeatherAsync(city).Result;

                Assert.AreEqual(city, result.City);
            }
        }
        public void TestGetWeatherLondon()
        {
            using (WeatherClient client = new WeatherClient(uri))
            {
                string  city   = "London";
                Weather result = client.GetWeatherResilientAsync(city).Result;

                StringAssert.Contains(result.City, city);
                StringAssert.Contains(result.City, "fallback"); // in case of fallback -> is added to city name
            }
        }
Exemplo n.º 24
0
        public void GetOneCallApiTest()
        {
            WeatherClient qWMClient = new WeatherClient(AccessKey);

            // OneCallExclude[] oneCallExcludes = { OneCallExclude.Current, OneCallExclude.Daily };

            foreach (Сoordinates coord in _citiesCoordinates)
            {
                OneCallModel data = qWMClient.GetOneCallApiAsync <OneCallModel>(coord.Lat, coord.Lon, "en").Result;
            }
        }
Exemplo n.º 25
0
        public static IWeatherService ResolveWeatherService()
        {
            var configuration = new ConfigurationBuilder <ClientConfiguration>()
                                .FromResource("Weather.Api.Config.ClientConfiguration.json")
                                .AsJsonFormat()
                                .BuildForEnvironment("dev");

            var client  = new WeatherClient(configuration.ApiUrl);
            var service = new WeatherService(client, configuration);

            return(service);
        }
Exemplo n.º 26
0
        public static async Task gRPCTest()
        {
            System.Console.WriteLine("Retrieving gRPC weather forecast info...");
            AppContext.SetSwitch("System.Net.Http.SocketsHttpHandler.Http2UnencryptedSupport", true);

            // Allow http: This switch must be set before creating the GrpcChannel/HttpClient. https://docs.microsoft.com/en-us/aspnet/core/grpc/troubleshoot?view=aspnetcore-3.1#call-insecure-grpc-services-with-net-core-client
            var channel = GrpcChannel.ForAddress("https://*****:*****@reply}");
        }
Exemplo n.º 27
0
        public void CreateWithOnlyApiKey_CreatedWithDefaultSettings()
        {
            var weatherClient = new WeatherClient(apiKey);

            Assert.AreEqual(apiKey, weatherClient.Settings.AppId);
            Assert.AreEqual("2.5", weatherClient.Settings.Version);
            Assert.AreEqual("api.openweathermap.org/data", weatherClient.Settings.BaseURL);
            Assert.IsFalse(weatherClient.Settings.ThrowOnError);
            Assert.AreEqual(3, weatherClient.Settings.Retries);
            Assert.AreEqual(TimeSpan.FromSeconds(1), weatherClient.Settings.TimeBetweenRetries);
            Assert.IsFalse(weatherClient.Settings.ExponentialBackoffInRetries);
        }
Exemplo n.º 28
0
        public Task <ForecastWeather> GetForecastWeatherAsync(Coordinates coords, WeatherClient clientType = WeatherClient.Yahoo, CancellationToken cancellationToken = default(CancellationToken))
        {
            switch (clientType)
            {
            case WeatherClient.Yahoo:
                return(_yahooWeatherClient.GetForecastWeatherByLocationAsync(coords, cancellationToken));

            case WeatherClient.DarkSky:
                return(_darkSkyClient.GetForecastWeatherByLocationAsync(coords, cancellationToken));
            }

            throw new InvalidOperationException($"Weather client of type '{clientType}' does not have a handler.");
        }
Exemplo n.º 29
0
        public async Task OnGet([FromServices] WeatherClient client)
        {
            Forecasts = await client.GetWeatherAsync();

            if (Forecasts.Count() == 0)
            {
                ErrorMessage = "We are unable to fetch weather info right now. Please try again after some time.";
            }
            else
            {
                ErrorMessage = string.Empty;
            }
        }
Exemplo n.º 30
0
        public void GetHourlyForecastLimitedHoursTest()
        {
            // https://openweathermap.org/api/hourly-forecast
            var qWMClient = new WeatherClient(AccessKey, WeatherClient.DefaultApiTimeoutSec, WeatherClient.DefaultProApiUrl);

            foreach (Сoordinates coord in _citiesCoordinates)
            {
                var data = qWMClient.GetHourlyForecastApiAsync <HourlyForecastModel>(coord.Lat, coord.Lon, "en", 6).Result;

                Assert.AreEqual(6, data.NumHourlyForecasts);
                Assert.AreEqual(6, data.HourlyForecasts.Count);
            }
        }
Exemplo n.º 31
0
        static async Task Main(string[] args)
        {
            Console.WriteLine("5 day forecast:");

            var client    = new WeatherClient(new ApiConfiguration());
            var forecasts = await client.FivedaysAsync();

            foreach (var forecast in forecasts)
            {
                Console.WriteLine($"{forecast.Date}: {forecast.TemperatureC} {forecast.TemperatureF} {forecast.Summary}");
            }

            Console.ReadKey();
        }
		public WeatherMiddleware(OwinMiddleware next, WeatherClient client)
			: base(next)
		{
			_client = client;
		}