public KnowledgeGroupViewModel( IRepositoryFactory<ICustomerRepository> repositoryFactory, IViewModelsFactory<IKnowledgeGroupViewModel> groupVmFactory, ICustomerRepository customerRepository, ICustomerEntityFactory entityFactory, KnowledgeBaseGroup item) : base(null, null) { _repositoryFactory = repositoryFactory; _groupVmFactory = groupVmFactory; CustomersRepository = customerRepository; _originalItem = item; InnerItem = _originalItem.DeepClone(entityFactory as IKnownSerializationTypes); _innerItem.PropertyChanged += _innerItem_PropertyChanged; EmbeddedHierarchyEntry = this; }
public void KnowledgeBaseGroup_AddArticle() { // create group and arcicle KnowledgeBaseGroups var g = new KnowledgeBaseGroup() { Name = "g", Title = "g" }; var a = new KnowledgeBaseArticle() { Title = "a", Body = "a" }; string g_Id = g.KnowledgeBaseGroupId; string a_Id = a.KnowledgeBaseArticleId; var repository = GetRepository(); EndTestAction.Add((() => { repository.Remove(a); repository.Remove(g); repository.UnitOfWork.Commit(); })); // add created items to DB repository.Attach(g); repository.Add(g); repository.UnitOfWork.Commit(); a.GroupId = g.KnowledgeBaseGroupId; repository.Attach(a); repository.Add(a); repository.UnitOfWork.Commit(); //KnowledgeBaseGroup is saved correctly? var a_check = repository.KnowledgeBaseArticles.Where(x => x.KnowledgeBaseArticleId == a_Id).SingleOrDefault(); var g_check = repository.KnowledgeBaseGroups.Where(x => x.KnowledgeBaseGroupId == g_Id).SingleOrDefault(); Assert.IsTrue(g_check != null && g_check.KnowledgeBaseGroupId == g_Id); Assert.IsTrue(a_check != null && a_check.KnowledgeBaseArticleId == a_Id && a_check.GroupId == g_check.KnowledgeBaseGroupId); }
public void KnowledgeBaseGroup_AddChild() { // create two KnowledgeBaseGroups var a = new KnowledgeBaseGroup() { Name = "a", Title = "a" }; var b = new KnowledgeBaseGroup() { Name = "b", Title = "b" }; string a_Id = a.KnowledgeBaseGroupId; string b_Id = b.KnowledgeBaseGroupId; var repository = GetRepository(); EndTestAction.Add((() => { repository.Remove(b); repository.Remove(a); repository.UnitOfWork.Commit(); })); // add created groups to DB repository.Attach(a); repository.Add(a); repository.UnitOfWork.Commit(); b.Parent = a; b.ParentId = a.KnowledgeBaseGroupId; repository.Attach(b); repository.Add(b); repository.UnitOfWork.Commit(); //KnowledgeBaseGroup is saved correctly? var a_check = repository.KnowledgeBaseGroups.Where(x => x.KnowledgeBaseGroupId == a_Id).SingleOrDefault(); var b_check = repository.KnowledgeBaseGroups.Where(x => x.KnowledgeBaseGroupId == b_Id).SingleOrDefault(); Assert.IsTrue(a_check != null && a_check.KnowledgeBaseGroupId == a_Id); Assert.IsTrue(b_check != null && b_check.KnowledgeBaseGroupId == b_Id && b_check.ParentId == a_check.KnowledgeBaseGroupId); }
public void KnowledgeBaseGroup_DbOperationTest() { KnowledgeBaseGroup a = new KnowledgeBaseGroup() { Name = "a", Title = "a" }; string a_Id = a.KnowledgeBaseGroupId; ICustomerRepository repository = GetRepository(); repository.Attach(a); EndTestAction.Add((() => { repository.Remove(a); repository.UnitOfWork.Commit(); })); // add created group to DB repository.Add(a); repository.UnitOfWork.Commit(); //KnowledgeBaseGroup is added to DB correctly? KnowledgeBaseGroup a_check = repository.KnowledgeBaseGroups.Where(x => x.KnowledgeBaseGroupId == a_Id).SingleOrDefault(); Assert.IsTrue(a_check != null && a_check.KnowledgeBaseGroupId == a_Id); a.Name = "aa"; repository.UnitOfWork.Commit(); a_check = repository.KnowledgeBaseGroups.Where(x => x.KnowledgeBaseGroupId == a_Id).SingleOrDefault(); Assert.IsTrue(a_check != null && a_check.KnowledgeBaseGroupId == a_Id && a_check.Name == "aa"); //KnowledgeBaseGroup delete repository.Remove(a); repository.UnitOfWork.Commit(); //KnowledgeBaseGroup is delete correctly a_check = repository.KnowledgeBaseGroups.Where(x => x.KnowledgeBaseGroupId == a_Id).SingleOrDefault(); Assert.IsNull(a_check); }
public void CreateEmptyKnowledgeBaseGroup() { var client = GetRepository(); var baseToDb = new KnowledgeBaseGroup(); baseToDb.Title = "testGroup"; baseToDb.Name = "testGroup"; var parentBaseToDb = new KnowledgeBaseGroup(); parentBaseToDb.Title = "parentGroup"; parentBaseToDb.Title = "parentGroup"; baseToDb.ParentId = parentBaseToDb.KnowledgeBaseGroupId; client.Add(parentBaseToDb); client.Add(baseToDb); client.UnitOfWork.Commit(); }