예제 #1
0
        public async Task <string> CreateAsync(AssignmentCreateBindingModel assignment)
        {
            var newAssignment = Mapper.Map <Assignment>(assignment);

            await this.assignmentRepository.AddAsync(newAssignment);

            await this.assignmentRepository.SaveChangesAsync();

            return(newAssignment.Id);
        }
        public async Task <IActionResult> Create(AssignmentCreateBindingModel bindingModel)
        {
            if (!this.ModelState.IsValid)
            {
                return(this.View(bindingModel));
            }

            var createIsSuccessful = await this.assignments.Create(bindingModel);

            if (!createIsSuccessful)
            {
                this.ModelState.AddModelError(string.Empty, "Something went wrong...");

                return(this.View(bindingModel));
            }

            return(this.RedirectToAction("Index", "Courses", new { area = "Education" }));
        }
예제 #3
0
        public async Task <IActionResult> Create(AssignmentCreateBindingModel assignment)
        {
            if (!this.ModelState.IsValid)
            {
                return(this.View(assignment));
            }

            if (assignment.DateCreated == null)
            {
                assignment.DateCreated = DateTime.Now;
            }

            if (assignment.DueDate != null && assignment.DueDate < assignment.DateCreated)
            {
                TempData["Error"] +=
                    "Error: The due date should be after the assignment create date.";

                return(this.View(assignment));
            }

            var assignmentId = await this.assignmentService.CreateAsync(assignment);

            var studentIds = assignment.StudentIds;

            if (studentIds.Contains("all"))
            {
                var students = await this.userService.GetAllStudentsByLecturecise(assignment.LectureciseId);

                studentIds = students.Select(st => st.Id).ToList();
            }

            if (studentIds.Count() > 0)
            {
                var createdAssignment = this.assignmentService.GetByIdOriginal(assignmentId);

                foreach (var studentId in studentIds)
                {
                    if (!createdAssignment.StudentsAssignedTo.Any(s => s.StudentId == studentId))
                    {
                        var studentAssignment = new StudentAssignment()
                        {
                            AssignmentId     = createdAssignment.LectureciseId,
                            StudentId        = studentId,
                            LectureciseId    = createdAssignment.LectureciseId,
                            DueDate          = assignment.DueDate,
                            AssignmentStatus = AssignmentStatus.Unfinished,
                            Expired          = false,
                            Grade            = 0m
                        };

                        createdAssignment.StudentsAssignedTo.Add(studentAssignment);
                    }
                }

                await this.assignmentService.SaveAssignmentsDb();
            }


            //TODO - change redirect to all assignments View when I make it
            return(RedirectToAction("CurrentYearLecturecises", "Lecturecises", new { Area = "Educator" }));
        }