public static bool SaveNewObject(ObjectDto persistObj, string comment, out string result) { string objUuid = persistObj.Uuid; if (_persistentObj.ObjectExists(objUuid)) { result = LocalConst.ERR_EXISTENT_OBJ; return(false); } if (ObjectIndexer.UniquePropertyValueExists(persistObj)) { result = LocalConst.ERR_DUPLICATE_VALUE; return(false); } persistObj.WhenAdded = DateTime.Now; string json = Jsonizer.Serialize(persistObj); // First time this object is being persisted. _persistentObj.AddObjectFirstRecord(objUuid); // Version numbers are *always* zero-indexed! long versionNumber = 0; _persistentObj.PersistObjectAsVersion(objUuid, json, versionNumber, comment ?? string.Empty); // Closing tasks: ObjectIndexer.IndexObject(persistObj); result = LocalConst.ERR_SUCCESS; return(true); }