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" })); }
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" })); }