/// <summary> /// Returns fields: DisplayName, Count. /// </summary> public static DataTable GetUsersActivityTable(DateTime fromDate, DateTime toDate, ActivityReportType type, int topCount) { return BuildActivityTable(GetUsersActivity(fromDate, toDate, type, topCount)); }
/// <summary> /// Returns ArrayList of ActivityInfo objects. /// </summary> public static ArrayList GetGroupsActivity(DateTime fromDate, DateTime toDate, ActivityReportType type, int topCount) { ArrayList list = new ArrayList(); Hashtable hash = new Hashtable(); ActivityInfo group; foreach (UserActivityInfo user in GetUsersActivity(fromDate, toDate, type, 0)) { group = (ActivityInfo)hash[user.IMGroupId]; if (group == null) { string sDisplayName = ""; using (IDataReader _group = UserReport.GetIMGroup(user.IMGroupId)) { if (_group.Read()) sDisplayName = _group["IMGroupName"].ToString(); } group = new ActivityInfo(sDisplayName); hash[user.IMGroupId] = group; list.Add(group); } group.AddInfo(user); } // Leave only topCount items if (topCount > 0) { list.Sort(); if (list.Count > topCount) list.RemoveRange(topCount, list.Count - topCount); } // Remove items with zero counter for (int i = 0; i < list.Count; ) { if (((ActivityInfo)list[i]).Count == 0) list.RemoveAt(i); else i++; } return list; }
/// <summary> /// Returns ArrayList of UserActivityInfo objects. /// </summary> public static ArrayList GetUsersActivity(DateTime fromDate, DateTime toDate, ActivityReportType type, int topCount) { ArrayList list = new ArrayList(); UserActivityInfo user; using (IDataReader reader = GetUsersByCompany()) { while (reader.Read()) { string sDisplayName = reader["DisplayName"].ToString(); int iIMGroupId = (int)reader["IMGroupId"]; int user_id = (int)reader["UserId"]; user = new UserActivityInfo(sDisplayName, iIMGroupId); list.Add(user); using (IDataReader _obj = UserReport.GetUserInfoByOriginalId(user_id)) { if (_obj.Read()) user_id = (int)_obj["UserId"]; else continue; } int DefaultBias = UserReport.GetTimeZoneBias(Security.CurrentUser.TimeZoneId); switch (type) { case ActivityReportType.Messages: using (IDataReader _obj = DBUserReport.GetUserStats(user_id, fromDate, toDate, DefaultBias)) { if (_obj.Read()) user.Count = (int)_obj["MsgSent"]; } break; case ActivityReportType.FilesExchanged: using (IDataReader _obj = DBUserReport.GetUserStats(user_id, fromDate, toDate, DefaultBias)) { if (_obj.Read()) user.Count = (int)_obj["FilesSent"]; } break; case ActivityReportType.IMLogins: using (IDataReader _obj = DBUserReport.GetUserStats(user_id, fromDate, toDate, DefaultBias)) { if (_obj.Read()) user.Count = (int)_obj["LoginsClient"]; } break; case ActivityReportType.PortalLogins: using (IDataReader _obj = GetQuickSnapshotReport(fromDate, toDate, user_id)) { if (_obj.Read()) user.Count = (int)_obj["PortalLogins"]; } break; case ActivityReportType.CalendarEntries: using (IDataReader _obj = GetQuickSnapshotReport(fromDate, toDate, user_id)) { if (_obj.Read()) user.Count = (int)_obj["NewEventsCount"]; } break; case ActivityReportType.ActiveProjects: using (IDataReader _obj = GetQuickSnapshotReport(fromDate, toDate, user_id)) { if (_obj.Read()) user.Count = (int)_obj["NewProjectsCount"]; } break; case ActivityReportType.FilesPublished: using (IDataReader _obj = GetQuickSnapshotReport(fromDate, toDate, user_id)) { if (_obj.Read()) user.Count = (int)_obj["NewAssetsCount"]; } break; case ActivityReportType.FileVersionsPublished: using (IDataReader _obj = GetQuickSnapshotReport(fromDate, toDate, user_id)) { if (_obj.Read()) user.Count = (int)_obj["NewAssetVersionsCount"]; } break; case ActivityReportType.NewIssues: using (IDataReader _obj = GetQuickSnapshotReport(fromDate, toDate, user_id)) { if (_obj.Read()) user.Count = (int)_obj["NewIncidentsCount"]; } break; case ActivityReportType.NewTasks: using (IDataReader _obj = GetQuickSnapshotReport(fromDate, toDate, user_id)) { if (_obj.Read()) user.Count = (int)_obj["NewTasksCount"]; } break; case ActivityReportType.NewToDos: using (IDataReader _obj = GetQuickSnapshotReport(fromDate, toDate, user_id)) { if (_obj.Read()) user.Count = (int)_obj["NewToDosCount"]; } break; default: break; } } } // Leave only topCount items if (topCount > 0) { list.Sort(); if (list.Count > topCount) list.RemoveRange(topCount, list.Count - topCount); } // Remove items with zero counter for (int i = 0; i < list.Count; ) { if (((ActivityInfo)list[i]).Count == 0) list.RemoveAt(i); else i++; } return list; }
/// <summary> /// Returns fields: DisplayName, Count. /// </summary> public static DataTable GetUsersActivityTable(DateTime fromDate, DateTime toDate, ActivityReportType type, int topCount) { return(BuildActivityTable(GetUsersActivity(fromDate, toDate, type, topCount))); }
/// <summary> /// Returns ArrayList of UserActivityInfo objects. /// </summary> public static ArrayList GetUsersActivity(DateTime fromDate, DateTime toDate, ActivityReportType type, int topCount) { ArrayList list = new ArrayList(); UserActivityInfo user; using (IDataReader reader = GetUsersByCompany()) { while (reader.Read()) { string sDisplayName = reader["DisplayName"].ToString(); int iIMGroupId = (int)reader["IMGroupId"]; int user_id = (int)reader["UserId"]; user = new UserActivityInfo(sDisplayName, iIMGroupId); list.Add(user); using (IDataReader _obj = UserReport.GetUserInfoByOriginalId(user_id)) { if (_obj.Read()) { user_id = (int)_obj["UserId"]; } else { continue; } } int DefaultBias = UserReport.GetTimeZoneBias(Security.CurrentUser.TimeZoneId); switch (type) { case ActivityReportType.Messages: using (IDataReader _obj = DBUserReport.GetUserStats(user_id, fromDate, toDate, DefaultBias)) { if (_obj.Read()) { user.Count = (int)_obj["MsgSent"]; } } break; case ActivityReportType.FilesExchanged: using (IDataReader _obj = DBUserReport.GetUserStats(user_id, fromDate, toDate, DefaultBias)) { if (_obj.Read()) { user.Count = (int)_obj["FilesSent"]; } } break; case ActivityReportType.IMLogins: using (IDataReader _obj = DBUserReport.GetUserStats(user_id, fromDate, toDate, DefaultBias)) { if (_obj.Read()) { user.Count = (int)_obj["LoginsClient"]; } } break; case ActivityReportType.PortalLogins: using (IDataReader _obj = GetQuickSnapshotReport(fromDate, toDate, user_id)) { if (_obj.Read()) { user.Count = (int)_obj["PortalLogins"]; } } break; case ActivityReportType.CalendarEntries: using (IDataReader _obj = GetQuickSnapshotReport(fromDate, toDate, user_id)) { if (_obj.Read()) { user.Count = (int)_obj["NewEventsCount"]; } } break; case ActivityReportType.ActiveProjects: using (IDataReader _obj = GetQuickSnapshotReport(fromDate, toDate, user_id)) { if (_obj.Read()) { user.Count = (int)_obj["NewProjectsCount"]; } } break; case ActivityReportType.FilesPublished: using (IDataReader _obj = GetQuickSnapshotReport(fromDate, toDate, user_id)) { if (_obj.Read()) { user.Count = (int)_obj["NewAssetsCount"]; } } break; case ActivityReportType.FileVersionsPublished: using (IDataReader _obj = GetQuickSnapshotReport(fromDate, toDate, user_id)) { if (_obj.Read()) { user.Count = (int)_obj["NewAssetVersionsCount"]; } } break; case ActivityReportType.NewIssues: using (IDataReader _obj = GetQuickSnapshotReport(fromDate, toDate, user_id)) { if (_obj.Read()) { user.Count = (int)_obj["NewIncidentsCount"]; } } break; case ActivityReportType.NewTasks: using (IDataReader _obj = GetQuickSnapshotReport(fromDate, toDate, user_id)) { if (_obj.Read()) { user.Count = (int)_obj["NewTasksCount"]; } } break; case ActivityReportType.NewToDos: using (IDataReader _obj = GetQuickSnapshotReport(fromDate, toDate, user_id)) { if (_obj.Read()) { user.Count = (int)_obj["NewToDosCount"]; } } break; default: break; } } } // Leave only topCount items if (topCount > 0) { list.Sort(); if (list.Count > topCount) { list.RemoveRange(topCount, list.Count - topCount); } } // Remove items with zero counter for (int i = 0; i < list.Count;) { if (((ActivityInfo)list[i]).Count == 0) { list.RemoveAt(i); } else { i++; } } return(list); }
/// <summary> /// Returns ArrayList of ActivityInfo objects. /// </summary> public static ArrayList GetGroupsActivity(DateTime fromDate, DateTime toDate, ActivityReportType type, int topCount) { ArrayList list = new ArrayList(); Hashtable hash = new Hashtable(); ActivityInfo group; foreach (UserActivityInfo user in GetUsersActivity(fromDate, toDate, type, 0)) { group = (ActivityInfo)hash[user.IMGroupId]; if (group == null) { string sDisplayName = ""; using (IDataReader _group = UserReport.GetIMGroup(user.IMGroupId)) { if (_group.Read()) { sDisplayName = _group["IMGroupName"].ToString(); } } group = new ActivityInfo(sDisplayName); hash[user.IMGroupId] = group; list.Add(group); } group.AddInfo(user); } // Leave only topCount items if (topCount > 0) { list.Sort(); if (list.Count > topCount) { list.RemoveRange(topCount, list.Count - topCount); } } // Remove items with zero counter for (int i = 0; i < list.Count;) { if (((ActivityInfo)list[i]).Count == 0) { list.RemoveAt(i); } else { i++; } } return(list); }
/// <summary> /// Returns ArrayList of ActivityInfo objects. /// </summary> public static ArrayList GetSecureGroupsActivity(DateTime fromDate, DateTime toDate, ActivityReportType type, int topCount) { ArrayList list = new ArrayList(); ActivityInfo group; using (IDataReader reader = SecureGroup.GetListGroups()) { while (reader.Read()) { string sDisplayName = Common.GetWebResourceString(reader["GroupName"].ToString()); int iGroupId = (int)reader["GroupId"]; group = new ActivityInfo(sDisplayName); using (IDataReader _obj = GetSecGroupStats(iGroupId, fromDate, toDate, false)) { if (_obj.Read()) { switch (type) { case ActivityReportType.PortalLogins: group.Count = (int)_obj["PortalLogins"]; break; case ActivityReportType.CalendarEntries: group.Count = (int)_obj["NewEventsCount"]; break; case ActivityReportType.ActiveProjects: group.Count = (int)_obj["NewProjectsCount"]; break; /* case ActivityReportType.FilesPublished: group.Count=(int)_obj["NewAssetsCount"]; break; case ActivityReportType.FileVersionsPublished: group.Count=(int)_obj["NewAssetVersionsCount"]; break; */ case ActivityReportType.NewIssues: group.Count = (int)_obj["NewIncidentsCount"]; break; case ActivityReportType.NewTasks: group.Count = (int)_obj["NewTasksCount"]; break; case ActivityReportType.NewToDos: group.Count = (int)_obj["NewToDosCount"]; break; default: break; } } } list.Add(group); } } // Leave only topCount items if (topCount > 0) { list.Sort(); if (list.Count > topCount) list.RemoveRange(topCount, list.Count - topCount); } // Remove items with zero counter for (int i = 0; i < list.Count; ) { if (((ActivityInfo)list[i]).Count == 0) list.RemoveAt(i); else i++; } return list; }
private void BindTable() { DateTime StartDate, EndDate; //SetDates(ddPeriod.Value, out StartDate, out EndDate, fromDate.Text, toDate.Text); UserReport.GetDates(ddPeriod.Value, out StartDate, out EndDate, dtcStartDate.SelectedDate.ToShortDateString(), dtcEndDate.SelectedDate.ToShortDateString()); ActivityReportType art = (ActivityReportType)Enum.Parse(typeof(ActivityReportType), ddSelectView.SelectedItem.Value); DataTable at = null; switch (rblSelectType.SelectedItem.Value) { case "Group": at = UserReport.GetGroupsActivityTable(StartDate, EndDate, art, topxx); break; case "User": at = UserReport.GetUsersActivityTable(StartDate, EndDate, art, topxx); break; case "SecGroup": switch (art) { case ActivityReportType.PortalLogins: at = UserReport.GetMostActiveGroupsByPortalLoginsReport(StartDate, EndDate, topxx); break; case ActivityReportType.ActiveProjects: at = UserReport.GetMostActiveGroupsByProjectReport(StartDate, EndDate, topxx); break; case ActivityReportType.NewIssues: at = UserReport.GetMostActiveGroupsByIncidentReport(StartDate, EndDate, topxx); break; case ActivityReportType.CalendarEntries: at = UserReport.GetMostActiveGroupsByEventReport(StartDate, EndDate, topxx); break; case ActivityReportType.NewTasks: at = UserReport.GetMostActiveGroupsByTaskReport(StartDate, EndDate, topxx); break; case ActivityReportType.NewToDos: at = UserReport.GetMostActiveGroupsByToDoReport(StartDate, EndDate, topxx); break; case ActivityReportType.FilesPublished: at = UserReport.GetMostActiveGroupsByAssetReport(StartDate, EndDate, topxx); break; case ActivityReportType.FileVersionsPublished: at = UserReport.GetMostActiveGroupsByAssetVersionReport(StartDate, EndDate, topxx); break; } break; } if (at.Rows.Count > 0) { BuildTable(at); } else { lblTable.Text = "<td colspan='4'>" + LocRM.GetString("tNoRec") + "</td>"; trLegend.Visible = false; } string sFilter = " " + LocRM.GetString("tViewBy") + ": " + ddSelectView.SelectedItem.Text; if (ddPeriod.Value != "0") { sFilter += "<br/> " + LocRM.GetString("tPeriod") + ": " + StartDate.ToShortDateString() + " - " + EndDate.ToShortDateString(); } _header.Filter = sFilter; lblRepType.Text = ddSelectView.SelectedItem.Text; }