public ActionResult AddSelectedKnowledgesAsCurrentCompetencies(GaTask task) { string stringOfKnowledgesIds = Request["selectedIds"]; if (!stringOfKnowledgesIds.IsEmpty()) { List<Competence> competencies = new List<Competence>(); HashSet<string> listOfKnIds = new HashSet<string>(stringOfKnowledgesIds.Split(',').ToList()); foreach (var id in listOfKnIds) { var kn = _dbContext.Ontology.Find(x => x.Id == ObjectId.Parse(id)).SingleOrDefaultAsync().Result; if (kn != null) { competencies.Add(new Competence(kn.Id, BloomLevel.None)); } } if (task.Prerequisites == null) { task.Prerequisites = competencies.ToArray(); } else { List<Competence> tmpList = new List<Competence>(task.Prerequisites); tmpList.Concat(competencies); task.Prerequisites = tmpList.ToArray(); } } return View("NewTask", task); }
public ActionResult TaskDetails(GaTask task) { //TODO check it, if task still run and we want to save course if (task == null) { _logger.Trace("Course saving from task. Error: task == null"); return RedirectToAction("MessagePage", "Home", "Task is null"); } Course course = new Course(task.Title, task.AuthorEmail); course.Description = task.Description; course.ListOfLosId = new List<ObjectId>(); foreach (var resultLO in task.ResultLearningObjects) { course.ListOfLosId.Add(resultLO.Id); } course.CreationTime = DateTime.Now; _dbContext.Courses.InsertOneAsync(course); var coursesList = _dbContext.Courses.Find(x => true).ToListAsync().Result; _logger.Trace("Course saving from task."); return View("CoursesList", coursesList); }
public ActionResult RemoveTargetCompetencyFromTask(GaTask task) { string knowledgeIdInCompetencyToDelete = Request["targetCompetencyId"]; ObjectId idToDelete = ObjectId.Parse(knowledgeIdInCompetencyToDelete); task.Outcomes = task.Outcomes.Where(x => x.KnowledgeId != idToDelete).ToArray(); _logger.Trace("Removing outcome from task."); return View("NewTask", 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 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 MoveUpLOInTask(GaTask task) { //TODO some problems in this method string stringOfLoId = Request["loidtoPickUp"]; ObjectId id; ObjectId.TryParse(stringOfLoId, out id); int index = -1; for (int i = 0; i < task.ResultLearningObjects.Length; i++) { if (task.ResultLearningObjects[i].Id != id) continue; index = i; break; } if (index > 0) { List<LearningObject> tmpLosList = task.ResultLearningObjects.ToList(); var tmpLo = tmpLosList[index - 1]; tmpLosList[index - 1] = tmpLosList[index]; tmpLosList[index] = tmpLo; task.ResultLearningObjects = tmpLosList.ToArray(); } _logger.Trace("LO moved up in task LOs list."); return View("TaskDetails", task); }
public ActionResult RemoveCurrentCompetencyFromTask(GaTask task) { string knowledgeIdInCompetencyToDelete = Request["currentCompetencyId"]; ObjectId idToDelete = ObjectId.Parse(knowledgeIdInCompetencyToDelete); task.Prerequisites = task.Prerequisites.Where(x => x.KnowledgeId != idToDelete).ToArray(); return View("NewTask", task); }
public ActionResult CourseCompiler(GaTask gaTask) { if (ModelState.IsValid) { var client = new TaskManagerClient(); client.TaskRun(gaTask); return View("UserTasks"); } return View(gaTask); }
public ActionResult CourseCompiler() { GaTask gaTask = new GaTask(); return View(gaTask); }