private void ProcessGroup2(int iGroup, TreeViewNode nodeParent) { TreeViewNode nodeGroup; nodeGroup = new TreeViewNode(); using (IDataReader reader = UserReport.GetGroup(iGroup)) { if (reader.Read()) { nodeGroup.Text = CommonHelper.GetResFileString(reader["GroupName"].ToString()); /*CommonHelper.GetGroupLinkUL(iGroup, reader["GroupName"].ToString())*/ nodeGroup.ImageUrl = Page.ResolveUrl("~/Layouts/Images/icons/regular.gif"); nodeGroup.Value = "Group"; nodeGroup.NavigateUrl = String.Format("GroupAndUserStat.aspx?SGroupID={0}&UserID=0", reader["GroupId"].ToString()); } } // Expanding if (aGroupPath.Contains(iGroup)) { nodeGroup.Expanded = true; } if (nodeParent == null) { GUTree.Nodes.Add(nodeGroup); } else { nodeParent.Nodes.Add(nodeGroup); } ArrayList children = new ArrayList(); using (IDataReader rdr = UserReport.GetListChildGroups(iGroup)) { while (rdr.Read()) { children.Add((int)rdr["GroupId"]); } } foreach (object obj in children) { ProcessGroup2((int)obj, nodeGroup); } DataTable dt = new DataTable(); dt.Columns.Add(new DataColumn("UserId", typeof(int))); dt.Columns.Add(new DataColumn("UserName", typeof(string))); dt.Columns.Add(new DataColumn("sortUserName", typeof(string))); DataRow dr; using (IDataReader rdr = UserReport.GetListActiveUsersInGroup(iGroup)) { while (rdr.Read()) { dr = dt.NewRow(); int iUserId = (int)rdr["UserId"]; dr["UserId"] = iUserId; using (IDataReader reader = UserReport.GetUserInfo(iUserId, false)) { if (reader.Read()) { dr["UserName"] = /*"<img src='../Layouts/Images/Status/status_online.gif ' border=0 align='absmiddle'> " +*/ (string)reader["FirstName"] + " " + (string)reader["LastName"]; dr["sortUserName"] = reader["FirstName"].ToString() + " " + reader["LastName"].ToString(); } } dt.Rows.Add(dr); } } DataView dv = dt.DefaultView; dv.Sort = "sortUserName"; foreach (DataRowView _dr in dv) { ProcessUser2(iGroup, _dr, nodeGroup); } }
/* * public static string GetGroupLinkUL(int GroupID) * { * string GroupName = ""; * using(IDataReader reader = UserReport.GetGroup(GroupID)) * { * if (reader.Read()) * GroupName = (string)reader["GroupName"]; * } * return GetGroupLinkUL(GroupID, GroupName); * } * * public static string GetGroupPureName(int GroupID) * { * string GroupName = ""; * using(IDataReader reader = UserReport.GetGroup(GroupID)) * { * if (reader.Read()) * GroupName = (string)reader["GroupName"]; * } * return GroupName; * } */ #endregion #region GetUserStatus public static string GetUserStatus(int UserID) { string RetVal = ""; Hashtable UserStatusList = new Hashtable(); HttpContext context = HttpContext.Current; if (context != null && context.Items.Contains(sUserStatus)) { UserStatusList = (Hashtable)context.Items[sUserStatus]; } if (UserStatusList.ContainsKey(UserID)) { RetVal = UserStatusList[UserID].ToString(); } else { ResourceManager LocRM = new ResourceManager("Mediachase.UI.Web.App_GlobalResources.UserReports.GlobalModules.Resources.strTemplate", typeof(CommonHelper).Assembly); string UserName = ""; string path = HttpRuntime.AppDomainAppVirtualPath; if (path == "/") { path = ""; } string Domain = Mediachase.IBN.Business.Configuration.Domain; using (IDataReader reader = UserReport.GetUserInfo(UserID, false)) { if (reader.Read()) { bool IsActive = (bool)reader["IsActive"]; bool IsExternal = (bool)reader["IsExternal"]; bool IsPending = (bool)reader["IsPending"]; bool IsImInternal = true; try { IsImInternal = Mediachase.IBN.Business.Security.CurrentUser.IsExternal; } catch {} UserName = (string)reader["FirstName"] + " " + (string)reader["LastName"]; if (!IsActive) { UserName = "******" + UserName + "</font>"; } string UserIMStatus = ""; if (!IsExternal && !IsPending) { if (reader["OriginalId"] != DBNull.Value) { int OriginalId = (int)reader["OriginalId"]; UserIMStatus = @"<a href='ibnto:" + (string)reader["Login"] + "@" + Domain + "' title='" + LocRM.GetString("SendIBNMessage") + "'><img alt='' src='../WebServices/UserStatusImage.aspx?UserID=" + OriginalId + "' border='0' align='absmiddle'/></a> "; } } else if (IsExternal) { UserIMStatus = "<img alt='' src='../layouts/images/status/status_external.gif' border='0' align='absmiddle' title='" + LocRM.GetString("ExternalUser") + "'/> "; } else if (IsPending) { UserIMStatus = "<img alt='' src='../layouts/images/status/status_pending.gif' border='0' align='absmiddle' title='" + LocRM.GetString("PendingUser") + "'/> "; } if (IsImInternal) { RetVal = String.Format( "<a href='mailto:{2}' title='" + LocRM.GetString("SendEmail") + "'>" + "<img alt='' src='../layouts/images/mail.GIF' border='0' align='absmiddle'/></a> " + "{0}", UserName, UserID, reader["Email"]); } else { RetVal = String.Format(UserIMStatus + "<a href='mailto:{2}' title='" + LocRM.GetString("SendEmail") + "'>" + "<img alt='' src='../layouts/images/mail.GIF' border='0' align='absmiddle'/></a> " + "<a href='" + path + "/Directory/UserView.aspx?UserID={1}' title='" + LocRM.GetString("ViewUserProfile") + "'>{0}</a>", UserName, UserID, reader["Email"]); } UserStatusList.Add(UserID, RetVal); context.Items.Remove(sUserStatus); context.Items.Add(sUserStatus, UserStatusList); } } if (RetVal == String.Empty) { RetVal = GetGroupLink(UserID); UserStatusList.Add(UserID, RetVal); context.Items.Remove(sUserStatus); context.Items.Add(sUserStatus, UserStatusList); } } return(RetVal); }
private void BindUserStat(int iUserId, DateTime StartDate, DateTime EndDate) { int iIMGroupId = 0; using (IDataReader reader = UserReport.GetUserInfo(iUserId, false)) { if (reader.Read()) { if (reader["Login"] != DBNull.Value) { lblUserAccountName.Text = reader["Login"].ToString(); } lblUserEmail.Text = reader["Email"].ToString(); lblUserFirstName.Text = reader["FirstName"].ToString(); lblUserLastName.Text = reader["LastName"].ToString(); lblUserStatus.Text = ((bool)reader["IsActive"]) ? LocRM.GetString("tActive") : LocRM.GetString("tNotActive"); if (reader["IMGroupId"] != DBNull.Value) { iIMGroupId = (int)reader["IMGroupId"]; } } } if (!Mediachase.IBN.Business.User.IsExternal(iUserId) && Mediachase.IBN.Business.User.GetUserActivity(iUserId) != Mediachase.IBN.Business.User.UserActivity.Pending) { DataTable dt = UserReport.GetUserStats(iUserId, StartDate, EndDate); if (dt.Rows.Count > 0) { DataRow dr = dt.Rows[0]; lblClientLoginsCount.Text = ((int)dr["LoginsClient"]).ToString(); lblUserConfCreated.Text = ((int)dr["ConfCreated"]).ToString(); lblUserConfMessagesSent.Text = ((int)dr["ConfMsgSent"]).ToString(); lblUserMessagesReceived.Text = ((int)dr["MsgReceived"]).ToString(); lblUserMessagesSent.Text = ((int)dr["MsgSent"]).ToString(); lblUserTotalFilesReceived.Text = ((int)dr["FilesReceived"]).ToString(); lblUserTotalFilesReceivedBytes.Text = FormatBytes((long)dr["FRBytes"]); lblUserTotalFilesSent.Text = ((int)dr["FilesSent"]).ToString(); lblUserTotalFilesSentBytes.Text = FormatBytes((long)dr["FSBytes"]); } using (IDataReader rdr = UserReport.GetIMGroup(iIMGroupId)) { if (rdr.Read() && rdr["IMGroupName"] != DBNull.Value) { lblUserGroupName.Text = rdr["IMGroupName"].ToString(); } } } using (IDataReader reader = UserReport.GetListSecureGroup(iUserId)) { while (reader.Read()) { lblUserSecurityLevel.Text += CommonHelper.GetResFileString(reader["GroupName"].ToString()) + "<br/>"; } } using (IDataReader reader = UserReport.GetQuickSnapshotReport(StartDate, EndDate, iUserId)) { if (reader.Read()) { lblPortalLoginsCount.Text = ((int)reader["PortalLogins"]).ToString(); lblUserProjectTotalCreated.Text = ((int)reader["NewProjectsCount"]).ToString(); lblUserIssuesTotalCreated.Text = ((int)reader["NewIncidentsCount"]).ToString(); lblUserToDoTotalCreated.Text = ((int)reader["NewToDosCount"]).ToString(); lblUserTasksTotalCreated.Text = ((int)reader["NewTasksCount"]).ToString(); lblUserCalendarTotalEntriesCreated.Text = ((int)reader["NewEventsCount"]).ToString(); } } if (ddPeriod.Value != "0") { _header.Filter = LocRM.GetString("tPeriod") + ":<br/> " + StartDate.ToShortDateString() + " - " + EndDate.ToShortDateString(); } else { _header.Filter = ""; } if (ddPeriod.Value != "0") { lblInterval.Text = StartDate.ToShortDateString() + " - " + EndDate.ToShortDateString(); } else { lblInterval.Text = ""; } }