public ActionResult DeleteLoFromCourse(string courseId, string loId) { if (courseId == null || loId == null) { _logger.Trace("Deleting LO from course. Course or LO Id == null"); return RedirectToAction("MessagePage", "Home", "ID is null"); } var course = _dbContext.Courses.Find(x => x.Id == ObjectId.Parse(courseId)).SingleAsync().Result; if (course != null) { course.ListOfLosId.Remove(ObjectId.Parse(loId)); var lo = _dbContext.LOs.Find(x => x.Id == ObjectId.Parse(loId)).SingleAsync().Result; course.Duration -= lo.Duration; _dbContext.Courses.ReplaceOneAsync(x => x.Id == ObjectId.Parse(courseId), course); _logger.Trace("Deleting LO from course."); return RedirectToAction("DetailsOfCourse", "Home", courseId); } else { _logger.Trace("Deleting LO from course. Error"); MessageOnPage errorMessage = new MessageOnPage("Error", "No course in base with id: " + courseId); return RedirectToAction("MessagePage", "Home", errorMessage); } }
public ActionResult DeleteTask(string id) { if (id == null) { _logger.Trace("Task deleting by ID: id == null" ); MessageOnPage msg = new MessageOnPage("Task ID is null"); return RedirectToAction("MessagePage", "Home", msg); } TaskManagerClient client = new TaskManagerClient(); client.CancelTask(ObjectId.Parse(id)); //If task is run we have to cancel it first var filter = Builders<GaTask>.Filter.Eq(s => s.Id, ObjectId.Parse(id)); _dbContext.CoursesCreatingTasks.DeleteOneAsync(filter); _logger.Trace("Task deleting by ID: "); return RedirectToAction("UserTasks", "Home"); }
public ActionResult CreateLo(LearningObject incomingLo) { if (ModelState.IsValid) { try { incomingLo.CreationTime = DateTime.Now; incomingLo.LastModifiedTime = DateTime.Now; var obj = ViewData["CustomUser"]; if (obj != null) { User currentUser = obj as User; if (currentUser == null) { _logger.Trace("Error during LO saving: currentUser == null"); MessageOnPage errormsg = new MessageOnPage(" Error with current user identification"); return RedirectToAction("MessagePage", "Home", errormsg); } incomingLo.AuthorEmail = currentUser.Email; _dbContext.LOs.InsertOneAsync(incomingLo); _logger.Trace("User: "******" succesfully created LO"); return RedirectToAction("LOList", "Home"); } else { _logger.Trace("Error during new LO saving: user cookies are corrupted or user are not log in"); throw new Exception("User cookies are corrupted or user are not log in"); } } catch (Exception ex) { _logger.Trace("Error during new LO saving: " + ex.Message); string exceptionMessage = ex.Message; string wholeMessage = @"<script language=""javascript"">alert('\n" + "Error during saving to database\n" + exceptionMessage + @"\n')</script>"; Response.Write(wholeMessage); } } return View(incomingLo); }
public ActionResult DeleteKnowledge(string id) { if (id == null) { _logger.Trace("Delete knowledge from ontology by ID: "); MessageOnPage msg = new MessageOnPage("Knowledge ID is null"); return RedirectToAction("MessagePage", "Home", msg); } var knowledge = _dbContext.KnowledgesCollection.Find(x => x.Id == ObjectId.Parse(id)).SingleAsync().Result; List<Relation> relations = new List<Relation>(); relations.AddRange(knowledge.Inputs); relations.AddRange(knowledge.Outputs); foreach (var relation in relations) //Delete all input and putput relations { var relation1 = relation; _dbContext.OntologyRelationsCollection.DeleteOneAsync(x => x.Id == relation1.Id); } var filter = Builders<Knowledge>.Filter.Eq(s => s.Id, ObjectId.Parse(id)); _dbContext.KnowledgesCollection.DeleteOneAsync(filter); _logger.Trace("Delete knowledge by ID: "); return RedirectToAction("Ontology", "Home"); }
public ActionResult NewTask() { User currentUser = null; var obj = ViewData["CustomUser"]; if (obj != null) { currentUser = obj as User; } if (currentUser == null) { _logger.Trace("New task page request by unregistered user."); MessageOnPage msg = new MessageOnPage("Error with user identification"); return RedirectToAction("MessagePage", "Home", msg); } GaTask task = new GaTask() { Title = "Default task", Description = "Default task description", AuthorEmail = currentUser.Email, BestFfValues = new Dictionary<int, double>(), AverageFFvalues = new Dictionary<int, double>(), WorstFfValues = new Dictionary<int, double>(), DesiredDuration = 0, GaConfigs = new GAConfigs() { GAIterationsNumber = 100, CrossoverProbability = 60, MutationProbability = 5, ElitismPercentage = 30, PopulationSize = 50, MutationPeriod = 0 } }; _logger.Trace("New task page request by: " + currentUser.Email); return View(task); }
public ActionResult NewTask(GaTask task) { if (ModelState.IsValid) { User currentUser = null; var obj = ViewData["CustomUser"]; if (obj != null) { currentUser = obj as User; } if (currentUser == null) { MessageOnPage msg = new MessageOnPage("Error with user identification"); return RedirectToAction("MessagePage", "Home", msg); } var loList = _dbContext.LOs.Find(x => true).ToListAsync().Result; task.SourceLearningObjects = new LearningObject[loList.Count]; for (int i = 0; i < loList.Count; i++) { task.SourceLearningObjects[i] = loList[i]; } task.CreatigTime = DateTime.Now; task.AuthorEmail = currentUser.Email; TaskManagerClient client = new TaskManagerClient(); client.TaskRunAsync(task); _logger.Trace("Course creating task launching."); return RedirectToAction("UserTasks", "Home"); } else { _logger.Trace("Course creating task launching. Attempt to launch. User is unregistered"); return View(task); } }
public ActionResult ManualCourseCreating() { User currentUser = null; var obj = ViewData["CustomUser"]; if (obj != null) { currentUser = obj as User; } if (currentUser == null) { _logger.Trace("unregistered user started to create course manually."); MessageOnPage msg = new MessageOnPage("Error with user identification"); return RedirectToAction("MessagePage", "Home", msg); } _logger.Trace("User " + currentUser.Email + " started to create course manually."); Course course = new Course(authorEmail: currentUser.Email); return View(course); }
public ActionResult DeleteLoFromCourse(string courseId, string loId) { if (courseId == null || loId == null) { return RedirectToAction("MessagePage", "Home", "ID is null"); } //var course = db.GetCourseByID(courseId); var coursesList = _dbContext.Courses.Find(x => x.Id == ObjectId.Parse(courseId)).ToListAsync().Result; if (coursesList != null) { var course = coursesList.First(); course.ListOfLosId.Remove(ObjectId.Parse(loId)); //course.ListOfLo.RemoveAll(x => x.Id == ObjectId.Parse(loId)); _dbContext.Courses.ReplaceOneAsync(x => x.Id == ObjectId.Parse(courseId), course); //db.EditCourse(course); return RedirectToAction("DetailsOfCourse", "Home", courseId); } else { MessageOnPage errorMessage = new MessageOnPage("Error", "No course in base with id: " + courseId); return RedirectToAction("MessagePage", "Home", errorMessage); } }
public ActionResult ManualCourseCreating() { User currentUser = null; var obj = ViewData["CustomUser"]; if (obj != null) { currentUser = obj as User; } if (currentUser == null) { MessageOnPage msg = new MessageOnPage("Error with user identification"); return RedirectToAction("MessagePage", "Home", msg); } Course course = new Course(authorEmail: currentUser.Email); return View(course); }
public ActionResult MessagePage(MessageOnPage msg) { return View(msg); }
public ActionResult LoList() { var list = _dbContext.LOs.Find(x => true).ToListAsync().Result; //var list = db.LearningObjects; if (list.Count == 0) { MessageOnPage emptyListMessage = new MessageOnPage("List of learning objects", "Learning objects list is empty"); return RedirectToAction("MessagePage", "Home", emptyListMessage); } else { return View(list); } }
public ActionResult EditLo(string id) { if (id == null) { return RedirectToAction("MessagePage", "Home", "LO ID is null"); } var lolist = _dbContext.LOs.Find(x => x.Id == ObjectId.Parse(id)).ToListAsync().Result; var lo = lolist.First(); //var lo = db.GetLOByID(id); if (lo != null) { return View(lo); } else { MessageOnPage errorMessage = new MessageOnPage("Error", "No LO in base with id: " + id); return RedirectToAction("MessagePage", "Home", errorMessage); } }
public ActionResult EditCourse(string id) { if (id == null) { return RedirectToAction("MessagePage", "Home", "Course ID is null"); } //var course = db.GetCourseByID(id); var course = _dbContext.Courses.Find(x => x.Id == ObjectId.Parse(id)).ToListAsync().Result; if (course != null) { return View(course.First()); } else { MessageOnPage errorMessage = new MessageOnPage("Error", "No course in base with id: " + id); return RedirectToAction("MessagePage", "Home", errorMessage); } }
public ActionResult EditCourse(string id) { if (id == null) { _logger.Trace("Course edit page. Error: id == null"); return RedirectToAction("MessagePage", "Home", "Course ID is null"); } var course = _dbContext.Courses.Find(x => x.Id == ObjectId.Parse(id)).SingleAsync().Result; if (course != null) { _logger.Trace("Course edit page."); return View(course); } else { _logger.Trace("Course edit page. Error: course == null"); var errorMessage = new MessageOnPage("Error", "No course in base with id: " + id); return RedirectToAction("MessagePage", "Home", errorMessage); } }
public ActionResult MessagePage(MessageOnPage msg) { _logger.Trace("Message page. Message:" + msg.MessageString); return View(msg); }
public ActionResult EditLo(string id) { if (id == null) { _logger.Trace("LO editing page query. Error: id == null"); return RedirectToAction("MessagePage", "Home", "LO ID is null"); } var lo = _dbContext.LOs.Find(x => x.Id == ObjectId.Parse(id)).SingleAsync().Result; if (lo != null) { _logger.Trace("LO editing page query."); return View(lo); } else { _logger.Trace("LO editing page query. Error: Cant find LO with such ID"); MessageOnPage errorMessage = new MessageOnPage("Error", "No LO in base with id: " + id); return RedirectToAction("MessagePage", "Home", errorMessage); } }
public ActionResult DeleteKnowledge(string id) { if (id == null) { MessageOnPage msg = new MessageOnPage("Knowledge ID is null"); return RedirectToAction("MessagePage", "Home", msg); } var filter = Builders<Knowledge>.Filter.Eq(s => s.Id, ObjectId.Parse(id)); _dbContext.Ontology.DeleteOneAsync(filter); return RedirectToAction("Ontology", "Home"); }