/// <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);
        }
Ejemplo n.º 2
0
        public DataTable GetBranchWiseJobStatusReportBAL(DashboardBE dashboardBE)
        {
            DataTable dt = new DataTable();

            try
            {
                dt = compassDAL.GetBranchWiseJobStatusReportDAL(dashboardBE);
            }
            catch (Exception ex)
            {
            }
            return(dt);
        }
Ejemplo n.º 3
0
        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));
        }
Ejemplo n.º 4
0
        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);
        }
Ejemplo n.º 5
0
        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);
        }
Ejemplo n.º 6
0
        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;
            }
        }
Ejemplo n.º 7
0
        /// <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);
        }