Пример #1
0
        /// <summary>
        /// Get DashBoard Activity Count
        /// </summary>
        /// <returns></returns>
        public static DashBoardActivityCount GetDashBoardActivityCount()
        {
            StringBuilder traceLog = null;

            using (LinksMediaContext dataContext = new LinksMediaContext())
            {
                traceLog = new StringBuilder();
                DashBoardActivityCount objDashBoardActivity = new DashBoardActivityCount();
                try
                {
                    traceLog.AppendLine("Start: GetDashBoardActivityCount()");
                    List <int> ChallengeSubTypeList = ChallengesBL.GetFitnessTestORWorkoutSubTypeId(ConstantHelper.constFittnessCommonSubTypeId);
                    objDashBoardActivity.FitnessTestCount       = dataContext.Challenge.Count(ch => !ch.IsDraft && ChallengeSubTypeList.Contains(ch.ChallengeSubTypeId));
                    objDashBoardActivity.ActiveFitnessTestCount = dataContext.Challenge.Count(ch => !ch.IsDraft && ch.IsActive &&
                                                                                              ChallengeSubTypeList.Contains(ch.ChallengeSubTypeId));
                    objDashBoardActivity.UserCount = dataContext.User.Count();

                    //objDashBoardActivity.PremiumUserCount = (from crd in dataContext.Credentials
                    //                                         where crd.UserType != Message.UserTypeTeam
                    //                                         && (crd.IOSSubscriptionStatus || crd.AndriodSubscriptionStatus)
                    //                                         select crd.Id
                    //                                  ).Distinct().Count();

                    objDashBoardActivity.PremiumUserCount = (from usr in dataContext.User
                                                             join crd in dataContext.Credentials
                                                             on usr.UserId equals crd.UserId
                                                             where crd.UserType == Message.UserTypeUser &&
                                                             (crd.IOSSubscriptionStatus || crd.AndriodSubscriptionStatus)
                                                             select crd.Id
                                                             ).Distinct().Count();
                    objDashBoardActivity.TrainerCount = dataContext.Trainer.Count();
                    objDashBoardActivity.TeamCount    = dataContext.Teams.Count();
                    objDashBoardActivity.WorkoutCount = dataContext.Challenge.Count(workt => !workt.IsDraft &&
                                                                                    workt.ChallengeSubTypeId == ConstantHelper.constWorkoutChallengeSubType);
                    objDashBoardActivity.ActiveWorkoutCount = dataContext.Challenge.Count(workt => !workt.IsDraft && workt.IsActive &&
                                                                                          workt.ChallengeSubTypeId == ConstantHelper.constWorkoutChallengeSubType);
                    objDashBoardActivity.ProgramCount = dataContext.Challenge.Count(y => !y.IsDraft &&
                                                                                    y.ChallengeSubTypeId == ConstantHelper.constProgramChallengeSubType);
                    objDashBoardActivity.ActiveProgramCount = dataContext.Challenge.Count(y => !y.IsDraft && y.IsActive &&
                                                                                          y.ChallengeSubTypeId == ConstantHelper.constProgramChallengeSubType);
                    objDashBoardActivity.ActivityCount = dataContext.Activity.Count();
                    return(objDashBoardActivity);
                }
                catch
                {
                    throw;
                }
                finally
                {
                    traceLog.AppendLine("GetDashBoardActivityCount  end() : --- " + DateTime.Now.ToLongDateString());
                    LogManager.LogManagerInstance.WriteTraceLog(traceLog);
                }
            }
        }
        /// <summary>
        /// Action to Get DashBorad data
        /// </summary>
        /// <returns>ActionResult</returns>
        /// <devdoc>
        /// Developer Name - Raghuraj Singh
        /// Date - 03/27/2015
        /// </devdoc>
        public ActionResult DashBoard()
        {
            StringBuilder traceLog = null;
            DashBoard     model    = null;

            if (Login.IsSessionExpire(Convert.ToString(HttpContext.Session[Message.LoginUserName])) ||
                Convert.ToString(HttpContext.Session["UserType"]) != Message.UserTypeAdmin)
            {
                return(this.RedirectToAction("Login", "Login"));
            }
            try
            {
                traceLog = new StringBuilder();
                traceLog.AppendLine("Start: DashBoard controller");
                HttpContext.Session["SelectedTrainerId"] = 0;
                #region Second MiledStone

                /*Get Challenge count from the database*/
                //ViewBag.ChallengeCount = ChallengesCommonBL.GetChallengeCount();
                ///*Get Program count from the database*/
                //ViewBag.ProgramCount = UseresBL.GetProgramCount();

                ///*Get Challenge count from the database*/
                //ViewBag.ActiveChallengeCount = ChallengesCommonBL.GetActiveChallengeCount();

                ///*Get Trainer count from the database*/
                //ViewBag.TrainerCount = TrainersBL.GetTrainerCount();

                ///*Get User count from the database*/
                //ViewBag.UserCount = UseresBL.GetUserCount();

                ///*Get Team count from the database*/
                //ViewBag.TeamCount = TeamBL.GetTeamCount();

                /*Get Activitie count from the database*/
                //  ViewBag.ActivityCount = ActivityBL.GetActivityCount();

                DashBoardActivityCount objactivitycount = ActivityBL.GetDashBoardActivityCount();

                /*Get featured activity queue list from the database*/
                IEnumerable <FeaturedActivityQueue> objListFauturedActivity = ActivityBL.GetFeaturedActivity();

                /*Get COD queue list from the database*/
                IEnumerable <CODQueue> objListCOD = ChallengeOfTheDayBL.GetAllCOD();

                /*Get Sponser challenge queue list from the database*/
                IEnumerable <SponsorChallengeQueue> objListSponsorChallenge = SponsorChallengeBL.GetAllSponsorChallenge();

                /*Bind view model*/
                model = new DashBoard();
                model.FauturedActivityQueue  = objListFauturedActivity;
                model.ChallengeOfTheDayQueue = objListCOD;
                model.SponsorChallengeQueue  = objListSponsorChallenge;
                model.DashBoardActivity      = objactivitycount;
                return(this.View(model));

                #endregion
            }
            catch (Exception ex)
            {
                LogManager.LogManagerInstance.WriteErrorLog(ex);
                /*transfer to error page*/
                return(this.RedirectToAction("Error"));
            }
            finally
            {
                traceLog.AppendLine("DashBoard end() : --- " + DateTime.Now.ToLongDateString());
                LogManager.LogManagerInstance.WriteTraceLog(traceLog);
            }
        }