예제 #1
0
        /// <summary>
        /// Замена элемента по точному соответствию. Если соответствия не найдено, вставка НЕ производится
        /// </summary>
        /// <param name="oldItem">Старый элемент</param>
        /// <param name="newItem">Новый элемент</param>
        public void ReplaceItem(ManifestFileItem oldItem, ManifestFileItem newItem)
        {
            if (oldItem == null || newItem == null)
            {
                return;
            }

            if (_contentField.Count == 0)
            {
                return;
            }

            ManifestFileItem curent = null;

            for (int i = 0; i < _contentField.Count; i++)
            {
                curent = _contentField[i];

                if (curent != null && curent.Equals(oldItem))
                {
                    _contentField[i] = newItem;
                    break;
                }
            }
        }
예제 #2
0
        /// <summary>
        /// Удаление элемента из манифесте по точному соответствию
        /// </summary>
        /// <param name="item">Удаляемый элемент</param>
        public void RemoveItem(IManifestFileItem item)
        {
            if (item == null)
            {
                return;
            }

            if (_contentField.Count == 0)
            {
                return;
            }

            ManifestFileItem curent = null;

            for (int i = 0; i < _contentField.Count; i++)
            {
                curent = _contentField[i];

                if (curent != null && curent.Equals(item))
                {
                    _contentField.Remove(curent);
                    break;
                }
            }
        }