private void GenericRemove(IProjectObject[] entries, string type) { if (entries == null || entries.Length == 0) { return; } const string REMOVE_ENTRY = @"<ADMINISTRATION><USER guid=""{0}""><CLIPBOARDDATA action=""remove"" projectguid=""{1}"">{2}</CLIPBOARDDATA></USER></ADMINISTRATION>"; var entryStr = string.Join("", entries.Select(x => SINGLE_ENTRY.RQLFormat(x, type))); var doc = Project.ExecuteRQL(REMOVE_ENTRY.RQLFormat(Session.CurrentUser, Project, entryStr)); if (!doc.InnerText.Contains("ok")) { throw new SmartAPIException(Session.ServerLogin, "Error removing entries from clipboard"); } InvalidateCache(); }