/// <summary>
        /// Action to delete featured activity
        /// </summary>
        /// <returns>ActionResult</returns>
        /// <devdoc>
        /// Developer Name - Raghuraj Singh
        /// Date - 03/27/2015
        /// </devdoc>
        public ActionResult DeleteFeaturedActivity(int id)
        {
            StringBuilder traceLog = 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: DeleteFeaturedActivity  controller");
                ActivityBL.DeleteFeaturedActivity(id);
                TempData["AlertMessage"] = Message.DeleteMessage;
                return(this.RedirectToAction("DashBoard"));
            }
            catch (Exception ex)
            {
                LogManager.LogManagerInstance.WriteErrorLog(ex);
                return(null);
            }
            finally
            {
                traceLog.AppendLine("DeleteFeaturedActivity end() : --- " + DateTime.Now.ToLongDateString());
                LogManager.LogManagerInstance.WriteTraceLog(traceLog);
            }
        }
        public Result <IList <ActivityViewModel> > RegisterActivity(Activity dtoActivity)
        {
            Result <IList <ActivityViewModel> > result;
            Result <string> resultInsert;
            Result <string> sessionResult = validarSesion();

            if (sessionResult.StatusCode == 200)
            {
                ActivityBL BL = new ActivityBL();
                dtoActivity.IdUser = int.Parse(sessionResult.Data.Split('¬')[1].ToString());
                resultInsert       = BL.RegisterActivity(2, dtoActivity, string.Empty);
                if (string.IsNullOrEmpty(resultInsert.Message) || resultInsert.Message.StartsWith("1"))
                {
                    result            = BL.GetActivities(1, dtoActivity, string.Empty);
                    result.StatusCode = (int)HttpStatusCode.OK;
                }
                else
                {
                    result            = new Result <IList <ActivityViewModel> >(null, resultInsert.Message, sessionResult.StatusCode);
                    result.StatusCode = (int)HttpStatusCode.BadRequest;
                }
            }
            else
            {
                result = new Result <IList <ActivityViewModel> >(null, sessionResult.Message, sessionResult.StatusCode);
            }
            if (!string.IsNullOrEmpty(result.Message))
            {
                result.Message = result.Message.Split('¬')[1];
            }
            return(result);
        }
        /// <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);
            }
        }