Пример #1
0
 /// <summary>
 /// Gets test results for specified test.
 /// </summary>
 /// <param name="test"> Test instance.</param>
 /// <returns> IEnumerable` of test results.</returns>
 /// <exception> System.ArgumentNullException if test is null.</exception>
 public IEnumerable <BllTestResult> GetTestResultsByTest(BllTest test)
 {
     if (test == null)
     {
         throw new ArgumentNullException(nameof(test));
     }
     return(repository.GetByPredicate(tr => tr.Test.Id == test.Id).Select(tr => tr.ToBllTestResult()));
 }
 /// <summary>
 /// Updates Test.
 /// </summary>
 /// <param name="test"> Test to update.</param>
 public void UpdateTest(BllTest test)
 {
     if (test == null)
     {
         throw new ArgumentNullException(nameof(test));
     }
     repository.Update(test.ToDalTest());
     service.Save();
 }
Пример #3
0
 public static ShowTestsViewModel ToMvcAllTests(this BllTest bllTest)
 {
     if (bllTest == null)
     {
         return(null);
     }
     return(new ShowTestsViewModel()
     {
         Id = bllTest.Id,
         Title = bllTest.Title,
         Description = bllTest.Description,
     });
 }
Пример #4
0
 public static PassingTestViewModel ToMvcPassingTest(this BllTest bllTest)
 {
     if (bllTest == null)
     {
         return(null);
     }
     return(new PassingTestViewModel()
     {
         Id = bllTest.Id,
         Title = bllTest.Title,
         Questions = bllTest.Questions.Select(q => q.ToMvcQuestion()).ToList()
     });
 }
Пример #5
0
 public static CreateTestsProfileViewModel ToMvcProfileCreateTest(this BllTest bllTest)
 {
     if (bllTest == null)
     {
         return(null);
     }
     return(new CreateTestsProfileViewModel()
     {
         Id = bllTest.Id,
         Title = bllTest.Title,
         Description = bllTest.Description,
         ThemeId = bllTest.ThemeId
     });
 }
Пример #6
0
 public static PreviewTestViewModel ToMvcPreviewTest(this BllTest bllTest)
 {
     if (bllTest == null)
     {
         return(null);
     }
     return(new PreviewTestViewModel()
     {
         Id = bllTest.Id,
         Title = bllTest.Title,
         TimeLimit = bllTest.TimeLimit,
         MinToSuccess = bllTest.MinToSuccess
     });
 }
Пример #7
0
 public static EditTestViewModel ToMvcEditTest(this BllTest bllTest)
 {
     if (bllTest == null)
     {
         return(null);
     }
     return(new EditTestViewModel()
     {
         Title = bllTest.Title,
         Description = bllTest.Description,
         TimeLimit = bllTest.TimeLimit,
         MinToSuccess = bllTest.MinToSuccess,
         ThemeId = bllTest.ThemeId,
     });
 }
Пример #8
0
 /// <summary>
 /// Maps BllTest entity to  DalTest entity.
 /// </summary>
 /// <param name="test"> BllTest instance.</param>
 /// <returns> DalTest instance.</returns>
 public static DalTest ToDalTest(this BllTest test)
 {
     return(new DalTest()
     {
         Id = test.Id,
         Name = test.Name,
         Created = test.Created,
         IsTimed = test.IsTimed,
         TimeToComplete = test.TimeToComplete,
         Subject = test.Subject?.ToDalSubject(),
         User = (new BllUser {
             Id = (int)test?.UserId
         }).ToDalUser(),
         Questions = test.Questions.Select(q => q.ToDalQuestion()).ToList()
     });
 }
Пример #9
0
 public static DetailsTestViewModel ToMvcTest(this BllTest bllTest)
 {
     if (bllTest == null)
     {
         return(null);
     }
     return(new DetailsTestViewModel()
     {
         Title = bllTest.Title,
         Description = bllTest.Description,
         TimeLimit = bllTest.TimeLimit,
         MinToSuccess = bllTest.MinToSuccess,
         DateCreation = bllTest.DateCreation,
         ThemeName = bllTest.ThemeId.ToString(),
         UserName = bllTest.UserId.ToString(),
         Questions = bllTest.Questions.Select(r => r.ToMvcQuestion()).ToList()
     });
 }
Пример #10
0
        /// <summary>
        /// Maps BllTest entity to TestViewModel.
        /// </summary>
        /// <param name="test"> BllTest instance.</param>
        /// <returns> TestViewModel instance.</returns>
        public static TestViewModel ToTestViewModel(this BllTest test)
        {
            int i             = 0;
            var testViewModel = new TestViewModel
            {
                Id             = test.Id,
                Name           = test.Name,
                SubjectName    = test.Subject.Name,
                UserId         = test.UserId.Value,
                Created        = test.Created,
                IsTimed        = test.IsTimed,
                TimeToComplete = test.TimeToComplete,
                Questions      = test.Questions.Select(q => q.ToQuestionViewModel()).ToList()
            };

            testViewModel.Questions.ToList().ForEach(q => q.QuestionNumber = ++i);
            return(testViewModel);
        }
Пример #11
0
        public static BllTest ToBllTest(this DalTest dalTest)
        {
            if (dalTest == null)
            {
                return(null);
            }
            var bllTest = new BllTest()
            {
                Id           = dalTest.Id,
                Title        = dalTest.Title,
                Description  = dalTest.Description,
                TimeLimit    = dalTest.TimeLimit,
                MinToSuccess = dalTest.MinToSuccess,
                DateCreation = dalTest.DateCreation,
                UserId       = dalTest.UserId,
                ThemeId      = dalTest.ThemeId,
                Questions    = dalTest.Questions.Select(r => r.ToBllQuestion()).ToList(),
                TestResults  = dalTest.TestResults.Select(r => r.ToBllTestResult()).ToList()
            };

            return(bllTest);
        }
Пример #12
0
 /// <summary>
 /// Updates information about the test
 /// </summary>
 /// <param name="item">Test</param>
 public void Update(BllTest item)
 {
     testRepository.Update(item.ToDalTest());
     unitOfWork.Commit();
 }
Пример #13
0
 /// <summary>
 /// Removes a test
 /// </summary>
 /// <param name="entity">Test</param>
 public void Delete(BllTest entity)
 {
     testRepository.Delete(entity.ToDalTest());
     DeleteTestQuestions(entity.Id);
     unitOfWork.Commit();
 }
Пример #14
0
 /// <summary>
 /// Creates a test
 /// </summary>
 /// <param name="entity">Test</param>
 public void Create(BllTest entity)
 {
     testRepository.Create(entity.ToDalTest());
     unitOfWork.Commit();
 }