/// <summary> /// API call to get dashboard details /// </summary> /// <param name="argUserID">User ID for loading dashboard details</param> /// <returns></returns> private async Task <Dashboard> GetDashboardDetails(int argUserID) { #region Declarations DashboardBE l_DashboardBE = new DashboardBE(); Dashboard l_Dashboard = new Dashboard(); int l_LoggedInUser = 0; string l_DashboardURL = string.Empty; #endregion try { l_LoggedInUser = GetLoggedInUserID(); l_DashboardURL = apiBaseURL + "/GetDashboardData?argLoggedInUser="******"&argUserID=" + argUserID; HttpResponseMessage l_DashboardData = await client.GetAsync(l_DashboardURL); if (l_DashboardData != null && l_DashboardData.IsSuccessStatusCode) { var l_DashboardResponse = l_DashboardData.Content.ReadAsStringAsync().Result; l_DashboardBE = JsonConvert.DeserializeObject <DashboardBE>(l_DashboardResponse); l_Dashboard = ConvertDashboardBEDataToModel(l_DashboardBE); } } catch (Exception ex) { throw ex; } return(l_Dashboard); }
public DataTable GetBranchWiseJobStatusReportBAL(DashboardBE dashboardBE) { DataTable dt = new DataTable(); try { dt = compassDAL.GetBranchWiseJobStatusReportDAL(dashboardBE); } catch (Exception ex) { } return(dt); }
public IHttpActionResult GetDashboardData(int argLoggedInUser, int argUserID) { #region Declarations DashboardBLO l_DashboardBLO = new DashboardBLO(); DashboardBE l_DashboardBE = new DashboardBE(); #endregion try { l_DashboardBE = l_DashboardBLO.GetDashboardDetails(argLoggedInUser, argUserID); if (l_DashboardBE == null) { return(NotFound()); } } catch (Exception ex) { throw ex; } return(Ok(l_DashboardBE)); }
public DataTable GetBranchWiseJobStatusReportDAL(DashboardBE dashboardBE) { DataTable dt = new DataTable(); try { SqlParameter[] param = { new SqlParameter("@UserId", dashboardBE.jobFilters.Id), new SqlParameter("@BranchId", dashboardBE.jobFilters.BranchId), new SqlParameter("@StartDate", dashboardBE.jobFilters.FromDate), new SqlParameter("@EndDate", dashboardBE.jobFilters.ToDate), }; DataSet ds = SqlHelper.ExecuteDataset(DBConnection.Connection.ToString(), CommandType.StoredProcedure, "spListJobs", param); dt = ds.Tables[0]; } catch (Exception ex) { // LogUtility.SaveErrorLogEntry(ex); } return(dt); }
public static object GetChartData(int UserId, int BranchId, string FromDate, string ToDate) { List <DashboardBE> dashboardData = new List <DashboardBE>(); CompassBAL compassBAL = new CompassBAL(); //Here MyDatabaseEntities is our dbContext DashboardBE dashboardBE = new DashboardBE(); dashboardBE.jobFilters = new jobFiltersBE(); dashboardBE.jobFilters.Id = UserId; dashboardBE.jobFilters.FromDate = !string.IsNullOrEmpty(FromDate) ? FromDate : "01/01/1900"; dashboardBE.jobFilters.ToDate = !string.IsNullOrEmpty(ToDate) ? ToDate : "01/01/1900"; dashboardBE.jobFilters.BranchId = Convert.ToInt32(BranchId); DataTable dtBranchWiseJobStatus = compassBAL.GetBranchWiseJobStatusReportBAL(dashboardBE); JobCountByType jobCountByTypeView = new JobCountByType(); var jobCountByType = dtBranchWiseJobStatus.AsEnumerable().Select(s => new { Status = s.Field <string>("JobStatus"), Type = s.Field <string>("JobType"), }); var statuses = jobCountByType.Select(s => s.Status).Distinct().OrderBy(o => o); var types = jobCountByType.Select(s => s.Type).Distinct().OrderBy(o => o); var typeList = types.Where(s => s != "Other").ToList(); typeList.Add(types.Where(s => s == "Other").FirstOrDefault()); var Jobdata = new object[statuses.Count() + 1, typeList.Count() + 1]; List <JobStatusChart> lstChartData = new List <JobStatusChart>(); foreach (var type in typeList) { var statusData = jobCountByType.Where(w => w.Type == type) .GroupBy(g => g.Status) .Select(s => new { Status = s.Key, Count = s.Count() }).ToList(); List <StatusCount> StatusCount = new List <StatusCount>(); foreach (var status in statusData) { StatusCount.Add(new StatusCount { Status = status.Status, Count = status.Count }); } lstChartData.Add(new JobStatusChart { Name = type, StatusCount = StatusCount }); } return(lstChartData); }
public void BindBranchWiseJobStatusReport() { DashboardBE dashboardBE = new DashboardBE(); dashboardBE.jobFilters = new jobFiltersBE(); dashboardBE.jobFilters.Id = Session["UserId"] != null?Convert.ToInt32(Session["UserId"]) : 1; dashboardBE.jobFilters.FromDate = !string.IsNullOrEmpty(txtFromDate.Text) ? txtFromDate.Text : "01/01/1900"; dashboardBE.jobFilters.ToDate = !string.IsNullOrEmpty(txtToDate.Text) ? txtToDate.Text : "01/01/1900"; dashboardBE.jobFilters.BranchId = ddlBranch.SelectedValue != null?Convert.ToInt32(ddlBranch.SelectedValue) : 0; UserID = dashboardBE.jobFilters.Id; BranchId = dashboardBE.jobFilters.BranchId; FromDate = dashboardBE.jobFilters.FromDate; ToDate = dashboardBE.jobFilters.ToDate; DataTable dtBranchWiseJobStatus = compassBAL.GetBranchWiseJobStatusReportBAL(dashboardBE); if (dtBranchWiseJobStatus != null && dtBranchWiseJobStatus.Rows.Count > 0) { var jobCountByType = dtBranchWiseJobStatus.AsEnumerable().Select(s => new { Status = s.Field <string>("JobStatus"), //StatusId = s.Field<int>(""), Type = s.Field <string>("JobType"), //TypeId = s.Field<int>("") }); StringBuilder sHTML = new StringBuilder(); var statuses = jobCountByType.Select(s => s.Status).Distinct().OrderBy(o => o); var types = jobCountByType.Select(s => s.Type).Distinct().OrderBy(o => o); var typeList = types.Where(s => s != "Other").ToList(); typeList.Add(types.Where(s => s == "Other").FirstOrDefault()); // Logic used for creating table of Dashboard Data if (statuses.Count() > 0 && typeList.Count() > 0) { sHTML.Append("<table class='table'>"); //Print header row sHTML.Append("<tr>"); sHTML.Append("<th>"); sHTML.Append("Status"); sHTML.Append("</th>"); foreach (var type in typeList) { sHTML.Append("<th>"); sHTML.Append(type); sHTML.Append("</th>"); } sHTML.Append("</tr>"); //Print count rows foreach (var status in statuses) { sHTML.Append("<tr>"); sHTML.Append("<td>"); sHTML.Append(status); sHTML.Append("</td>"); foreach (var type in typeList) { var count = jobCountByType.Where(w => w.Status == status && w.Type == type).Count(); sHTML.Append("<td>"); sHTML.Append(count); sHTML.Append("</td>"); } sHTML.Append("</tr>"); } sHTML.Append("</table>"); divTable.InnerHtml = sHTML.ToString(); } } else { lblNoRecordsFound.Visible = true; divTable.InnerHtml = lblNoRecordsFound.Text; } }
/// <summary> /// Get dashboard data for user /// </summary> /// <param name="argLoggedInUser">Logged in user ID</param> /// <param name="argUserID">User for whom dashboard details should be loaded</param> /// <returns></returns> public DashboardBE GetDashboardDetails(int argLoggedInUser, int argUserID) { #region Declarations DashboardBE l_DashboardBE = new DashboardBE(); SkillsDBManager l_SkillsDBManager = new SkillsDBManager("SkillsDBConnection"); List <IDbDataParameter> l_Parameters = new List <IDbDataParameter>(); DataSet l_DashboardDataset = new DataSet(); DataTable l_SkillTable = new DataTable(); DataTable l_SubSkillTable = new DataTable(); DataTable l_DemoDetailsTable = new DataTable(); DataTable l_BadgeDetailsTable = new DataTable(); DataTable l_UserDetailsTable = new DataTable(); SkillsBECollection l_skillsBECollection = new SkillsBECollection(); ScheduleDemoBECollection l_ScheduleDemoBECollection = new ScheduleDemoBECollection(); ScheduleDemoBE l_ScheduleDemoBE; BadgeBECollection l_BadgeBECollection = new BadgeBECollection(); BadgeBE l_BadgeBE; SkillsBE l_SkillsBE; #endregion try { l_Parameters.Add(l_SkillsDBManager.CreateParameter(ProcedureParams.LOGGEDINUSERID, argLoggedInUser, DbType.Int32)); l_Parameters.Add(l_SkillsDBManager.CreateParameter(ProcedureParams.USERID, argUserID, DbType.Int32)); l_DashboardDataset = l_SkillsDBManager.GetDataSet(StoredProcedures.GET_DASHBOARDDETAILS, CommandType.StoredProcedure, l_Parameters.ToArray()); if (l_DashboardDataset != null && l_DashboardDataset.Tables.Count > 0) { l_UserDetailsTable = l_DashboardDataset.Tables[0]; l_SkillTable = l_DashboardDataset.Tables[1]; l_SubSkillTable = l_DashboardDataset.Tables[2]; //Get UserDetails if (l_UserDetailsTable != null && l_UserDetailsTable.Rows.Count > 0) { l_DashboardBE.UserID = l_UserDetailsTable.Rows[0]["UserID"] == DBNull.Value ? 0 : Convert.ToInt32(l_UserDetailsTable.Rows[0]["UserID"]); l_DashboardBE.UserName = l_UserDetailsTable.Rows[0]["UserName"] == DBNull.Value ? string.Empty : Convert.ToString(l_UserDetailsTable.Rows[0]["UserName"]); l_DashboardBE.EmailID = l_UserDetailsTable.Rows[0]["EmailID"] == DBNull.Value ? string.Empty : Convert.ToString(l_UserDetailsTable.Rows[0]["EmailID"]); l_DashboardBE.InitialSkillExists = l_UserDetailsTable.Rows[0]["InitialSkillExists"] == DBNull.Value ? false : Convert.ToBoolean(l_UserDetailsTable.Rows[0]["InitialSkillExists"]); } //Get skill and subskill if (l_SkillTable != null && l_SkillTable.Rows.Count > 0) { for (int i = 0; i < l_SkillTable.Rows.Count; i++) { l_SkillsBE = new SkillsBE(); DataRow l_Row = l_SkillTable.Rows[i]; l_SkillsBE.SkillID = l_Row["SkillID"] == DBNull.Value ? 0 : Convert.ToInt32(l_Row["SkillID"]); l_SkillsBE.SkillName = l_Row["SkillName"] == DBNull.Value ? string.Empty : Convert.ToString(l_Row["SkillName"]); l_SkillsBE.SkillPoints = l_Row["SkillPoints"] == DBNull.Value ? 0 : Convert.ToInt32(l_Row["SkillPoints"]); l_SkillsBE.SkillType = l_Row["SkillType"] == DBNull.Value ? string.Empty : Convert.ToString(l_Row["SkillType"]); l_SkillsBE.SubSkillBECollection = GetSubSkillData(l_SkillsBE.SkillID, l_SubSkillTable, l_SkillsBE.SkillType); l_skillsBECollection.Add(l_SkillsBE); } l_DashboardBE.SkillsBECollection = l_skillsBECollection; } //Get badge data l_BadgeDetailsTable = l_DashboardDataset.Tables[3]; if (l_BadgeDetailsTable != null && l_BadgeDetailsTable.Rows.Count > 0) { for (int i = 0; i < l_BadgeDetailsTable.Rows.Count; i++) { DataRow l_Row = l_BadgeDetailsTable.Rows[i]; l_BadgeBE = new BadgeBE(); l_BadgeBE.BadgeID = l_Row["BadgeID"] == DBNull.Value ? 0 : Convert.ToInt32(l_Row["BadgeID"]); l_BadgeBE.BadgeName = l_Row["BadgeName"] == DBNull.Value ? string.Empty : Convert.ToString(l_Row["BadgeName"]); l_BadgeBE.BadgeURL = l_Row["BadgeImageURL"] == DBNull.Value ? string.Empty : Convert.ToString(l_Row["BadgeImageURL"]); l_BadgeBE.BadgeCount = l_Row["BadgeCount"] == DBNull.Value ? 0 : Convert.ToInt32(l_Row["BadgeCount"]); l_BadgeBECollection.Add(l_BadgeBE); } l_DashboardBE.BadgeBECollection = l_BadgeBECollection; } //Get demo details l_DemoDetailsTable = l_DashboardDataset.Tables[4]; if (l_DemoDetailsTable != null && l_DemoDetailsTable.Rows.Count > 0) { for (int i = 0; i < l_DemoDetailsTable.Rows.Count; i++) { DataRow l_Row = l_DemoDetailsTable.Rows[i]; l_ScheduleDemoBE = new ScheduleDemoBE(); l_ScheduleDemoBE.UniqueID = l_Row["UDID"] == DBNull.Value ? 0 : Convert.ToInt32(l_Row["UDID"]); l_ScheduleDemoBE.UserID = l_Row["UserID"] == DBNull.Value ? 0 : Convert.ToInt32(l_Row["UserID"]); l_ScheduleDemoBE.SkillID = l_Row["SkillID"] == DBNull.Value ? 0 : Convert.ToInt32(l_Row["SkillID"]); l_ScheduleDemoBE.SubSkillID = l_Row["SubskillID"] == DBNull.Value ? 0 : Convert.ToInt32(l_Row["SubskillID"]); l_ScheduleDemoBE.SkillName = l_Row["SkillName"] == DBNull.Value ? string.Empty : Convert.ToString(l_Row["SkillName"]); l_ScheduleDemoBE.SubSkillName = l_Row["SubskillName"] == DBNull.Value ? string.Empty : Convert.ToString(l_Row["SubskillName"]); l_ScheduleDemoBE.Room = l_Row["Room"] == DBNull.Value ? string.Empty : Convert.ToString(l_Row["Room"]); l_ScheduleDemoBE.EventConductedBy = l_Row["EventConductedBy"] == DBNull.Value ? string.Empty : Convert.ToString(l_Row["EventConductedBy"]); l_ScheduleDemoBE.DemoSchedule = l_Row["DateAndTime"] == DBNull.Value ? DateTime.Now : Convert.ToDateTime(l_Row["DateAndTime"]); l_ScheduleDemoBECollection.Add(l_ScheduleDemoBE); } l_DashboardBE.ScheduleDemoBECollection = l_ScheduleDemoBECollection; } } } catch (Exception) { throw; } return(l_DashboardBE); }
/// <summary> /// Convert dashboard business entity to Model /// </summary> /// <param name="argDashboardBE">Dashboard business Entity</param> /// <returns></returns> private Dashboard ConvertDashboardBEDataToModel(DashboardBE argDashboardBE) { #region Declarations Dashboard l_Dashboard = new Dashboard(); SkillCollection l_SkillCollection = new SkillCollection(); BadgeCollection l_BadgeCollection = new BadgeCollection(); ScheduleDemoCollection l_ScheduleDemoCollection = new ScheduleDemoCollection(); Badge l_Badge; Skills l_Skills; ScheduleDemo l_ScheduleDemo; #endregion try { if (argDashboardBE != null) { //Get User Details l_Dashboard.UserID = argDashboardBE.UserID; l_Dashboard.UserName = argDashboardBE.UserName; l_Dashboard.EmailID = argDashboardBE.EmailID; l_Dashboard.InitialSkillExists = argDashboardBE.InitialSkillExists; l_Dashboard.DisplayActionItems = argDashboardBE.UserID == GetLoggedInUserID() ? true : false; //Convert Skill and subskill set if (argDashboardBE.SkillsBECollection != null && argDashboardBE.SkillsBECollection.Count > 0) { foreach (var skill in argDashboardBE.SkillsBECollection) { l_Skills = new Skills(); l_Skills.SkillID = skill.SkillID; l_Skills.SkillName = skill.SkillName; l_Skills.SkillType = skill.SkillType; l_Skills.SkillPoints = skill.SkillPoints; l_Skills.SubSkillCollection = GetSubskillcollection(skill.SubSkillBECollection); l_SkillCollection.Add(l_Skills); } l_Dashboard.SkillsCollection = l_SkillCollection; l_Dashboard.SkillData = JsonConvert.SerializeObject(l_SkillCollection); } //Convert Badge if (argDashboardBE.BadgeBECollection != null && argDashboardBE.BadgeBECollection.Count > 0) { foreach (var badgeBE in argDashboardBE.BadgeBECollection) { l_Badge = new Badge(); l_Badge.BadgeID = badgeBE.BadgeID; l_Badge.BadgeName = badgeBE.BadgeName; l_Badge.BadgeURL = badgeBE.BadgeURL; l_Badge.BadgeCount = badgeBE.BadgeCount; l_BadgeCollection.Add(l_Badge); } l_Dashboard.BadgeCollection = l_BadgeCollection; } //Convert Demo Details if (argDashboardBE.ScheduleDemoBECollection != null && argDashboardBE.ScheduleDemoBECollection.Count > 0) { foreach (var demoBE in argDashboardBE.ScheduleDemoBECollection) { l_ScheduleDemo = new ScheduleDemo(); l_ScheduleDemo.DemoSchedule = demoBE.DemoSchedule; l_ScheduleDemo.Comments = demoBE.Comments; l_ScheduleDemo.UniqueID = demoBE.UniqueID; l_ScheduleDemo.Room = demoBE.Room; l_ScheduleDemo.SkillID = demoBE.SkillID; l_ScheduleDemo.SkillName = demoBE.SkillName; l_ScheduleDemo.SubSkillName = demoBE.SubSkillName; l_ScheduleDemo.UserID = demoBE.UserID; l_ScheduleDemo.EventConductedBy = demoBE.EventConductedBy; l_ScheduleDemoCollection.Add(l_ScheduleDemo); } l_Dashboard.ScheduleDemoCollection = l_ScheduleDemoCollection; } } } catch (Exception) { throw; } return(l_Dashboard); }