public QuestionListPage(IList<Question> questionList, string filter, AppEnums.QuestionListFilter filterType )
        {
            
            InitializeComponent();
           
            switch (filterType)
            {
               
                case AppEnums.QuestionListFilter.UnAnswered:
                    {
                            QuestionList = questionList.Where(x => x.Unanswered).ToList();
                            StudyPlan = filter;
                            this.BindingContext = AppCache.AssignNumberToQuestion(QuestionList, SessionType.PractiseMode);

                        break;
                    }
                case AppEnums.QuestionListFilter.AnsweredCorrectly:
                    {
                       
                            QuestionList =
                                questionList.Where(x => x.AnsweredCorrectly != null && x.AnsweredCorrectly.Value).ToList();
                            StudyPlan = filter;
                            this.BindingContext = AppCache.AssignNumberToQuestion(QuestionList, SessionType.PractiseMode);

                        break;
                    }
                case AppEnums.QuestionListFilter.AnsweredIncorrectly:
                    {

                        QuestionList =
                            questionList.Where(x => x.AnsweredCorrectly != null && x.AnsweredCorrectly.Value.Equals(false)).ToList();
                        StudyPlan = filter;
                        this.BindingContext = AppCache.AssignNumberToQuestion(QuestionList, SessionType.PractiseMode);

                        break;
                    }
                case AppEnums.QuestionListFilter.StudyPlan:
                    {
                        QuestionList = questionList.Where(x => x.StudyPlan.Equals(filter)).ToList();
                        StudyPlan = filter;
                        this.BindingContext = AppCache.AssignNumberToQuestion(QuestionList, SessionType.PractiseMode);
                        break;
                    }
                case AppEnums.QuestionListFilter.Favorite:
                    {
                            QuestionList = questionList.Where(x => x.IsFavorite != null && x.IsFavorite.Value).ToList();
                            StudyPlan = filter;
                            this.BindingContext = AppCache.AssignNumberToQuestion(QuestionList, SessionType.PractiseMode);
                        break;
                    }
                default:
                    this.BindingContext = AppCache.AssignNumberToQuestion(QuestionList, SessionType.PractiseMode);
                    break;
            }
            
        }
        public void ExceptionLogger(string stackTrace, DateTime encounteredDate, AppEnums.LoggerStatus status)
        {
            try
            {
                LoggerMessage _logMessage = new LoggerMessage();
                _logMessage.StackTrace = stackTrace;
                _logMessage.EncounteredDate = encounteredDate;
                _logMessage.Status = status;

                DBHelper.Instance.RunExceptionLogger(_logMessage);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }