public void Name_Is_ToLong_Test()
        {
            //1. arrange
            var model = new DictaatForm();

            model.Name = "0123456789ABCDEFGHIJX";

            //2. act
            var result = Validator.TryValidateObject(model, new ValidationContext(model, null, null), null, true);

            //3. assert
            Assert.False(result);
        }
        public void Name_Is_Invalid_Test()
        {
            //1. arrange
            var model = new DictaatForm();

            model.Name = "AB#CD12345";

            //2. act
            var result = Validator.TryValidateObject(model, new ValidationContext(model, null, null), null, true);

            //3. assert
            Assert.False(result);
        }
示例#3
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="dictaatName"></param>
        /// <param name="form"></param>
        /// <returns></returns>
        public ViewModels.Dictaat CopyDictaat(string dictaatName, DictaatForm form)
        {
            var dictaat = _context.DictaatDetails
                          .Include(dd => dd.Assignments)
                          .Include(dd => dd.DictaatOwner)
                          .Include("Polls.Options")
                          .Include("Quizes.Questions.Question.Answers")
                          .FirstOrDefault(d => d.Name == dictaatName);

            string newName = form.Name;

            var newDictaatDetails = new Domain.DictaatDetails();

            newDictaatDetails.Name         = newName;
            newDictaatDetails.DictaatOwner = dictaat.DictaatOwner;

            //copy quizes
            dictaat.Quizes.ToList().ForEach(q => newDictaatDetails.Quizes.Add(q.Copy(newName)));

            //copy assignments
            dictaat.Assignments.Where(a => a.AssignmentType != AssignmentType.Quiz).ToList()
            .ForEach(a => newDictaatDetails.Assignments.Add(a.Copy(newName)));

            //copy polls
            dictaat.Polls.ToList()
            .ForEach(p => newDictaatDetails.Polls.Add(p.Copy()));

            //create session
            newDictaatDetails.Sessions.Add(new DictaatSession());

            //In the end: Save all the changes!
            _context.DictaatDetails.Add(newDictaatDetails);
            _context.SaveChanges();

            //copy files
            Domain.Dictaat newDictaat = _dictaatFactory
                                        .CopyDictaat(dictaatName, newDictaatDetails);


            return(new ViewModels.Dictaat(newDictaat, newDictaatDetails, null));
        }
示例#4
0
 public ViewModels.Dictaat CopyDictaat(string dictaatName, [FromBody] DictaatForm form)
 {
     return(_dictaatRepo.CopyDictaat(dictaatName, form));
 }