Пример #1
0
        }//GetMaxMinTides

        //Using Weather Fisher API https://github.com/RicardsGraudins/Weather-Fisher-API
        public async static Task<RootObjectExtreme> GetCounty(string county)
        {
            var http = new HttpClient();
            var url = String.Format("https://worldtidesforecast20171125090607.azurewebsites.net/?county={0}", county);
            var response = await http.GetAsync(url);
            var result = await response.Content.ReadAsStringAsync();

            RootObjectExtreme deserializedObject = new RootObjectExtreme();
            MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(result));
            DataContractJsonSerializer ser = new DataContractJsonSerializer(deserializedObject.GetType());
            deserializedObject = ser.ReadObject(ms) as RootObjectExtreme;

            return deserializedObject;
        }//GetCounty
Пример #2
0
        }//CurrentWeather

        public async void CurrentTidesExtreme()
        {
            try
            {
                var currentPosition = await GeoLocationService.GetPosition();
                RootObjectExtreme myTides = await Model.WorldTidesExtremeService.GetMaxMinTides(currentPosition.Coordinate.Point.Position.Latitude, currentPosition.Coordinate.Point.Position.Longitude);

                //WorldTides JSON provides 7 high/low tides - only going to use 4 on this page, ideally 2 high & 2 low for the same day
                //Set variables for the time of high/low tides
                var tideTime = "";
                var tide = myMethods.getDate(myTides.extremes[0].dt);
                var tide1 = myMethods.getDate(myTides.extremes[1].dt);
                var tide2 = myMethods.getDate(myTides.extremes[2].dt);
                var tide3 = myMethods.getDate(myTides.extremes[3].dt);

                //Display tide type - high/low
                TideTypeBlock.Text = myTides.extremes[0].type;
                TideTypeBlock1.Text = myTides.extremes[1].type;
                TideTypeBlock2.Text = myTides.extremes[2].type;
                TideTypeBlock3.Text = myTides.extremes[3].type;

                //Display the time of high/low tides
                tideTime = tide.ToString("dddd H:mm");
                TideTimeBlock.Text = tideTime;
                tideTime = tide1.ToString("dddd H:mm");
                TideTimeBlock1.Text = tideTime;
                tideTime = tide2.ToString("dddd H:mm");
                TideTimeBlock2.Text = tideTime;
                tideTime = tide3.ToString("dddd H:mm");
                TideTimeBlock3.Text = tideTime;

                //Display the station that retrieved worldtides data
                WorldTidesStation.Text = string.Format("WorldTides Station: {0}", myTides.station);
            }//Try
            catch
            {
                //Popup already displayed by currentWeather
            }//Catch
        }//CurrentTidesExtreme
        }//ForecastTides

        public async void ForecastTidesWeatherFisher(string county)
        {
            try
            {
                RootObjectExtreme myTides = await Model.WorldTidesExtremeService.GetCounty(county);

                var tideTime = "";
                var tide = myMethods.getDate(myTides.extremes[0].dt);
                var tide1 = myMethods.getDate(myTides.extremes[1].dt);
                var tide2 = myMethods.getDate(myTides.extremes[2].dt);
                var tide3 = myMethods.getDate(myTides.extremes[3].dt);
                var tide4 = myMethods.getDate(myTides.extremes[4].dt);
                var tide5 = myMethods.getDate(myTides.extremes[5].dt);
                var tide6 = myMethods.getDate(myTides.extremes[6].dt);

                //Display tide date
                tideTime = tide.ToString("ddd dd MMM");
                Date0.Text = tideTime;
                tideTime = tide1.ToString("ddd dd MMM");
                Date1.Text = tideTime;
                tideTime = tide2.ToString("ddd dd MMM");
                Date2.Text = tideTime;
                tideTime = tide3.ToString("ddd dd MMM");
                Date3.Text = tideTime;
                tideTime = tide4.ToString("ddd dd MMM");
                Date4.Text = tideTime;
                tideTime = tide5.ToString("ddd dd MMM");
                Date5.Text = tideTime;
                tideTime = tide6.ToString("ddd dd MMM");
                Date6.Text = tideTime;

                //Display the time of high/low tides
                tideTime = tide.ToString("t");
                Time0.Text = tideTime;
                tideTime = tide1.ToString("t");
                Time1.Text = tideTime;
                tideTime = tide2.ToString("t");
                Time2.Text = tideTime;
                tideTime = tide3.ToString("t");
                Time3.Text = tideTime;
                tideTime = tide4.ToString("t");
                Time4.Text = tideTime;
                tideTime = tide5.ToString("t");
                Time5.Text = tideTime;
                tideTime = tide6.ToString("t");
                Time6.Text = tideTime;

                //Display tide type
                Tide0.Text = myTides.extremes[0].type;
                Tide1.Text = myTides.extremes[1].type;
                Tide2.Text = myTides.extremes[2].type;
                Tide3.Text = myTides.extremes[3].type;
                Tide4.Text = myTides.extremes[4].type;
                Tide5.Text = myTides.extremes[5].type;
                Tide6.Text = myTides.extremes[6].type;

                //Display tide height
                Height0.Text = String.Format("{0} m", myTides.extremes[0].height);
                Height1.Text = String.Format("{0} m", myTides.extremes[1].height);
                Height2.Text = String.Format("{0} m", myTides.extremes[2].height);
                Height3.Text = String.Format("{0} m", myTides.extremes[3].height);
                Height4.Text = String.Format("{0} m", myTides.extremes[4].height);
                Height5.Text = String.Format("{0} m", myTides.extremes[5].height);
                Height6.Text = String.Format("{0} m", myTides.extremes[6].height);

                WorldTidesStation.Text = "WorldTides Station: Undefined";

                if (myTides.station != null)
                {
                    WorldTidesStation.Text = string.Format("WorldTides Station: {0}", myTides.station);
                }
            }//Try
            catch
            {
                myMethods.WeatherFisherAPIError();
            }
        }//ForestTidesWeatherFisher