public void UpdateDatabase() { using (var context = new IsraelHikingDbContext()) { var list = context.SiteUrls.ToList(); foreach (var siteUrl in list) { //var dataContainerOld = JsonConvert.DeserializeObject<DataContainerOld>(siteUrl.JsonData); var dataContainerOld = JsonConvert.DeserializeObject <DataContainer>(siteUrl.JsonData); if (dataContainerOld.routes.Count == 0)// && dataContainerOld.markers.Count == 0) { continue; } var dataContainerNew = new DataContainer { baseLayer = dataContainerOld.baseLayer, northEast = dataContainerOld.northEast, southWest = dataContainerOld.southWest, overlays = dataContainerOld.overlays, routes = dataContainerOld.routes.Select(old => new RouteData { name = old.name, segments = old.segments }).ToList() }; //if (dataContainerOld.markers.Any()) //{ // if (!dataContainerNew.routes.Any()) // { // dataContainerNew.routes.Add(new RouteData { name = "Markers" }); // } // dataContainerNew.routes.First().markers = dataContainerOld.markers; //} var jsonData = JsonConvert.SerializeObject(dataContainerNew, Formatting.None, new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore }); siteUrl.JsonData = jsonData; context.Entry(siteUrl).State = EntityState.Modified; } context.SaveChanges(); } }
public void NoDatabaseFile_CreateDatabase_DatabaseShouldBeCreated() { if (File.Exists(TEST_SQLITE_FILE_NAME)) { File.Delete(TEST_SQLITE_FILE_NAME); } using (var context = new IsraelHikingDbContext()) { var list = context.SiteUrls.ToList(); Assert.AreEqual(0, list.Count); Assert.IsTrue(File.Exists(TEST_SQLITE_FILE_NAME)); } var id = "42"; using (var context = new IsraelHikingDbContext()) { context.SiteUrls.Add(new SiteUrl { Id = id }); context.SaveChanges(); } using (var context = new IsraelHikingDbContext()) { Assert.AreEqual(1, context.SiteUrls.Count()); } using (var context = new IsraelHikingDbContext()) { var siteUrlToUpdate = new SiteUrl { Id = id, Title = "title" }; context.Entry(siteUrlToUpdate).State = EntityState.Modified; context.SaveChanges(); } using (var context = new IsraelHikingDbContext()) { Assert.IsNotNull(context.SiteUrls.FirstOrDefault(x => x.Title == "title")); } }