Example #1
0
        public ViewModels.Dictaat getDictaat(string name)
        {
            string pagesPath = name + _pagesDirectory;

            Domain.Dictaat dictaat = _dictaatFactory.GetDictaat(name);
            return(new ViewModels.Dictaat(dictaat));
        }
Example #2
0
 public Dictaat(Domain.Dictaat dictaat, DictaatDetails details, IList <Domain.Google.PageView> analytics)
 {
     this.Name      = dictaat.Name;
     this.Pages     = dictaat.Pages.Select(f => new DictaatPageSummary(f));
     this.MenuItems = dictaat.MenuItems.Select(mi => new ViewModels.MenuItem(mi, analytics)).ToList();
     this.Owner     = new UserVM(details.DictaatOwner);
 }
Example #3
0
        public async Task <ViewModels.Dictaat> getDictaat(string dictaatName)
        {
            //from DB
            var details = _context.DictaatDetails
                          .Include("DictaatOwner")
                          .FirstOrDefault(d => d.Name == dictaatName);

            //from file system
            Domain.Dictaat dictaat = _dictaatFactory.GetDictaat(dictaatName);

            //analytics
            var analytics = await _analyticsRepo.GetPageViews(dictaatName);

            return(new ViewModels.Dictaat(dictaat, details, analytics));
        }
Example #4
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));
        }
Example #5
0
        /// <summary>
        /// Create a new dictaat based on a given template.
        /// </summary>
        /// <param name="name">Name of the dictaat. Must be unique.</param>
        /// <param name="template">optional template name, default = defaultTemplate</param>
        public void CreateDictaat(string name, ApplicationUser user, string template)
        {
            //Create the database entry
            var dictaatDetails = new DictaatDetails()
            {
                Name           = name,
                DictaatOwnerId = user.Id,
                IsEnabled      = false, //by default we don't show the dictaten
            };

            var dictaatSession = new DictaatSession()
            {
                DictaatDetailsId = name,
                StartedOn        = DateTime.Now,
            };

            _context.DictaatSession.Add(dictaatSession);
            _context.DictaatDetails.Add(dictaatDetails);
            _context.SaveChanges();

            //Create the folder
            Domain.Dictaat dictaat = _dictaatFactory.CreateDictaat(name, template);
        }
Example #6
0
        public void CreateDictaat(string name, string template)
        {
            string pagesPath = name + _pagesDirectory;

            Domain.Dictaat dictaat = _dictaatFactory.CreateDictaat(name, template);
        }
Example #7
0
 public Dictaat(Domain.Dictaat dictaat)
 {
     this.Name  = dictaat.Name;
     this.Pages = dictaat.Pages;
     this.Menu  = dictaat.Menu;
 }