Ejemplo n.º 1
0
 public void Add(Key key)
 {
     Add(Root, key);
     if (Root.IsFull())
     {
         var leftHalf  = Root;
         var rightHalf = Root.Split();
         Root = CreateNewNode();
         Root.Add(leftHalf);
         Root.Add(rightHalf);
     }
 }
Ejemplo n.º 2
0
        public void Add(IPage <Key> h, Key key)
        {
            if (h.IsExternal())
            {
                h.Add(key);
                return;
            }
            var next = h.Next(key);

            Add(next, key);
            if (next.IsFull())
            {
                h.Add(next.Split());
            }
            next.Close();
        }
Ejemplo n.º 3
0
        private void stepFinalize_codeActivity_ExecuteCode(object sender, EventArgs e)
        {
            AddNewTreeRefresher addNewTreeRefresher = this.CreateAddNewTreeRefresher(this.EntityToken);

            IPage newPage = this.GetBinding <IPage>("NewPage");

            newPage.SourceCultureName = UserSettings.ActiveLocaleCultureInfo.Name;

            Guid pageTypeId            = newPage.PageTypeId;
            Guid?defaultPageTemplateId = PageServices.GetDefaultPageTemplateId(pageTypeId);

            if (defaultPageTemplateId != null)
            {
                newPage.TemplateId = defaultPageTemplateId.Value;
            }

            string sortOrder = this.GetBinding <string>("SelectedSortOrder");

            Guid parentId = GetParentId();

            using (new DataScope(DataScopeIdentifier.Administrated))
            {
                IPageInsertionPosition position;

                if (sortOrder == SortOrder.Top)
                {
                    position = PageInsertPosition.Top;
                }
                else if (sortOrder == SortOrder.Bottom)
                {
                    position = PageInsertPosition.Bottom;
                }
                else if (sortOrder == SortOrder.Alphabetic)
                {
                    position = PageInsertPosition.Alphabetic;
                }
                else if (sortOrder == SortOrder.Relative)
                {
                    Guid relativeSelectedPageId = this.GetBinding <Guid>("RelativeSelectedPageId");

                    position = PageInsertPosition.After(relativeSelectedPageId);
                }
                else
                {
                    throw new InvalidOperationException($"Not handled page instert position '{sortOrder}'");
                }

                newPage = newPage.Add(parentId, position);
            }

            SetSaveStatus(true);

            addNewTreeRefresher.PostRefreshMesseges(newPage.GetDataEntityToken());

            this.ExecuteWorklow(newPage.GetDataEntityToken(), typeof(EditPageWorkflow));
        }
Ejemplo n.º 4
0
 private void AddLine(ILine line)
 {
     if (line.Counter > 0)
     {
         if (!_currentPage.Add(line))
         {
             AddPage(_currentPage);
             _currentPage = _helper.GetPage();
             _currentPage.Add(line);
         }
     }
 }