/// <summary> /// StubId, Abbreviation, ToolTip, Url, OpenInBrowser, Width, Height, IsInternal, HasIcon /// </summary> /// <returns></returns> public static IDataReader GetStub(int StubId) { return(DBWebStubs.GetStub(StubId)); }
public static void Delete(int stubId) { int userId = -1; ArrayList users = new ArrayList(); ArrayList groups = new ArrayList(); using (IDataReader reader = DBWebStubs.GetStub(stubId)) { if (!reader.Read()) { return; } if (reader["UserId"] != DBNull.Value) { userId = DBUser.GetOriginalId((int)reader["UserId"]); } } if (userId == -1) { using (IDataReader reader = DBWebStubs.GetListGroupsByStub(stubId)) { while (reader.Read()) { groups.Add((int)reader["GroupId"]); } } foreach (int groupId in groups) { using (IDataReader reader = SecureGroup.GetListAllUsersInGroup(groupId)) { while (reader.Read()) { if (reader["OriginalId"] != DBNull.Value) { int imUserId = (int)reader["OriginalId"]; if (!users.Contains(imUserId)) { users.Add(imUserId); } } } } } } using (DbTransaction tran = DbTransaction.Begin()) { DBWebStubs.Delete(stubId); if (userId > 0) // UserStub { User.IncreaseStubsVersion(userId); try { IMManager.UpdateUserWebStub(userId); } catch (Exception) { } } else { foreach (int imUserId in users) { User.IncreaseStubsVersion(imUserId); } try { foreach (int imUserId in users) { IMManager.UpdateUserWebStub(imUserId); } } catch (Exception) { } } tran.Commit(); } }