static void CreateClassRec(OrientClass class_) { OrientClass _class = targetRepo_.GetClass(class_.name, null, null); if (_class == null) { if (class_.superClass != null) { OrientClass superClass = targetRepo_.GetClass(class_.superClass, null, null); if (superClass == null) { superClass = sourceRepo_.GetClass(class_.superClass, null, null); if (superClass == null) { throw new Exception("no superclass in sourcedb found"); } CreateClassRec(superClass); } class_ = targetRepo_.CreateClass(class_.name, superClass.name, null).GetClass(class_.name, null, null); } else { class_ = targetRepo_.CreateClass(class_.name, null, null).GetClass(class_.name, null, null); } if (class_ == null) { throw new Exception("failed to create class"); } } }
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); } } }