public ICommandResult Handle(AddClassroomCommand command) { command.Validate(); if (command.Invalid) { AddNotifications(command); return(new CommandResult(false, "Erro ao vincular aula ao aluno", Notifications)); } var classroom = _classroomRepository.GetById(command.ClassroomId); var student = _studentRepository.GetById(command.StudentId); AddNotifications(new Contract() .Requires() .IsNotNull(student, "StudentId", "O ID do aluno é inválido ou não existe") .IsNotNull(classroom, "ClassroomId", "O ID da aula é inválido ou não existe")); var studentsClassrooms = new StudentsClassrooms(student, classroom); AddNotifications(student, classroom, studentsClassrooms); if (Invalid) { return(new CommandResult(false, "Erro ao vincular aula ao aluno", Notifications)); } _studentRepository.AddClassroom(studentsClassrooms); return(new CommandResult(true, "Aula vinculada ao aluno.", command)); }
private void BuildAddClassroomCommand() { _addClassroomCommand = new AddClassroomCommand(); _addClassroomCommand.StudentId = Guid.NewGuid(); _addClassroomCommand.ClassroomId = Guid.NewGuid(); }
public ICommandResult AddClassroom([FromBody] AddClassroomCommand command) { return(_handler.Handle(command)); }