Exemplo n.º 1
0
        private void LastPudderVarsel()
        {
            var Longitude = 70.4;
            var Latitude = 7.4;
            var data = new WeatherData();
            PudderVarsel = data.GetLocationForecast(Latitude, Longitude, FetchLocations(Latitude, Longitude), 100);
            foreach (var lokasjon in PudderVarsel)
            {
                //var t = new MetClient();
                var grunndata = MetClient.GetForecast(lokasjon.Latitude.ToString(), lokasjon.Longitude.ToString());

                var weatherData = data.ProcessResponse(grunndata);

                var filteredPowderData = Utils.GetRelevantPowderData(weatherData);
                var dayByDayPowderData = Utils.GetDailyPowderData(filteredPowderData);

                var byDayPowderData = dayByDayPowderData as IList<DagligPuddervarsel> ?? dayByDayPowderData.ToList();
                lokasjon.DagligVarsel = byDayPowderData;

                var totalPrecipitation = byDayPowderData.Sum(p => p.Precipitation);
                var threeDays = byDayPowderData.Where(p => p.From < DateTime.Now.AddDays(2)).Sum(t => t.Precipitation);
                lokasjon.ThreeDaysPrecipitation = threeDays;
                lokasjon.TotalPrecipitation = totalPrecipitation;

                //location.LocationUrl = string.Format("http://maps.google.no/maps?q=N+{0}+E+{1}",
                //                                     location.Latitude.ToString(ciUs), location.Longitude.ToString(ciUs));
            }

            var sortedPowder = PudderVarsel.Where(p => p != null).OrderByDescending(p => p.TotalPrecipitation);

            ListViewLocations.ItemsSource = sortedPowder;
        }
Exemplo n.º 2
0
        public void LoadData(System.Xml.Linq.XElement location, string name)
        {
            var data = new WeatherData();

            var dir = GetDir("Data");

            var path =  dir + "\\" + name + ".xml";
            data.SaveForecastToFile(location, path, dir);
        }
Exemplo n.º 3
0
        public void LoadData(System.Xml.Linq.XElement location, string name)
        {
            var data = new WeatherData();

            var codeBase = Assembly.GetExecutingAssembly().CodeBase;
            var uri = new UriBuilder(codeBase);
            var dir =  Path.GetDirectoryName(Uri.UnescapeDataString(uri.Path)) + "\\Data";
            var path = dir + "\\" + name + ".xml";
            data.SaveForecastToFile(location, path, dir);
        }
Exemplo n.º 4
0
        protected void DeleteDataButton_Click(object sender, EventArgs e)
        {
            var data = new WeatherData();
            var lokasjonerXml = FetchLocations();
            var locations = data.GetAllLocations(lokasjonerXml);

            foreach (var location in locations)
            {
                File.Delete(Server.MapPath(@"~/bin/Data/" + location.Name + ".xml"));
            }
        }
Exemplo n.º 5
0
        protected void SeeDataButton_Click(object sender, EventArgs e)
        {
            var data = new WeatherData();
            var lokasjonerXml = FetchLocations();
            var locations = data.GetAllLocations(lokasjonerXml);

            foreach (var location in locations)
            {

                var oFileInfo = new FileInfo(Server.MapPath(@"~/bin/Data/" + location.Name + ".xml"));
                Output.Text += oFileInfo.FullName + ": " + oFileInfo.CreationTime + " - " + oFileInfo.LastWriteTime + "<br/>";
            }
        }
Exemplo n.º 6
0
        private void LoadFreshData()
        {
            LoadDataButton.Enabled = false;

            var data = new WeatherData();
            var lokasjonerXml = FetchLocations();
            var locations = data.GetAllLocations(lokasjonerXml);
            var dir = Server.MapPath(@"~/bin/Data/");

            foreach (var lokasjon in locations)
            {
                var grunndata = MetClient.GetForecast(lokasjon.Latitude, lokasjon.Longitude);
                data.SaveForecastToFile(grunndata, Server.MapPath(@"~/bin/Data/" + lokasjon.Name + ".xml"), dir);
            }

            LoadDataButton.Enabled = true;
        }
Exemplo n.º 7
0
        private void LastPudderVarsel(string searchText, int distance)
        {
            var data = new WeatherData();
            PudderVarsel = data.GetLocationForecast(Latitude, Longitude, FetchLocations(), distance, searchText);
            

            foreach (var lokasjon in PudderVarsel)
            {
                var stopwatch = new Stopwatch();
                stopwatch.Start();
                var grunndata = MetClient.GetForecast(lokasjon.Latitude, lokasjon.Longitude);
                stopwatch.Stop();
                var test = stopwatch.Elapsed;
                TimeSpent += test.Milliseconds;


                var weatherData = data.ProcessResponse(grunndata);
                lokasjon.OppdatertDato = Utils.GetDate(grunndata.DescendantsAndSelf("model").FirstOrDefault(), "runended");
                lokasjon.NesteOppdateringDato = Utils.GetDate(grunndata.DescendantsAndSelf("model").FirstOrDefault(), "nextrun");

                var filteredPowderData = Utils.GetRelevantPowderData(weatherData);
                lokasjon.DetaljertVarsel = filteredPowderData;
                var dayByDayPowderData = Utils.GetDailyPowderData(filteredPowderData);

                var byDayPowderData = dayByDayPowderData as IList<DagligPuddervarsel> ?? dayByDayPowderData.ToList();
                lokasjon.DagligVarsel = byDayPowderData;

                var totalPrecipitation = byDayPowderData.Sum(p => p.Precipitation);
                var threeDays = byDayPowderData.Where(p => p.From < DateTime.Now.AddDays(2)).Sum(t => t.Precipitation);
                lokasjon.ThreeDaysPrecipitation = threeDays;
                lokasjon.TotalPrecipitation = totalPrecipitation;

                lokasjon.PrecipitationType = Utils.CalculatePrecipitationType(byDayPowderData);

                //location.LocationUrl = string.Format("http://maps.google.no/maps?q=N+{0}+E+{1}",
                //                                     location.Latitude.ToString(ciUs), location.Longitude.ToString(ciUs));
            }

            var sortedPowder = PudderVarsel.Where(p => p != null).OrderByDescending(p => p.TotalPrecipitation);

            ListViewLocations.DataSource = sortedPowder;
            ListViewLocations.DataBind();

            Session["PudderVarsel"] = PudderVarsel;
            time.Text = TimeSpent.ToString();
        }
Exemplo n.º 8
0
        private void FinnPudderButton_Click(object sender, RoutedEventArgs e)
        {
            if (string.IsNullOrEmpty(_locations.Result) || Longitude == 0)
            {
                return;
            }

            var data = new WeatherData();
            Lokasjoner = data.GetLocationForecast(Latitude, Longitude, _locations.Result, MaxDistance, string.Empty);
            foreach (var lokasjon in Lokasjoner)
            {
                //var t = new MetClient();
                var grunndata = MetClient.GetForecast(lokasjon.Latitude.ToString(), lokasjon.Longitude.ToString());

                var weatherData = data.ProcessResponse(grunndata);

                var filteredPowderData = Utils.GetRelevantPowderData(weatherData);
                var dayByDayPowderData = Utils.GetDailyPowderData(filteredPowderData);

                var byDayPowderData = dayByDayPowderData as IList<DagligPuddervarsel> ?? dayByDayPowderData.ToList();
                lokasjon.DagligVarsel = byDayPowderData;

                var totalPrecipitation = byDayPowderData.Sum(p => p.Precipitation);
                var threeDays = byDayPowderData.Where(p => p.From < DateTime.Now.AddDays(2)).Sum(t => t.Precipitation);
                lokasjon.ThreeDaysPrecipitation = threeDays;
                lokasjon.TotalPrecipitation = totalPrecipitation;

                //location.LocationUrl = string.Format("http://maps.google.no/maps?q=N+{0}+E+{1}",
                //                                     location.Latitude.ToString(ciUs), location.Longitude.ToString(ciUs));
            }

            var sortedPowder = Lokasjoner.Where(p => p != null).OrderByDescending(p => p.TotalPrecipitation);

            ListViewLocations.ItemsSource = sortedPowder;
            
            SetButtons();

            ResetButtons();
        }
Exemplo n.º 9
0
        private void LastPudderVarsel(string searchText, int distance)
        {
            var data = new WeatherData();
            PudderVarsel = data.GetLocationForecast(Latitude, Longitude, FetchLocations(), distance, searchText);

            foreach (var lokasjon in PudderVarsel)
            {
                XElement grunndata;

                var oFileInfo = new FileInfo(Server.MapPath(@"~/bin/Data/" + lokasjon.Name + ".xml"));
                //grunndata = MetClient.GetForecast(lokasjon.Latitude, lokasjon.Longitude);
                if (lokasjon.Name == "Din lokasjon" || oFileInfo.LastWriteTime < DateTime.Now.AddHours(-4))
                {
                    grunndata = MetClient.GetForecast(lokasjon.Latitude, lokasjon.Longitude);
                    lokasjon.HentetFraMet = true;
                }
                else
                    grunndata = data.GetForecastFromFile(Server.MapPath(@"~/bin/Data/" + lokasjon.Name + ".xml"));

                //txtOutput.Text = grunndata.ToString();
                var dagligVarsel = data.ProcessResponse(grunndata).Where(p => p != null);
                var dagligPuddervarselListe = dagligVarsel as IList<DagligPuddervarsel> ?? dagligVarsel.ToList();
                lokasjon.DagligVarsel = dagligPuddervarselListe;

                lokasjon.OppdatertDato = XmlHelper.GetDate(grunndata.DescendantsAndSelf("model").FirstOrDefault(), "runended");
                lokasjon.NesteOppdateringDato = XmlHelper.GetDate(grunndata.DescendantsAndSelf("model").FirstOrDefault(), "nextrun");
                lokasjon.SisteDataHenting = oFileInfo.LastWriteTime;

                //var totalPrecipitation = dagligPuddervarselListe.Sum(p => p.Precipitation);
                lokasjon.TotalPowder = dagligPuddervarselListe.Sum(p => p.Powder);
                lokasjon.ThreeDaysPowder = dagligPuddervarselListe.Where(p => p.Day < DateTime.Now.AddDays(2)).Sum(q => q.Powder);

                //lokasjon.PrecipitationType = Utils.CalculatePrecipitationType(weatherData);

                //location.LocationUrl = string.Format("http://maps.google.no/maps?q=N+{0}+E+{1}",
                //                                     location.Latitude.ToString(ciUs), location.Longitude.ToString(ciUs));
            }

            var sortedPowder = PudderVarsel.Where(p => p != null).OrderByDescending(p => p.TotalPowder);

            ListViewLocations.DataSource = sortedPowder;
            ListViewLocations.DataBind();

            Session["PudderVarsel"] = PudderVarsel;
        }