Ejemplo n.º 1
0
        private async Task <IWidget> CreateWeatherWidget(WidgetSetting data)
        {
            float latitude;
            float longitude;

            if (data.Params == null || data.Params.Length == 0)
            {
                return(null);
            }
            var parameters = data.Params.Split(';');

            if (parameters.Length == 1)
            {
                return new WidgetWeather {
                           IdWidget = data.Id, Data = await _wModel.GetWeatherByLocation(parameters[0])
                }
            }
            ;
            try {
                latitude = float.Parse(parameters[0], CultureInfo.InvariantCulture);

                longitude = float.Parse(parameters[1], CultureInfo.InvariantCulture);
            }
            catch (Exception) {
                return(null);
            }
            return(new WidgetWeather {
                IdWidget = data.Id, Data = await _wModel.GetWeatherByCoord(latitude, longitude)
            });
        }
Ejemplo n.º 2
0
        /**
         * @brief add the weather widget from his location from a string
         *
         * @return a bool
         */
        public async Task <bool> AddWeather(string location)
        {
            WeatherData res = await _wModel.GetWeatherByLocation(location);

            if (res.Name == null || res.Name == "" || res.Main == null)
            {
                return(false);
            }
            var currentUser = this.User.FindFirstValue(ClaimTypes.NameIdentifier);

            if (currentUser != null)
            {
                _widgetsSettings.AddWidget(currentUser, WidgetsId.WEATHER, res.Name);
            }
            return(true);
        }