Пример #1
0
        static void CheckListOfObjects <T>(IOrientRepo targetRepo, List <T> unaddedObjects) where T : class, IOrientObjects.IOrientDefaultObject
        {
            T pc = null;

            foreach (T p in unaddedObjects)
            {
                pc = targetRepo.SelectFromType <T>("GUID='" + p.GUID + "'", null).FirstOrDefault();
                if (pc == null)
                {
                    try{
                        if (p.GetType().BaseType == typeof(V))
                        {
                            pc = targetRepo.CreateVertex <T>(p, null);
                        }
                        if (p.GetType().BaseType == typeof(E))
                        {
                            IOrientObjects.IOrientEdge   io    = p as IOrientObjects.IOrientEdge;
                            IOrientObjects.IOrientVertex vFrom = targetRepo.SelectByIDWithCondition <T>(io.In, null, null).FirstOrDefault() as IOrientObjects.IOrientVertex;
                            IOrientObjects.IOrientVertex vTo   = targetRepo.SelectByIDWithCondition <T>(io.Out, null, null).FirstOrDefault() as IOrientObjects.IOrientVertex;
                            pc = targetRepo.CreateEdge <IOrientObjects.IOrientDefaultObject>(p, vFrom, vTo, null) as T;
                        }
                    }catch (Exception e) { System.Diagnostics.Trace.WriteLine(e.Message); }
                }
            }
        }
Пример #2
0
        //FUNCTIONAL TESTS
        public static void UOWFunctionalCheck()
        {
            //GET CLASS
            Managers.Manager mngCl = new Managers.Manager("dev_db", null);
            IOrientRepo      rp    = mngCl.GetRepo();
            GetClass         gc    = rp.GetClass <Person>("dev_db", null);



            //Managers.Manager mng = new Managers.Manager(ConfigurationManager.AppSettings["OrientDevDB"],null);
            Managers.Manager     mng       = new Managers.Manager(ConfigurationManager.AppSettings["OrientUnitTestDB"], null);
            Managers.Manager     mngSource = new Managers.Manager(ConfigurationManager.AppSettings["OrientSourceDB"], null);
            PersonUOWs.PersonUOW pu        = mng.GetPersonUOW();
            NewsUOWs.NewsRealUow nu        = mng.GetNewsUOW();

            Managers.Manager mngPerson = new Managers.Manager(ConfigurationManager.AppSettings["OrientSourceDB"]);

            PersonUOWs.PersonUOW personToGetUOW = mngPerson.GetPersonUOW();

            POCO.News newsToAdd0 = new News()
            {
                GUID = "119", content = "s \"a \"a  t "
            };
            POCO.Person newsMaker    = pu.SearchByName("Neprintsevia").FirstOrDefault();
            POCO.Person likeMaker    = pu.SearchByName("Person1").FirstOrDefault();
            POCO.Person troubleMaker = pu.SearchByName("Person0").FirstOrDefault();

            GETparameters gp = new GETparameters()
            {
                offest = 5, published = true, pinned = true, asc = true, author = newsMaker
            };
            JSONManager jm = new JSONManager();


            //ABSENT PERSON CHECK
            Random rnd = new Random();

            //News ns = nu.GetNewsByGUID("2370b972-48d4-4e49-95ad-b99ba5382042");
            //News ns = nu.GetNewsByGUID("e7bc87ec-f649-4748-b4cb-d2863f780f1c");
            //nu.GetNewsByGUID("f7557c27-f889-4aab-91ce-ba15e34e3981");
            //News ns = nu.GetNewsByGUID("f7557c27-f889-4aab-91ce-ba15e34e3981");

            var a   = nu.GetNews(5, null, null);
            int acc = (int)rnd.Next(0, 10000);

            Person personAbsent = new Person()
            {
                Name = "PersonAbsent", sAMAccountName = "absent" + acc
            };
            string newsContent = "{\"conntent_\":\"news text\",\"name\":\"News name\"}";
        }
Пример #3
0
        static void MooveClasses(IOrientRepo targetRepo, IOrientRepo sourceRepo, List <IOrientObjects.IOrientDefaultObject> mooveClasses)
        {
            TypeConverter  tc     = new TypeConverter();
            OrientDatabase dbFrom = sourceRepo.GetDb(null, null);

            foreach (OrientDefaultObject do_ in mooveClasses)
            {
                OrientClass oc = (from s in dbFrom.classes where s.name == do_.GetType().Name select s).FirstOrDefault();
                if (oc != null)
                {
                    CreateClassRec(oc);
                }
            }
        }
Пример #4
0
        static void MooveClasses(IOrientRepo targetRepo, IOrientRepo sourceRepo)
        {
            TypeConverter  tc     = new TypeConverter();
            OrientDatabase dbFrom = sourceRepo.GetDb(null, null);

            foreach (OrientClass oc in dbFrom.classes)
            {
                //Moove objects person
                if (tc.GegtypeFromAsm(oc.name, null) != null)
                {
                    CreateClassRec(oc);
                }
            }
        }
Пример #5
0
        static void MooveObjectsOfClass <T>(IOrientRepo targetRepo, IOrientRepo sourceRepo)
            where T : class, IOrientObjects.IOrientDefaultObject
        {
            List <T> arbitraryObjects = new List <T>();

            foreach (T p in sourceRepo.SelectFromType <T>(null, null))
            {
                T pc = null;
                try{
                    if (p.GetType().BaseType == typeof(V))
                    {
                        pc = targetRepo.CreateVertex <T>(p, null);
                    }
                    if (p.GetType().BaseType == typeof(E))
                    {
                        POCO.OrientEdge io    = p as POCO.OrientEdge;
                        POCO.V          vFrom =
                            sourceRepo.SelectByIDWithCondition <POCO.V>(io.In, null, null).FirstOrDefault();
                        POCO.V vTo =
                            sourceRepo.SelectByIDWithCondition <POCO.V>(io.Out, null, null).FirstOrDefault();

                        vTo = targetRepo.SelectFromType <POCO.V>("GUID='" + vTo.GUID + "'", null).FirstOrDefault();

                        pc = targetRepo.CreateEdge <T>(p, vFrom, vTo, null) as T;
                    }
                    if (pc == null)
                    {
                        if (arbitraryObjects != null)
                        {
                            arbitraryObjects.Add(p);
                        }
                    }
                }catch (Exception e) { System.Diagnostics.Trace.WriteLine(e.Message); }
            }
            if (arbitraryObjects.Count() > 0)
            {
                CheckListOfObjects(targetRepo, arbitraryObjects);
            }
        }
Пример #6
0
        public static OrientDatabase Migrate(Managers.Manager to_, Managers.Manager from_, List <IOrientObjects.IOrientDefaultObject> mooveClasses
                                             , List <IOrientObjects.IOrientDefaultObject> mooveObjects, bool dropAndCreateIfExists = false, bool generate = false)
        {
            OrientDatabase result = null;

            bool allreadyExists = false;

            if (to_ == null)
            {
                throw new Exception("No from DB passed");
            }
            targetRepo_ = to_.GetRepo();
            if (targetRepo_ == null)
            {
                throw new Exception("No from repo exists");
            }

            OrientDatabase dbTo = targetRepo_.GetDb();

            if (dropAndCreateIfExists == true)
            {
                //drop and create db
                if (dbTo != null)
                {
                    targetRepo_.DeleteDb();
                }
                targetRepo_.CreateDb();
                if (targetRepo_.GetDb() == null)
                {
                    throw new Exception("Db was not recreated");
                }
            }
            if (from_ != null)
            {
                //moove db
                sourceRepo_ = from_.GetRepo();
                if (sourceRepo_ == null)
                {
                    throw new Exception("No from repo exists");
                }
                OrientDatabase dbFrom = sourceRepo_.GetDb();
                dbFrom = sourceRepo_.GetDb();
                dbTo   = targetRepo_.GetDb();
                if (dbTo == null)
                {
                    throw new Exception("No target database exists");
                }
                if (dbFrom == null)
                {
                    throw new Exception("No source database exists");
                }

                if (mooveClasses != null && mooveClasses.Count() > 0)
                {
                    MooveClasses(targetRepo_, sourceRepo_, mooveClasses);

                    foreach (OrientDefaultObject oL_ in mooveClasses)
                    {
                        targetRepo_.CreateProperty <OrientDefaultObject>(oL_, null);
                    }
                }
                if (mooveObjects != null && mooveObjects.Count() > 0)
                {
                    ConditionalItemsInit(mooveObjects);
                    MooveObject();

                    /*
                     * MooveObjectsOfClass<Person>(targetRepo_,sourceRepo_);
                     * MooveObjectsOfClass<Unit>(targetRepo_,sourceRepo_);
                     *
                     * MooveObjectsOfClass<SubUnit>(targetRepo_,sourceRepo_);
                     * MooveObjectsOfClass<MainAssignment>(targetRepo_,sourceRepo_);
                     * MooveObjectsOfClass<OldMainAssignment>(targetRepo_,sourceRepo_);
                     */
                }

                /*
                 * MooveObjectsOfClass<UserSettings>(targetRepo_,sourceRepo_);
                 * MooveObjectsOfClass<CommonSettings>(targetRepo_,sourceRepo_);
                 *
                 *
                 * MooveObjectsOfClass<PersonRelation>(targetRepo_,sourceRepo_);
                 */
            }
            if (generate == true)
            {
                //generate scenery to existing
                to_.GenDB(false, false);
                to_.GenNewsComments(null, null);
            }

            targetRepo_.StoreDbStatistic(null, null);
            return(result);
        }
Пример #7
0
        public static OrientDatabase Migrate(Managers.Manager to_, Managers.Manager from_,
                                             bool dropAndCreateIfExists = false, bool mooveClasses = false, bool mooveObjects = false, bool generate = false)
        {
            OrientDatabase result = null;

            bool allreadyExists = false;

            if (to_ == null)
            {
                throw new Exception("No from DB passed");
            }
            targetRepo_ = to_.GetRepo();
            if (targetRepo_ == null)
            {
                throw new Exception("No from repo exists");
            }

            OrientDatabase dbTo = targetRepo_.GetDb();

            if (dropAndCreateIfExists == true)
            {
                //drop and create db
                if (dbTo != null)
                {
                    targetRepo_.DeleteDb();
                }
                targetRepo_.CreateDb();
                if (targetRepo_.GetDb() == null)
                {
                    throw new Exception("Db was not recreated");
                }
            }
            if (from_ != null)
            {
                //moove db
                sourceRepo_ = from_.GetRepo();
                if (sourceRepo_ == null)
                {
                    throw new Exception("No from repo exists");
                }
                OrientDatabase dbFrom = sourceRepo_.GetDb();
                dbFrom = sourceRepo_.GetDb();
                dbTo   = targetRepo_.GetDb();
                if (dbTo == null)
                {
                    throw new Exception("No target database exists");
                }
                if (dbFrom == null)
                {
                    throw new Exception("No source database exists");
                }

                if (mooveClasses)
                {
                    MooveClasses(targetRepo_, sourceRepo_);

                    targetRepo_.CreateProperty <OrientEdge>(new OrientEdge(), null);
                    //create all properties even if all null.
                    targetRepo_.CreateProperty <MainAssignment>(new MainAssignment(), null);
                    targetRepo_.CreateProperty <Unit>(new Unit(), null);
                    targetRepo_.CreateProperty <Note>(new Note(), null);
                    targetRepo_.CreateProperty <Authorship>(new Authorship(), null);
                    targetRepo_.CreateProperty <Comment>(new Comment(), null);
                    targetRepo_.CreateProperty <Commentary>(new Commentary(), null);
                    targetRepo_.CreateProperty <News>(new News(), null);
                    targetRepo_.CreateProperty <Person>(new Person(), null);

                    targetRepo_.CreateProperty <Liked>(new Liked(), null);
                    targetRepo_.CreateProperty <Tag>(new Tag(), null);
                    targetRepo_.CreateProperty <Tagged>(new Tagged(), null);
                }

                if (mooveObjects)
                {
                    MooveObjectsOfClass <Person>(targetRepo_, sourceRepo_);
                    MooveObjectsOfClass <Unit>(targetRepo_, sourceRepo_);

                    MooveObjectsOfClass <SubUnit>(targetRepo_, sourceRepo_);
                    MooveObjectsOfClass <MainAssignment>(targetRepo_, sourceRepo_);
                    MooveObjectsOfClass <OldMainAssignment>(targetRepo_, sourceRepo_);
                }

                /*
                 * MooveObjectsOfClass<UserSettings>(targetRepo_,sourceRepo_);
                 * MooveObjectsOfClass<CommonSettings>(targetRepo_,sourceRepo_);
                 */

                MooveObjectsOfClass <PersonRelation>(targetRepo_, sourceRepo_);
            }
            if (generate == true)
            {
                //generate scenery to existing
                to_.GenDB(false, false);
                to_.GenNewsComments(null, null);
            }

            targetRepo_.StoreDbStatistic(null, null);
            return(result);
        }