public static int CreateUserStub( string abbreviation , string toolTip , string url , bool openInBrowser , int width , int height , byte[] icon) { int stubId = -1; int userId = Security.CurrentUser.UserID; int imUserId = DBUser.GetOriginalId(userId); using (DbTransaction tran = DbTransaction.Begin()) { stubId = DBWebStubs.Create(userId, abbreviation, toolTip, url, openInBrowser, width, height); User.IncreaseStubsVersion(imUserId); if (icon != null) { DBWebStubs.UpdateStubIcon(stubId, icon); } try { IMManager.UpdateUserWebStub(imUserId); } catch (Exception) { } tran.Commit(); } return(stubId); }
public static int CreateGroupStub( string abbreviation , string toolTip , string url , bool openInBrowser , int width , int height , byte[] icon , ArrayList groups) { int stubId = -1; ArrayList users = new ArrayList(); foreach (int groupId in groups) { using (IDataReader reader = SecureGroup.GetListAllUsersInGroup(groupId)) { while (reader.Read()) { if (reader["OriginalId"] != DBNull.Value) { int userId = (int)reader["OriginalId"]; if (!users.Contains(userId)) { users.Add(userId); } } } } } using (DbTransaction tran = DbTransaction.Begin()) { stubId = DBWebStubs.Create(null, abbreviation, toolTip, url, openInBrowser, width, height); if (icon != null) { DBWebStubs.UpdateStubIcon(stubId, icon); } foreach (int groupId in groups) { DBWebStubs.AddStubGroup(stubId, groupId); } foreach (int userId in users) { User.IncreaseStubsVersion(userId); } try { foreach (int userId in users) { IMManager.UpdateUserWebStub(userId); } } catch (Exception) { } tran.Commit(); } return(stubId); }