public static void Hide(int stubId) { int userId = Security.CurrentUser.UserID; using (DbTransaction tran = DbTransaction.Begin()) { DBWebStubs.Hide(stubId, userId); int imUserId = DBUser.GetOriginalId(userId); User.IncreaseStubsVersion(imUserId); try { IMManager.UpdateUserWebStub(imUserId); } catch (IMHelperException) { } tran.Commit(); } }
public static void UpdateUserStub( int stubId , string abbreviation , string toolTip , string url , bool openInBrowser , int width , int height , byte[] icon , bool deleteIcon) { using (DbTransaction tran = DbTransaction.Begin()) { DBWebStubs.Update(stubId, abbreviation, toolTip, url, openInBrowser, width, height); int imUserId = DBUser.GetOriginalId(Security.CurrentUser.UserID); User.IncreaseStubsVersion(imUserId); if (deleteIcon) { DBWebStubs.UpdateStubIcon(stubId, null); } else if (icon != null) { DBWebStubs.UpdateStubIcon(stubId, icon); } try { IMManager.UpdateUserWebStub(imUserId); } catch (Exception) { } tran.Commit(); } }
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(); } }
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); }
public static void UpdateGroupStub( int stubId , string abbreviation , string toolTip , string url , bool openInBrowser , int width , int height , byte[] icon , ArrayList groups , bool deleteIcon) { // Groups ArrayList newGroups = new ArrayList(groups); ArrayList deletedGroups = new ArrayList(); using (IDataReader reader = DBWebStubs.GetListGroupsByStub(stubId)) { while (reader.Read()) { int groupId = (int)reader["GroupId"]; if (newGroups.Contains(groupId)) { newGroups.Remove(groupId); } else { deletedGroups.Add(groupId); } } } // Users 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); } } } } } foreach (int groupId in deletedGroups) { 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()) { DBWebStubs.Update(stubId, abbreviation, toolTip, url, openInBrowser, width, height); if (deleteIcon) { DBWebStubs.UpdateStubIcon(stubId, null); } else if (icon != null) { DBWebStubs.UpdateStubIcon(stubId, icon); } // Remove Group foreach (int groupId in deletedGroups) { DBWebStubs.DeleteStubGroup(stubId, groupId); } // Add Group foreach (int groupId in newGroups) { DBWebStubs.AddStubGroup(stubId, groupId); } // Stubs Version foreach (int userId in users) { User.IncreaseStubsVersion(userId); } try { foreach (int userId in users) { IMManager.UpdateUserWebStub(userId); } } catch (Exception) { } tran.Commit(); } }
public static void Update( int imGroupId , string imGroupName , string color , byte[] imGroupLogo , ArrayList youCanSeeGroups , ArrayList canSeeYouGroups) { if (!CanUpdate()) { throw new AccessDeniedException(); } // YouCanSeeGroups ArrayList newYouCanSeeGroups = new ArrayList(youCanSeeGroups); ArrayList deletedYouCanSeeGroups = new ArrayList(); SeparateIems(newYouCanSeeGroups, deletedYouCanSeeGroups, DBIMGroup.GetListIMGroupsYouCanSee(imGroupId, false), "IMGroupId"); // CanSeeYouGroups ArrayList newCanSeeYouGroups = new ArrayList(canSeeYouGroups); ArrayList deletedCanSeeYouGroups = new ArrayList(); SeparateIems(newCanSeeYouGroups, deletedCanSeeYouGroups, DBIMGroup.GetListIMGroupsCanSeeYou(imGroupId), "IMGroupId"); using (DbTransaction tran = DbTransaction.Begin()) { DBIMGroup.CreateUpdate(imGroupId, imGroupName, color, false); if (imGroupLogo != null) { DBIMGroup.UpdateIMGroupLogo(imGroupId, imGroupLogo); } // You Can See Groups foreach (int groupId in deletedYouCanSeeGroups) { DBIMGroup.DeleteDependences(imGroupId, groupId); } foreach (int groupId in newYouCanSeeGroups) { DBIMGroup.AddDependences(imGroupId, groupId); } // Can See You Groups foreach (int groupId in deletedCanSeeYouGroups) { DBIMGroup.DeleteDependences(groupId, imGroupId); } foreach (int groupId in newCanSeeYouGroups) { DBIMGroup.AddDependences(groupId, imGroupId); } // IBN try { IMManager.UpdateGroup(imGroupId); foreach (int groupId in deletedCanSeeYouGroups) { IMManager.UpdateGroup(groupId); } foreach (int groupId in newCanSeeYouGroups) { IMManager.UpdateGroup(groupId); } } catch (Exception) { } tran.Commit(); } }