/// <summary>Deletes completely specified Information Items.</summary> /// <param name="generatorId">Generator ID to find RssTargetInfo.</param> /// <param name="itemIds">Array of IDs of the Information Items.</param> public void RestoreTrash(string generatorId, int[] itemIds) { RssTargetInfo[] targetInfos = TaskMain.Instance.RssManager.TargetInfos; RssTargetInfo targetInfo = RssTargetInfo.FindGenerator(targetInfos, generatorId); if (targetInfo != null) { targetInfo.TrashBox.Restore(itemIds); } }
/// <summary>Restore specified Information Items.</summary> /// <param name="itemIds">Array of IDs of the Information Items.</param> public void Restore(IEnumerable itemIds) { if (itemIds == null) { return; } this.Load(); ArrayList items = new ArrayList(); foreach (int itemId in itemIds) { foreach (InfoItem refItem in _infoItems) { if (itemId == refItem.Id) { items.Add(refItem); _infoItems.Remove(refItem); break; } } } if (items.Count <= 0) { return; } XmlSerializer writer = new XmlSerializer(typeof(InfoItem[])); using (StreamWriter file = new StreamWriter(_path)) { InfoItem[] array = new InfoItem[_infoItems.Count]; _infoItems.CopyTo(array); writer.Serialize(file, array); } RssTargetInfo[] targetInfos = TaskMain.Instance.RssManager.TargetInfos; RssTargetInfo targetInfo = RssTargetInfo.FindGenerator(targetInfos, ((InfoItem)items[0]).GeneratorId); #if ZEPTAIR if (targetInfo.IsZeptDist) { TaskMain.Instance.ZeptDistManager.PostItems(items, true); } else #endif TaskMain.Instance.InfoManager.PostItems(items, true); }
/// <summary>Removes the specified Information Items.</summary> /// <param name="itemIds">Array of IDs of the Information Items.</param> /// <param name="bLoadSave">Flag to Load and Save the file.</param> public void RemoveItems(int[] itemIds, bool bLoadSave) { if (bLoadSave) { _Load(); } if (itemIds == null || itemIds.Length <= 0) { return; } RssTargetInfo[] targetInfos = TaskMain.Instance.RssManager.TargetInfos; foreach (int id in itemIds) { InfoItem item = null; foreach (InfoItem elem in _infoItems) { if (elem.Id == id) { item = elem; break; } } if (item == null) { continue; } _infoItems.Remove(item); RssTargetInfo targetInfo = RssTargetInfo.FindGenerator(targetInfos, item.GeneratorId); if (targetInfo != null) { targetInfo.TrashBox.Push(new InfoItem[1] { item }); } } if (bLoadSave) { _Save(); } }