private static PlatformTaskData MapTaskSearchResults( PlatformTaskData task, AssignmentData assignment, ContextData context, IDictionary <string, PlatformTaskData> taskLookup) { if (!taskLookup.TryGetValue(task.TaskId, out var taskInLookup)) { taskInLookup = task; taskLookup.Add(task.TaskId, taskInLookup); } if (assignment != null && taskInLookup.Assignments.Cast <AssignmentData>() .All(a => a.assignment_id != assignment.assignment_id)) { taskInLookup.Assignments.Add(assignment); } if (context != null && taskInLookup.ContextItems.Cast <ContextData>() .All(c => c.context_id != context.context_id)) { taskInLookup.ContextItems.Add(context); } return(taskInLookup); }
public void ReadStats() { string statsPath = string.Format("{0}/stats.xml", Jarvis.Config.AppSettings.Settings["workingDir"].Value); if (File.Exists(statsPath)) { string currentAssignmentKey = string.Empty; FileStream stream = File.OpenRead(statsPath); using (XmlReader reader = XmlReader.Create(stream)) { while (reader.Read()) { switch (reader.NodeType) { case XmlNodeType.Element: switch (reader.Name) { case "JarvisStats": TotalBadHeaders = int.Parse(reader.GetAttribute("TotalBadHeaders")); TotalFilesProcessed = int.Parse(reader.GetAttribute("TotalFilesProcessed")); break; case "Assignment": AssignmentStats stats = new AssignmentStats(); stats.Name = reader.GetAttribute("Name"); stats.TotalSubmissions = int.Parse(reader.GetAttribute("TotalSubmissions")); if (!string.IsNullOrEmpty(reader.GetAttribute("TotalNonCompile"))) { stats.TotalNonCompile = int.Parse(reader.GetAttribute("TotalNonCompile")); stats.TotalBadStyle = int.Parse(reader.GetAttribute("TotalBadStyle")); } AssignmentData.Add(stats.Name, stats); currentAssignmentKey = stats.Name; break; case "Submission": string studentId = reader.GetAttribute("Student"); string grade = reader.GetAttribute("Grade"); if (AssignmentData.ContainsKey(currentAssignmentKey)) { AssignmentData[currentAssignmentKey].TotalUniqueStudentsSubmissions.Add(studentId, grade); } break; } break; } } } stream.Close(); stream.Dispose(); } }
public IActionResult Assignments(string sessionID) { if (sessionID == null || sessionID == "") { return(HttpNotFound()); } Student student = _context.Students.SingleOrDefault(s => s.SessionID == sessionID); if (student == null) { return(HttpNotFound(new { error = -1 })); } var studentAssignments = _context.StudentAssignments .Include(sa => sa.Assignment) .ThenInclude(a => a.AssignmentVariants) .Include(sa => sa.Solution) .Where(sa => sa.StudentID == student.ID && sa.Assignment.IsActive && sa.Assignment.StartTime <= DateTime.Now //&& sa.Assignment.EndTime >= DateTime.Now ); var ret = new List <AssignmentData>(); foreach (var studentAssignment in studentAssignments) { // get variant text var variants = studentAssignment.Assignment.AssignmentVariants.ToArray(); var variantIndex = studentAssignment.AssignmentVariantIndex; var variantText = "?"; if (variantIndex >= 0 && variantIndex < variants.Length) { variantText = variants[variantIndex].Text; } var data = new AssignmentData() { ID = studentAssignment.Assignment.ID, Title = studentAssignment.Assignment.Title, Description = studentAssignment.Assignment.Description + Environment.NewLine + variantText, StartTime = studentAssignment.Assignment.StartTime, EndTime = studentAssignment.Assignment.EndTime, CanSendSolution = studentAssignment.Assignment.EndTime >= DateTime.Now, }; if (studentAssignment.Solution != null) { data.SolutionCode = studentAssignment.Solution.Code; data.SolutionCreated = studentAssignment.Solution.CreatedTime; data.SolutionEvaluated = studentAssignment.Solution.IsEvaluated; } ret.Add(data); } return(Ok(new { ok = true, assignments = ret })); }
// // UserManager<ApplicationUser> userManager, // SignInManager<ApplicationUser> signInManager, // IEmailSender emailSender, public AccountController( ILogger <AccountController> logger, AssignmentData assignmentData) { //_userManager = userManager; //_signInManager = signInManager; //_emailSender = emailSender; _logger = logger; _assignmentData = assignmentData; }
public void getAssignmentList() { foreach (ListViewItem _item in MainForm.main.customListView2.Items) { String _classId = _item.SubItems[5].Text; Uri _uri = new Uri("http://cyber.hanbat.ac.kr/Report.do?cmd=viewReportInfoPageList&boardInfoDTO.boardInfoGubun=report&courseDTO.courseId=" + _classId + "&mainDTO.parentMenuId=menu_00104&mainDTO.menuId=menu_00063"); setGet setget = new setGet(); setget.method(new setHttpProtocol(_uri)); _dict.Add(_item.SubItems[4].Text, null); List <AssignmentData> _lst = new List <AssignmentData>(); String courseId = Regex.Split(Regex.Split(setget._html, "study_home&courseDTO.courseId=")[1], "\"")[0]; foreach (String _class in setget._html.Split(new String[] { "<i class=\"icon-openbook-color mr10\"></i>" }, StringSplitOptions.RemoveEmptyEntries)) { String f_name = null, file = null; String _value = Regex.Replace(_class.Trim(), " ", String.Empty); //if (_value.Contains("javascript:submitReport")) if (_value.Contains("javascript:submitReport") && (_value.Contains("[진행중]") && !_value.Contains("제출완료"))) { String _title = Regex.Split(_value, "\n")[0]; String _content = Option.StripHTML(Regex.Split(Regex.Split(_value, "<div class=\"cont pb0\" style=\"min-height:0;word-break:break-all;\">")[1], "</div>")[0].Trim()); String _date = Regex.Split(Regex.Split(Regex.Split(_value, "<td>")[1], "~ ")[1], "</td>")[0].Trim(); String _reportUri = Regex.Split(Regex.Split(Regex.Split(_value, "submitReport")[1], "'")[1], "'")[0].Trim(); if (_value.Contains("title='Download: ")) { f_name = Regex.Split(Regex.Split(_value, "title='Download: ")[1], "'")[0]; file = Regex.Replace(Regex.Split(_value, "fileDownload")[1].Split('(', ')')[1], "'", String.Empty); } AssignmentData data = new AssignmentData(courseId, _title, _content, _date, _reportUri, f_name, file); _lst.Add(data); _dict[_item.SubItems[4].Text] = _lst; _number += 1; } } if (_dict[_item.SubItems[4].Text] == null || _dict[_item.SubItems[4].Text].Count < 1) { _dict.Remove(_item.SubItems[4].Text); } MainForm.main.label8.Text = Convert.ToString(_number) + "건"; } }
public void Insert(AssignmentDto item) { item.LastChanged = MockDb.GetTimeStamp(); var newItem = new AssignmentData { ProjectId = item.ProjectId, ResourceId = item.ResourceId, Assigned = item.Assigned, RoleId = item.RoleId, LastChanged = item.LastChanged }; MockDb.Assignments.Add(newItem); }
public static List <AssignmentData> GetSerializedData(List <Assignment> assignments) { List <AssignmentData> current = new List <AssignmentData>(); foreach (Assignment assignment in assignments) { AssignmentData data = new AssignmentData(); data.name = assignment._name; data.weightage = assignment._weightage; data.hasExecuted = assignment.HasExecuted; data.dueDate = Convert.ToString(assignment._dueDate); current.Add(data); } return(current); }
/// <summary> /// Solves a subclause /// </summary> private Func <bool> SolveSubclause(AssignmentData clause, SimpleUnifier unifier, Func <bool> solvePreviousClause) { // Create a new trail unifier.PushTrail(); Func <bool> nextInThisClause = null; return(() => { if (nextInThisClause == null || !nextInThisClause()) { // Reset the state and get the solution for the previous clause unifier.ResetTrail(); if (!solvePreviousClause()) { return false; } // Push a new trail for this clause unifier.PushTrail(); // Solve this clause unifier.QueryUnifier.Bind(clause.Assignments); if (!unifier.QueryUnifier.Compile(clause.Assignments)) { return false; } // Call the predicate nextInThisClause = _subclauseSolver.Call(clause.PredicateName, unifier.GetArgumentVariables(clause.NumArguments)); // Result depends on the next item in this clause return nextInThisClause(); } else { // nextInThisClause() returned true, so this clause was solved return true; } }); }
public HomeController(AssignmentData assignmentData) { _assignmentData = assignmentData; }
public ItemAssignment(ResourceData data) : base(data) { this.assignmentData = (AssignmentData)data; }
/// <summary> /// Solves a subclause /// </summary> private Func<bool> SolveSubclause(AssignmentData clause, SimpleUnifier unifier, Func<bool> solvePreviousClause) { // Create a new trail unifier.PushTrail(); Func<bool> nextInThisClause = null; return () => { if (nextInThisClause == null || !nextInThisClause()) { // Reset the state and get the solution for the previous clause unifier.ResetTrail(); if (!solvePreviousClause()) { return false; } // Push a new trail for this clause unifier.PushTrail(); // Solve this clause unifier.QueryUnifier.Bind(clause.Assignments); if (!unifier.QueryUnifier.Compile(clause.Assignments)) { return false; } // Call the predicate nextInThisClause = _subclauseSolver.Call(clause.PredicateName, unifier.GetArgumentVariables(clause.NumArguments)); // Result depends on the next item in this clause return nextInThisClause(); } else { // nextInThisClause() returned true, so this clause was solved return true; } }; }