Ejemplo n.º 1
0
        public override int CompareTo(BaseViewItem other)
        {
            if (other is BaseViewItemHomeworkExam)
            {
                return(CompareTo(other as BaseViewItemHomeworkExam));
            }

            return(base.CompareTo(other));
        }
Ejemplo n.º 2
0
        private bool HandleUpdatingSelfAndDescendants(DataChangedEvent e)
        {
            bool changed = false;

            // First edit this item itself
            if (this is BaseViewItem && (this as BaseViewItem).HasData)
            {
                BaseViewItem baseViewItem = this as BaseViewItem;

                BaseDataItem editedItem = e.EditedItems.FirstOrDefault(i => i.Identifier == baseViewItem.Identifier);

                if (editedItem != null)
                {
                    baseViewItem.PopulateFromDataItem(editedItem);

                    changed = true;
                }
            }

            IViewItemChildrenHelper[] childrenHelpers;
            lock (this)
            {
                childrenHelpers = _children.ToArray();
            }

            // Then edit all children
            foreach (var child in childrenHelpers.SelectMany(i => i.GetChildren()))
            {
                if (child.HandleUpdatingSelfAndDescendants(e))
                {
                    changed = true;
                }
            }

            return(changed);
        }