public void InsertOrUpdate_NewObjectProvided_CreatedSuccessfully()
        {
            T entity = CreateEntity();

            InsertOrUpdate(entity);
            Console.WriteLine(CreatedEntity.DumpToString());
            Assert.True(CreatedEntity.CreatedAt != null);
        }
Exemple #2
0
        public void InsertOrUpdate_RemoveRole_RemovedSuccessfully()
        {
            CreateUserWithRole();
            CreatedEntity.RemoveRoleByName(TestRoleName);
            InsertOrUpdate(CreatedEntity);
            User createdUser = UnitOfWork.GetById <User>(CreatedEntity.Id);

            Assert.Equal(0, createdUser.UserRoles.Count);
        }
        public async void GetAll_CreatedEntityIdProvided_RetrievedSuccessfully()
        {
            T entity = CreateEntity();

            InsertOrUpdate(entity);
            Console.WriteLine(CreatedEntity.DumpToString());
            IList <T> allEntities = await unitOfWork.GetAll <T>().ToListAsync();

            Assert.NotNull(allEntities.FirstOrDefault(x => x.Id == CreatedEntity.Id));
        }
        public void GetById_CreatedEntityIdProvided_RetrievedSuccessfully()
        {
            T entity = CreateEntity();

            InsertOrUpdate(entity);
            Console.WriteLine(CreatedEntity.DumpToString());
            T result = unitOfWork.GetById <T>(CreatedEntity.Id);

            Assert.NotNull(entity);
        }
        public void Delete_CreatedEntityProvided_DeletedSuccessfully()
        {
            T entity = CreateEntity();

            InsertOrUpdate(entity);
            Console.WriteLine(CreatedEntity.DumpToString());
            unitOfWork.Delete(CreatedEntity);
            SaveChanges();
            BaseEntity result = unitOfWork.GetById <T>(CreatedEntity.Id);

            Assert.Null(result);
        }
Exemple #6
0
        private CreatedEntity CreateInstanceGraph(Type resultType, Row row, IEnumerable <ObjectRelation> relations, EntityCache entityCache, string primaryAlias)
        {
            CreatedEntity rootObject = null;

            var relationsList = relations.ToList();

            MovePrimaryRelationToFront(primaryAlias, relationsList);

            foreach (var relation in relationsList)
            {
                var instance = CreateInstanceGraph(resultType, row, relation, entityCache, primaryAlias);

                rootObject = rootObject ?? instance;
            }

            return(rootObject);
        }
Exemple #7
0
        private CreatedEntity CreateInstanceGraph(Type resultType, Row row, ObjectRelation relation, EntityCache entityCache, string primaryAlias)
        {
            var childType  = relation.ChildType;
            var parentType = relation.ParentType;

            var child  = CreateInstance(childType, row, entityCache, relation.ChildAlias);
            var parent = CreateInstance(parentType, row, entityCache, relation.ParentAlias);

            ConnectEntities(relation, child, parent);

            if (Matches(relation.ChildAlias, primaryAlias))
            {
                return(CreatedEntity.Primary(child));
            }
            if (Matches(relation.ParentAlias, primaryAlias))
            {
                return(CreatedEntity.Primary(parent));
            }

            return(resultType == childType?CreatedEntity.Ordinary(child) : CreatedEntity.Ordinary(parent));
        }
Exemple #8
0
 private void OnCreatedEntity(ILibraryEntity obj)
 {
     CreatedEntity?.Invoke(obj);
     OnDataUpdated(obj.GetType());
 }