Пример #1
0
        // <summary>
        // creates an assignment
        // </summary>
        public void CreateAssignment(AssignmentCreationViewModel newAssignmentViewModel)
        {
            Assignment newAssignment = new Assignment
            {
                CourseInstanceId = newAssignmentViewModel.CourseInstanceId,
                Name             = newAssignmentViewModel.Name,
                Description      = newAssignmentViewModel.Description
            };

            var assignment = _db.Assignments.Add(newAssignment);

            foreach (int problemId in newAssignmentViewModel.AssignmentProblemIds)
            {
                AssignmentProblem AssignmentProblemRelation = new AssignmentProblem()
                {
                    AssignmentId = assignment.Id,
                    ProblemId    = problemId
                };

                _db.AssignmentProblems.Add(AssignmentProblemRelation);
            }
            ;

            try
            {
                _db.SaveChanges();
            }
            catch (Exception e)
            {
                return;
            }
        }
Пример #2
0
        /// <summary>
        /// Update assignment information via TeacherCreateAssignmentViewModel
        /// </summary>
        public bool UpdateAssignment(TeacherCreateAssignmentViewModel assignment)
        {
            var dbAssignment = _db.Assignments.SingleOrDefault(x => x.Id == assignment.Id);

            if (dbAssignment != null)
            {
                dbAssignment.Description      = assignment.Description;
                dbAssignment.Name             = assignment.Name;
                dbAssignment.EndTime          = DateTime.Parse(assignment.EndTime);
                dbAssignment.StartTime        = DateTime.Parse(assignment.StartTime);
                dbAssignment.MaxCollaborators = assignment.MaxCollaborators;

                // Remove problems
                foreach (var assignmentProblem in _db.AssignmentProblems.Where(x => x.AssignmentId == assignment.Id))
                {
                    var found = assignment.Problems.Any(problem => assignmentProblem.ProblemId == problem.ProblemId);

                    if (!found)
                    {
                        RemoveProblemFromAssignmentByIds(assignmentProblem.AssignmentId, assignmentProblem.ProblemId);
                    }
                }

                // Add/Edit existing problems
                foreach (var problem in assignment.Problems)
                {
                    var dbAssignmentProblem = _db.AssignmentProblems.SingleOrDefault(x => x.AssignmentId == assignment.Id && x.ProblemId == problem.ProblemId);

                    if (dbAssignmentProblem != null)
                    {
                        dbAssignmentProblem.MaxSubmissions = problem.MaxSubmissions;
                        dbAssignmentProblem.Weight         = (byte)problem.Weight;
                    }
                    else
                    {
                        var newAssignmentProblem = new AssignmentProblem {
                            ProblemId      = problem.ProblemId,
                            AssignmentId   = assignment.Id,
                            Weight         = (byte)problem.Weight,
                            MaxSubmissions = problem.MaxSubmissions
                        };

                        _db.AssignmentProblems.Add(newAssignmentProblem);
                    }
                }

                try {
                    _db.SaveChanges();
                    return(true);
                }
                catch (Exception e) {
                    return(false);
                }
            }

            return(false);
        }
Пример #3
0
        /// <summary>
        /// Create a new assignment via TeacherCreateAssignmentViewModel
        /// </summary>
        public bool CreateNewAssignment(TeacherCreateAssignmentViewModel assignment)
        {
            var newAssignment = new Assignment {
                CourseInstanceId = assignment.CourseInstanceId,
                Description      = assignment.Description,
                EndTime          = DateTime.Parse(assignment.EndTime),
                StartTime        = DateTime.Parse(assignment.StartTime),
                Name             = assignment.Name,
                MaxCollaborators = assignment.MaxCollaborators,
                IsGraded         = false
            };

            newAssignment = _db.Assignments.Add(newAssignment);

            foreach (var assignmentProblem in assignment.Problems)
            {
                var problem = _db.Problems.SingleOrDefault(x => x.Id == assignmentProblem.ProblemId);

                if (problem == null)
                {
                    continue;
                }

                var newAssignmentProblem = new AssignmentProblem {
                    ProblemId      = problem.Id,
                    AssignmentId   = newAssignment.Id,
                    Weight         = (byte)assignmentProblem.Weight,
                    MaxSubmissions = assignmentProblem.MaxSubmissions
                };

                _db.AssignmentProblems.Add(newAssignmentProblem);
            }

            var students = _courseService.GetAllStudentsInCourseInstance(newAssignment.CourseInstanceId);

            // Create groups for students
            var count = 1;

            foreach (var student in students)
            {
                _db.AssignmentGroups.Add(new AssignmentGroup {
                    UserId       = student.Id,
                    AssignmentId = newAssignment.Id,
                    GroupNumber  = count
                });
                count++;
            }

            try {
                _db.SaveChanges();
                return(true);
            }
            catch (Exception e) {
                return(false);
            }
        }
    /**/ public static void main(string[] strarr)
    {
        In  @in      = new In(strarr[0]);
        int num      = @in.readInt();
        int arg_23_0 = num;
        int arg_1E_0 = num;

        int[] array = new int[2];
        int   num2  = arg_1E_0;

        array[1] = num2;
        num2     = arg_23_0;
        array[0] = num2;
        double[][] array2 = (double[][])ByteCodeHelper.multianewarray(typeof(double[][]).TypeHandle, array);
        for (int i = 0; i < num; i++)
        {
            for (int j = 0; j < num; j++)
            {
                array2[i][j] = @in.readDouble();
            }
        }
        AssignmentProblem assignmentProblem = new AssignmentProblem(array2);

        StdOut.println(new StringBuilder().append("weight = ").append(assignmentProblem.weight()).toString());
        for (int j = 0; j < num; j++)
        {
            StdOut.println(new StringBuilder().append(j).append("-").append(assignmentProblem.sol(j)).append("' ").append(array2[j][assignmentProblem.sol(j)]).toString());
        }
        for (int j = 0; j < num; j++)
        {
            StdOut.println(new StringBuilder().append("px[").append(j).append("] = ").append(assignmentProblem.dualRow(j)).toString());
        }
        for (int j = 0; j < num; j++)
        {
            StdOut.println(new StringBuilder().append("py[").append(j).append("] = ").append(assignmentProblem.dualCol(j)).toString());
        }
        for (int j = 0; j < num; j++)
        {
            for (int k = 0; k < num; k++)
            {
                StdOut.println(new StringBuilder().append("reduced[").append(j).append("-").append(k).append("] = ").append(assignmentProblem.reduced(j, k)).toString());
            }
        }
    }
Пример #5
0
 public IActionResult Post([FromBody] AssignmentProblem assignmentProblem)
 {
     if (ModelState.IsValid)
     {
         try
         {
             AssignmentProblemService assignmentProblemService = new AssignmentProblemService();
             var result = assignmentProblemService.FindAssignments(assignmentProblem.Values);
             var json   = JsonConvert.SerializeObject(result);
             return(Ok(json));
         }
         catch (Exception exception)
         {
             Console.WriteLine(exception.Message);
             return(StatusCode(StatusCodes.Status500InternalServerError));
         }
     }
     return(UnprocessableEntity());
 }