public override void Delete(Location location) { if (location.EntityState == System.Data.EntityState.Detached) { this._entities.Locations.Attach(location); } this._entities.Locations.DeleteObject(location); }
public List<Weather> FindWeather(Location location) { var weather = this._repository .QueryWeather() .Where(u => u.LocationID == location.LocationID) .ToList(); if (weather == null || weather.Count == 0) { var webService = new WeatherWebService(); weather = webService.FindWeather(location); location.NextUpdate = webService.NextUpdate; this._repository.Update(location); foreach (var item in weather) { this._repository.Add(item); } this._repository.Save(); } if (!weather.Any() || location.NextUpdate < DateTime.Now) { weather.ToList() .ForEach(t => this._repository.Delete(t)); weather.Clear(); var webService = new WeatherWebService(); webService.FindWeather(location) .ForEach(t => weather.Add(t)); location.NextUpdate = webService.NextUpdate; foreach (var item in weather) { this._repository.Add(item); } //Krashar här... this._repository.Update(location); // ...save the changes in the database. this._repository.Save(); } return weather.ToList(); }
public override void Update(Location location) { ObjectStateEntry entry; if(!this._entities.ObjectStateManager.TryGetObjectStateEntry(location, out entry) || entry.State == System.Data.EntityState.Detached) { this._entities.Locations.Attach(location); } if(location.EntityState != System.Data.EntityState.Modified) { this._entities.ObjectStateManager.ChangeObjectState(location, System.Data.EntityState.Modified); } }
public List<Weather> FindWeather(Location location) { // Load the response from the webservice into an XML document. //document = XDocument.Load(HttpContext.Current.Server.MapPath("~/App_Data/scottgu_timeline.xml")); string requestUriString = String.Format(@"http://www.yr.no/place/{0}/{1}/{2}/forecast.xml", location.Country, location.County, location.City); var document = LoadDocument(requestUriString); NextUpdate = DateTime.Parse((from nu in document.Descendants("nextupdate") select nu).SingleOrDefault().Value); ; return (from time in document.Descendants("time") // Alla time noder. where Int32.Parse(time.Attribute("period").Value) >= 2 // Där period är större än 2. group time by DateTime.Parse(time.Attribute("from").Value).Date into g // Gruppera varje nodes perioders värde. Sätter in dem i gruppen g. select (from t in g select t).First()) // Så väljs den första i varje par. .Take(5).Select(forecast => WeatherFactory.Create(forecast, location.LocationID)).ToList(); }
public ActionResult Weather(Location loc) { try { var service = new WeatherService(); var model = new LocationIndexViewModel(); model.Lat = loc.Lat; model.Lng = loc.Lng; model.Weathers = service.FindWeather(loc); return View("Weather", model); } catch (Exception ex) { ModelState.AddModelError(String.Empty, ex.Message); } return View("Error"); }
public override void Add(Location location) { this._entities.Locations.AddObject(location); }
/// <summary> /// Create a new Location object. /// </summary> /// <param name="locationID">Initial value of the LocationID property.</param> /// <param name="city">Initial value of the City property.</param> /// <param name="country">Initial value of the Country property.</param> public static Location CreateLocation(global::System.Int32 locationID, global::System.String city, global::System.String country) { Location location = new Location(); location.LocationID = locationID; location.City = city; location.Country = country; return location; }
/// <summary> /// Deprecated Method for adding a new object to the Locations EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. /// </summary> public void AddToLocations(Location location) { base.AddObject("Locations", location); }