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) }); }
/** * @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); }