SaveResult InsertTestDataBaseLineIntoDb(PersistManager <BloggerContextPg> uut) { var blog = new Blog { Id = -1, Url = "www.example.com" }; var blogEntityAspect = new EntityAspect(blog, EntityState.Added); var post = new Post { BlogId = -1, Content = "I am content", Id = -2, Title = "this is the title", CreatedAt = Instant.FromUtc(2002, 10, 8, 6, 4) }; var postEntityAspect = new EntityAspect(post, EntityState.Added); var saveBundle0 = new ClientSaveBundle(); saveBundle0.AddEntity(blogEntityAspect); saveBundle0.AddEntity(postEntityAspect); var parsedSaveBundle = JObject.Parse(saveBundle0.ToJson()); var saveResult = uut.SaveChanges(parsedSaveBundle.ToString()); return(saveResult); }
public void PersistManager_Delete_DependentEntity() { var uut = new PersistManager <BloggerContextPg>(); var ctx = new BloggerContextPg(); var blogs = ctx.Blogs.ToList(); var posts = ctx.Posts.ToList(); blogs.Count.Should().BeGreaterThan(0); posts.Count.Should().BeGreaterThan(0); var blogsToDelete = blogs.Select(b => new EntityAspect(b, EntityState.Deleted)).ToList(); var postsToDelete = posts.Select(p => new EntityAspect(p, EntityState.Deleted)).ToList(); var saveBundle0 = new ClientSaveBundle(); blogsToDelete.ForEach(b => saveBundle0.AddEntity(b)); postsToDelete.ForEach(p => saveBundle0.AddEntity(p)); var parsedSaveBundle = JObject.Parse(saveBundle0.ToJson()); var saveResultOfDelete = uut.SaveChanges(parsedSaveBundle.ToString()); var postDeleteBlogs = uut.Context.Blogs.ToList(); postDeleteBlogs.Count.Should().Be(0); saveResultOfDelete.DeletedKeys.Count.Should().Be(blogs.Count + posts.Count); }
/// <summary> /// 初期化が必要であれば初期化する処理 /// </summary> private void init() { _clickParts = _clickParts == null ? new DataSharingManager.Object() : _clickParts; _clickPane = _clickPane == null ? new DataSharingManager.Object() : _clickPane; _tokenTray = _tokenTray == null ? new TokenTray() : _tokenTray; _finalizers = _finalizers == null ? new FinalizeManageBuffer() : _finalizers; _persister = _persister == null ? new PersistManager() : _persister; _timer = _timer == null ? new GuiTimer() : _timer; }
public void OneTimeSetup() { /// make sure w have a fresh and empty DB . using (var setupCtx = new BloggerContextPg()) { setupCtx.Database.EnsureDeleted(); setupCtx.Database.EnsureCreated(); } UUT = new PersistManagerWithNoda(); }