private void LoginButtonClicked(object sender, RoutedEventArgs e)
        {
            if (PasswordAdmin.Password == null || PasswordAdmin.Password == String.Empty) return;
            if (UserNameAdminTB.Text == null || UserNameAdminTB.Text == String.Empty) return;
            CRUDManager CRUDM = new CRUDManager();

            #region add new admin code
            //PasswordHash hash1 = new PasswordHash(PasswordAdmin.Password);
            //byte[] hashBytes1 = hash1.ToArray();
            //var str = System.Text.Encoding.Default.GetString(hashBytes1);

            //bool IsAdminAdded = CRUDM.AddNewAdmin(UserNameAdminTB.Text.Trim(), str);
            #endregion

            User AdminInfo = CRUDM.GetAdminLoginDetails(UserNameAdminTB.Text);//read from store.

            if (AdminInfo == null || AdminInfo.Password == null) { MessageBox.Show("පරිපාලකයාගේ නම නිවැරදි කරන්න​"); return; }// if user name does not match login failed

            byte[] hashBytes = System.Text.Encoding.Default.GetBytes(AdminInfo.Password);
            PasswordHash hash = new PasswordHash(hashBytes);
            if (hash.Verify(PasswordAdmin.Password))
            {
                AdminWindow Admin = new AdminWindow();
                Admin.Show();
                UserNameAdminTB.Text = "";
                PasswordAdmin.Password = "";
                //this.Close();
            }
            else
            {
                MessageBox.Show("රහස් පදය නිවැරදි කරන්න​");
            }
        }
        private void AttemptTOQuisButtonClicked(object sender, RoutedEventArgs e)
        {
            if (!ValidateIDNumber(NICNumberTB.Text)) return;
            if (NameTB.Text == null || NameTB.Text == String.Empty) return;

            CRUDManager CRUDM = new CRUDManager();
            if (CRUDM.AddNewUser(NameTB.Text, NICNumberTB.Text))
            {
                UserWindow user = new UserWindow(NameTB.Text, NICNumberTB.Text);
                user.Show();
                NICNumberTB.Text = "";
                NameTB.Text = "";
                //this.Close();
            }
            else
            {
                //MessageBox.Show("");
            }
        }
 private void AdminWindowLoaded(object sender, RoutedEventArgs e)
 {
     CRUDManager cm = new CRUDManager();
     Questions = cm.GetAllQuestions();
 }
        private void UserWindowLoaded(object sender, RoutedEventArgs e)
        {
            NameTB.Text = this.UserName;
            IDNumbrTB.Text = this.IDCardNo;

            CRUDManager cm = new CRUDManager();
            //ttbCountDown.TimeSpan = cm.GetTimeSpan();
            int number = cm.GetNumberOfQuestions();
            List<QuestionModel> qm = cm.GetAllQuestions();
            int[] temp = { };
            if (qm.Count > 0)
            {
                Random rnd = new Random();
                temp = Enumerable.Range(0, qm.Count).OrderBy(i => rnd.Next()).ToArray();
            }

            int[] count = { number, temp.Length };

            for (int i = 0; i < count.Min(); i++)
            {
                int qIndex = temp[i];
                QuestionVM qvModel = new QuestionVM();
                qvModel.Answers = new ObservableCollection<AnswersVM>();
                qvModel.Images = new ObservableCollection<ImageModel>();
                qvModel.QNumber = i+1;
                qvModel.QBody = qm[qIndex].QBody;
                for (int j = 0; j < qm[qIndex].Answers.Count; j++)
                {
                    AnswersVM a = new AnswersVM();
                    a.AnswerBody = qm[qIndex].Answers[j].AnswerBody;
                    a.IsCorrectAnswer = qm[qIndex].Answers[j].IsCorrectAnswer;
                    a.TagNumber = j.ToString();

                    qvModel.Answers.Add(a);
                }
                for (int j = 0; j < qm[qIndex].Images.Count; j++)
                {
                    qvModel.Images.Add(qm[qIndex].Images[j]);
                }

                Question qView = new Question();
                qView.DataContext = qvModel;
                QuestionListSP.Children.Add(qView);
                QuestionList.Add(qView);
            }
        }