Пример #1
0
        protected bool TryAdd(Obj obj, out ObjectReference <Obj> reference)
        {
            reference = null;

            if (!Objects.TryAdd(obj.Identifier, obj))
            {
                return(false);
            }

            ObjectReference <Obj> objref = null;

            if (!Synchroniser.CreateSynchroniser(obj, () => objref = References.Create(obj)))
            {
                Objects.TryRemove(obj.Identifier, out _);
                return(false);
            }

            reference = objref;

            return(true);
        }
Пример #2
0
        public ActionResult AddReference(Guid targetVerseId, Guid sourceBookId, int sourceChapterNum, int sourceVerseNum, int startOffset, int endOffset)
        {
            var sourceVerse = VerseManager.GetByBookIdChapterVerse(sourceBookId, sourceChapterNum, sourceVerseNum);

            if (startOffset < endOffset)
            {
                ReferenceManager.Create(targetVerseId, sourceVerse.Id, startOffset, endOffset);
            }
            else
            {
                ReferenceManager.Create(targetVerseId, sourceVerse.Id, endOffset, startOffset);
            }

            return(View());
        }