public ViewModels.Dictaat getDictaat(string name) { string pagesPath = name + _pagesDirectory; Domain.Dictaat dictaat = _dictaatFactory.GetDictaat(name); return(new ViewModels.Dictaat(dictaat)); }
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); }
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)); }
/// <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)); }
/// <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); }
public void CreateDictaat(string name, string template) { string pagesPath = name + _pagesDirectory; Domain.Dictaat dictaat = _dictaatFactory.CreateDictaat(name, template); }
public Dictaat(Domain.Dictaat dictaat) { this.Name = dictaat.Name; this.Pages = dictaat.Pages; this.Menu = dictaat.Menu; }