/// <summary>
 /// Navigated to UserControl event
 /// </summary>
 public override async void OnNavigatedTo(NavigationContext navigationContext)
 {
     if (!(await TryGetTestResultsList()))
     {
         if (await _tokenHandler.TryRefreshTokenAsync())
         {
             await TryGetTestResultsList();
         }
         else
         {
             MessageBox.Show(LocalizationService.GetLocalizedValue <string>("TokenExpired"));
             RegionManager.RequestNavigate(StaticProperties.ContentRegion, "AuthorizationWindow");
         }
     }
 }
        /// <summary>
        /// navigated to UserControl event
        /// </summary>
        /// <param name="navigationContext">key=value vars</param>
        public override async void OnNavigatedTo(NavigationContext navigationContext)
        {
            int    editTestId = 0;
            string editTestIdString;

            if (navigationContext.Parameters.Count != 0)
            {
                editTestIdString = navigationContext.Parameters[nameof(Test.Id)].ToString();
                if (!string.IsNullOrWhiteSpace(editTestIdString))
                {
                    int.TryParse(editTestIdString, out editTestId);
                }
                if (editTestId > 0)
                {
                    if (!await TryGetTestResultsList(editTestId))
                    {
                        if (await _tokenHandler.TryRefreshTokenAsync())
                        {
                            await TryGetTestResultsList(editTestId);
                        }
                        else
                        {
                            MessageBox.Show(LocalizationService.GetLocalizedValue <string>("TokenExpired"));
                            RegionManager.RequestNavigate(StaticProperties.ContentRegion, "AuthorizationWindow");
                        }
                    }
                }
            }
        }
Ejemplo n.º 3
0
 /// <summary>
 /// delete test button event
 /// </summary>
 /// <param name="testUI">test</param>
 /// <returns>task</returns>
 public async Task DeleteTestButton(object testUI)
 {
     if (testUI != null)
     {
         var test = (testUI as Test);
         if (!(await TryDeleteTest(test)))
         {
             if (await _tokenHandler.TryRefreshTokenAsync())
             {
                 await TryDeleteTest(test);
             }
             else
             {
                 MessageBox.Show(LocalizationService.GetLocalizedValue <string>("TokenExpired"));
                 RegionManager.RequestNavigate(StaticProperties.ContentRegion, "AuthorizationWindow");
             }
         }
     }
 }
Ejemplo n.º 4
0
        /// <summary>
        /// Navigated to UserControl event
        /// </summary>
        /// <param name="navigationContext">key=value vars</param>
        public override async void OnNavigatedTo(NavigationContext navigationContext)
        {
            // can be implemented in more elegant way, create some local storage service and hangle if user logged in or not
            string TestIdString = navigationContext.Parameters["TestId"].ToString();

            if (int.TryParse(TestIdString, out int testId))
            {
                if (!await TryGetTest(testId))
                {
                    if (await _tokenHandler.TryRefreshTokenAsync())
                    {
                        await TryGetTest(testId);
                    }
                    else
                    {
                        MessageBox.Show(LocalizationService.GetLocalizedValue <string>("TokenExpired"));
                        RegionManager.RequestNavigate(StaticProperties.ContentRegion, "AuthorizationWindow");
                    }
                }
            }
        }
        /// <summary>
        /// Navigated to UserControl event
        /// </summary>
        /// <param name="navigationContext">key=value vars</param>
        public override async void OnNavigatedTo(NavigationContext navigationContext)
        {
            TestResult = null;
            string TestResultIdString = navigationContext.Parameters["TestResultId"].ToString();

            if (!string.IsNullOrWhiteSpace(TestResultIdString) && int.TryParse(TestResultIdString, out int testId))
            {
                if (!await TryGetTestResult(testId))
                {
                    if (await _tokenHandler.TryRefreshTokenAsync())
                    {
                        await TryGetTestResult(testId);
                    }
                    else
                    {
                        MessageBox.Show(LocalizationService.GetLocalizedValue <string>("TokenExpired"));
                        RegionManager.RequestNavigate(StaticProperties.ContentRegion, "AuthorizationWindow");
                    }
                }
            }
        }
Ejemplo n.º 6
0
 /// <summary>
 /// Create test button event, validate test
 /// </summary>
 /// <returns>Task</returns>
 public async Task CreateTestButton()
 {
     if (Test.Attempts == 0)
     {
         MessageBox.Show(LocalizationService.GetLocalizedValue <string>("AttemptCountError"));
         return;
     }
     if (string.IsNullOrWhiteSpace(Test.Name))
     {
         MessageBox.Show(LocalizationService.GetLocalizedValue <string>("TestNameError"));
         return;
     }
     if (Test.Questions.Count == 0)
     {
         MessageBox.Show(LocalizationService.GetLocalizedValue <string>("QuestionCountError"));
         return;
     }
     foreach (var question in Test.Questions)
     {
         if (string.IsNullOrWhiteSpace(question.Question))
         {
             MessageBox.Show(LocalizationService.GetLocalizedValue <string>("QuestionNameEmpty"));
             return;
         }
         if (question.Answers.Count < 2)
         {
             MessageBox.Show(string.Format(LocalizationService.GetLocalizedValue <string>("AnswerCountError"), question.Question));
             return;
         }
         int count = 0;
         foreach (var answer in question.Answers)
         {
             if (string.IsNullOrWhiteSpace(answer.Answer))
             {
                 MessageBox.Show(string.Format(LocalizationService.GetLocalizedValue <string>("AnswerNameError"), question.Question));
                 return;
             }
             if (answer.IsRight)
             {
                 count++;
             }
         }
         if (count == 0)
         {
             MessageBox.Show(string.Format(LocalizationService.GetLocalizedValue <string>("RightAnswerCountError"), question.Question));
             return;
         }
     }
     if (IsTestEditing)
     {
         if (await TrySendTest())
         {
         }
         else
         {
             if (await _tokenHandler.TryRefreshTokenAsync())
             {
                 await TrySendTest();
             }
             else
             {
                 MessageBox.Show(LocalizationService.GetLocalizedValue <string>("TokenExpired"));
                 RegionManager.RequestNavigate(StaticProperties.ContentRegion, "AuthorizationWindow");
             }
         }
     }
     else
     {
         if (await TryUpdateTest())
         {
         }
         else
         {
             if (await _tokenHandler.TryRefreshTokenAsync())
             {
                 await TryUpdateTest();
             }
             else
             {
                 MessageBox.Show(LocalizationService.GetLocalizedValue <string>("TokenExpired"));
                 RegionManager.RequestNavigate(StaticProperties.ContentRegion, "AuthorizationWindow");
             }
         }
     }
 }