Exemple #1
0
        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);
        }