public Importer(Manifest manifest, Course course, ICourseStorage courseStorage) { _Manifest = manifest; _Course = course; _CourseStorage = courseStorage; _CoursePath = _CourseStorage.GetCoursePath(_Course.Id); _CourseTempPath = _CourseStorage.GetCourseTempPath(_Course.Id); }
public ActionResult Edit(int courseId, Course course, IEnumerable<Guid> sharewith) { _Storage.UpdateCourse(courseId, course); _Storage.UpdateCourseUsers(courseId, sharewith); return RedirectToAction("Index"); }
public ActionResult Create(Course course, IEnumerable<Guid> sharewith) { course.Owner = _UserService.GetCurrentUser().Username; var id = _Storage.AddCourse(course); _Storage.UpdateCourseUsers(id, sharewith); return RedirectToAction("Index"); }
public ActionResult Create(Course course) { int? id = storage.AddCourse(course); if (id != null) { return RedirectToAction("Index"); } else { return View("Error"); } }
protected override void Initialize(RequestContext requestContext) { base.Initialize(requestContext); //StorageFactory factory = new StorageFactory(); //Storage = factory.CreateStorage(StorageType.Mixed); var courseId = Convert.ToInt32(requestContext.RouteData.Values["CourseID"]); _CurrentCourse = _Storage.GetCourse(courseId); if (_CurrentCourse == null) { requestContext.HttpContext.Response.Redirect("/Course/Index"); } //LmsService.Inform("yo/andrij", "test1", "test2"); base.Initialize(requestContext); }
public int? AddCourse(Course course) { try { //course.Name = null;// course.Created = DateTime.Now; course.Updated = DateTime.Now; db.Courses.InsertOnSubmit(course); db.SubmitChanges(); string path = GetCoursePath(course.Id); @Directory.CreateDirectory(path); return course.Id; } catch { return null; } }
public int AddCourse(Course course) { course.Created = DateTime.Now; course.Updated = DateTime.Now; var db = GetDbContext(); db.Courses.InsertOnSubmit(course); db.SubmitChanges(); var path = GetCoursePath(course.Id); @Directory.CreateDirectory(path); var templatePath = GetTemplatesPath(); foreach (var templateFile in _TemplateFiles) { File.Copy(Path.Combine(templatePath, templateFile), Path.Combine(path, templateFile), true); } _LmsService.Inform(CourseNotifications.CourseCreate, course); return course.Id; }
public bool UpdateCourse(int id, Course course) { try { Course oldCourse = db.Courses.Single(c => c.Id == id); oldCourse.Name = course.Name; oldCourse.Owner = course.Owner; oldCourse.Updated = DateTime.Now; db.SubmitChanges(); return true; } catch { return false; } }
public int? Import(string path) { try { Course course = new Course(); string folderPath = path.Substring(0, path.Length - 4); CourseManagment.Helpers.Zipper.ExtractZipFile(path, folderPath); course.Name = folderPath.Split('\\').Last(); course.Owner = "Imported"; return this.AddCourse(course); } catch { return null; } }
public void UpdateCourseTest() { Course oldCourse = _Storage.GetCourse(2); Course newCourse = new Course {Name = "New Course"}; _Storage.UpdateCourse(2,newCourse); Assert.AreNotEqual(oldCourse.Owner,newCourse.Owner); Assert.AreEqual(oldCourse.Name,newCourse.Name); Assert.AreNotEqual(oldCourse.Updated,newCourse.Updated); }
public CourseResult(Course course) { this.course = course; }
public void UpdateCourse(int id, Course course) { var db = GetDbContext(); var oldCourse = db.Courses.Single(c => c.Id == id); oldCourse.Name = course.Name; oldCourse.Updated = DateTime.Now; oldCourse.Sequencing = course.Sequencing; db.SubmitChanges(); _LmsService.Inform(CourseNotifications.CourseEdit, course); }
partial void DeleteCourse(Course instance);
partial void UpdateCourse(Course instance);
partial void InsertCourse(Course instance);
public void UpdateCourse(int id, Course course) { using (var db = new CourseManagementDbConext()) { var oldCourse = db.Courses.Single(c => c.Id == id); oldCourse.Name = course.Name; oldCourse.Updated = DateTime.Now; oldCourse.Sequencing = course.Sequencing; db.SaveChanges(); _LmsService.Inform(CourseNotifications.CourseEdit, course); } }
public int AddCourse(Course course) { course.Created = DateTime.Now; course.Updated = DateTime.Now; using (var db = new CourseManagementDbConext()) { db.Courses.Add(course); db.SaveChanges(); var path = GetCoursePath(course.Id); @Directory.CreateDirectory(path); var templatePath = GetTemplatesPath(); foreach (var templateFile in _TemplateFiles) { File.Copy(Path.Combine(templatePath, templateFile), Path.Combine(path, templateFile), true); } _LmsService.Inform(CourseNotifications.CourseCreate, course); return course.Id; } }
public long GetAttempt(Course course) { throw new NotImplementedException(); }
public ActionResult Search(String query) { Directory directory = FSDirectory.Open(new System.IO.DirectoryInfo(Server.MapPath("~/Data/Index"))); IndexSearcher searcher = new IndexSearcher(directory, true); Analyzer analyzer = new StandardAnalyzer(Version.LUCENE_29); MultiFieldQueryParser queryParser = new MultiFieldQueryParser( Version.LUCENE_29, new String[] { "Name", "Content" }, analyzer ); ScoreDoc[] scoreDocs = searcher.Search(queryParser.Parse(query), 10).scoreDocs; List<ISearchResult> results = new List<ISearchResult>(); foreach (ScoreDoc doc in scoreDocs) { ISearchResult result; Document document = searcher.Doc(doc.doc); String type = document.Get("Type").ToLower(); switch (type) { case "node": Node node = new Node(); node.Id = Convert.ToInt32(document.Get("ID")); node.Name = document.Get("Name"); node.CourseId = Convert.ToInt32(document.Get("CourseID")); node.IsFolder = Convert.ToBoolean(document.Get("isFolder")); result = new NodeResult(node, document.Get("Content")); break; case "course": Course course = new Course(); course.Id = Convert.ToInt32(document.Get("ID")); course.Name = document.Get("Name"); result = new CourseResult(course); break; default: throw new Exception("Unknown result type"); } results.Add(result); } analyzer.Close(); searcher.Close(); directory.Close(); ViewData["SearchString"] = query; return View(results); }
protected override void Initialize(RequestContext requestContext) { base.Initialize(requestContext); //StorageFactory factory = new StorageFactory(); //Storage = factory.CreateStorage(StorageType.Mixed); int courseId = Convert.ToInt32(requestContext.RouteData.Values["CourseID"]); CurrentCourse = storage.GetCourse(courseId); if (CurrentCourse == null) { requestContext.HttpContext.Response.Redirect("/Course/Index"); } base.Initialize(requestContext); }
public CourseResult(Course course, string update, string owner) { _Course = course; _Update = update; _Owner = owner; }
public void Import(string path, string owner) { var zipName = Path.GetFileNameWithoutExtension(path); var course = new Course { Name = zipName, Owner = owner, Locked = true }; AddCourse(course); File.Copy(path, GetCoursePath(course.Id) + ".zip"); }
public ActionResult Edit(int courseId, Course course) { bool result = storage.UpdateCourse(courseId, course); if (result) { return RedirectToAction("Index"); } else { return View("Error"); } }
public void AddCourseTest() {Course course = new Course {Owner = "lex", Name = "new Course"}; int id = _Storage.AddCourse(course); Course c = _Storage.GetCourse(id); Assert.AreEqual(course.Name,c.Name); Assert.AreEqual(course.Owner,c.Owner); }
public ActionResult Search(String query) { if (query == "") return RedirectToAction("Index"); query = query + "~"; DateTime datastart = DateTime.Now; Directory directory = FSDirectory.Open(new System.IO.DirectoryInfo(Server.MapPath("~/Data/Index"))); IndexSearcher searcher = new IndexSearcher(directory, true); Analyzer analyzer = new StandardAnalyzer(Version.LUCENE_29); MultiFieldQueryParser queryParser = new MultiFieldQueryParser( Version.LUCENE_29, new String[] { "Name", "Content", "Curriculum", "User", "Group", "Theme" }, analyzer ); ScoreDoc[] scoreDocs = searcher.Search(queryParser.Parse(query), 100).scoreDocs; Hits hit = searcher.Search(queryParser.Parse(query)); int total = hit.Length(); List<ISearchResult> results = new List<ISearchResult>(); Stopwatch sw = new Stopwatch(); sw.Start(); foreach (ScoreDoc doc in scoreDocs) { ISearchResult result; Document document = searcher.Doc(doc.doc); String type = document.Get("Type").ToLower(); switch (type) { case "node": Node node = new Node(); node.Id = Convert.ToInt32(document.Get("ID")); node.Name = document.Get("Name"); node.CourseId = Convert.ToInt32(document.Get("CourseID")); node.IsFolder = Convert.ToBoolean(document.Get("isFolder")); result = new NodeResult(node, _CourseService.GetCourse(node.CourseId).Name, document.Get("Content"), _CourseService.GetCourse(node.CourseId).Updated.ToString()); break; case "course": Course course = new Course(); course.Id = Convert.ToInt32(document.Get("ID")); course.Name = document.Get("Name"); result = new CourseResult(course,_CourseService.GetCourse(course.Id).Updated.ToString(), _CourseService.GetCourse(course.Id).Owner); break; case "curriculum": Curriculum curriculum = new Curriculum(); curriculum.Id = Convert.ToInt32(document.Get("ID")); curriculum.Name = document.Get("Curriculum"); result = new CurriculumResult(curriculum, _CurriculmService.GetCurriculum(curriculum.Id).Updated.ToString()); break; case "user": User user = new User(); user.Id = Guid.Parse(document.Get("ID")); user.Name = document.Get("User"); /*user.RoleId = Convert.ToInt32(document.Get("RoleId"));*/ result = new UserResult(user, user.RolesLine); break; case "group": Group group = new Group(); group.Id = int.Parse(document.Get("ID")); group.Name = document.Get("Group"); result = new GroupResult(group); break; case "theme": Theme theme = new Theme(); theme.Id = Convert.ToInt32(document.Get("ID")); theme.Name = document.Get("Theme"); theme.CourseRef = Convert.ToInt32(document.Get("CourseRef")); result = new ThemeResult(theme, _CourseService.GetCourse(theme.CourseRef).Name); break; default: throw new Exception("Unknown result type"); } results.Add(result); } sw.Stop(); DateTime dataend = DateTime.Now; analyzer.Close(); searcher.Close(); directory.Close(); ViewData["SearchString"] = query; ViewData["score"] = Math.Abs(dataend.Millisecond - datastart.Millisecond); //sw.ElapsedMilliseconds.ToString(); ViewData["total"] = total; return View(results); }