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);
        }
Ejemplo n.º 2
0
        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();
            }
        }
Ejemplo n.º 3
0
        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 }));
        }
Ejemplo n.º 4
0
 //
 //    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;
 }
Ejemplo n.º 5
0
        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(), "&nbsp;", 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) + "건";
            }
        }
Ejemplo n.º 6
0
        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);
        }
Ejemplo n.º 7
0
    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);
    }
Ejemplo n.º 8
0
        /// <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;
                }
            });
        }
Ejemplo n.º 9
0
 public HomeController(AssignmentData assignmentData)
 {
     _assignmentData = assignmentData;
 }
Ejemplo n.º 10
0
 public ItemAssignment(ResourceData data) : base(data)
 {
     this.assignmentData = (AssignmentData)data;
 }
Ejemplo n.º 11
0
        /// <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;
                }
            };
        }