public ICommandResult Handler(CadastrarProfessorTurmaCommand command) { command.Validar(); if (command.Invalid) { return(new GenericCommandResult(false, "Dados Inválidos!", command.Notifications)); } var Professor = _repositorioProfessor.BuscarProfessorPorId(command.IdProfessor); if (Professor == null) { return(new GenericCommandResult(false, "Professor não encontrado", null)); } var turma = _repositorioTurma.BuscarTurmaPorId(command.IdTurma); if (turma == null) { return(new GenericCommandResult(false, "Turma não encontrada", null)); } var ProfessorTurma = new ProfessorTurma(command.IdTurma, command.IdProfessor); if (ProfessorTurma.Valid) { _repositorio.AdicionarProfessorATurma(ProfessorTurma); } return(new GenericCommandResult(true, "Professor inserido na turma com sucesso", ProfessorTurma)); }
public IQueryResult Handle(ListarTurmasDoProfessorQuery command) { command.Validate(); if (command.Invalid) { return(new GenericQueryResult(false, "Dados inválidos", command.Notifications)); } var turmasDoProfessor = _repositorio.ListarTurmasDoProfessor(command.IdProfessor); var result = turmasDoProfessor.Select(tal => { var turma = _repositorioTurma.BuscarTurmaPorId(tal.IdTurma); var Professor = _repositorioProfessor.BuscarProfessorPorId(tal.IdProfessor); var horarios = _repositorioHorario.BuscarHorarioPorIdTurma(turma.Id); return(new ListaTurmasDoProfessorResult() { Professor = new BuscarProfessorResult { Id = Professor.Id, NomeUsuario = Professor.NomeUsuario, Email = Professor.Email, Telefone = Professor.Telefone, FotoProfessor = Professor.FotoProfessor }, Turmas = turmasDoProfessor.Select(tam => new ListarTurmaResult { Id = turma.Id, Titulo = turma.Titulo, Descricao = turma.Descricao, Semestre = turma.Semestre.ToString(), Horarios = turma.Horarios.Select(hrr => new ListarHorarioResult() { Id = hrr.Id, DiaSemana = hrr.DiaSemana.ToString(), HoraInicio = hrr.HoraInicio, HoraTermino = hrr.HoraTermino } ).ToList() } ).ToList() }); }); return(new GenericQueryResult(true, "Turmas do Professor", result)); }
public IQueryResult Handle(BuscarProfessorTurmaQuery command) { command.Validate(); if (command.Invalid) { return(new GenericQueryResult(false, "Dados inválidos", command.Notifications)); } var procurarProfessorTurma = _repositorio.BuscarProfessorTurmaPorId(command.Id); if (procurarProfessorTurma == null) { return(new GenericQueryResult(false, "Professor turma não encontrado", null)); } var Professor = _repositorioProfessor.BuscarProfessorPorId(procurarProfessorTurma.IdProfessor); var turma = _repositorioTurma.BuscarTurmaPorId(procurarProfessorTurma.IdTurma); var result = new BuscarProfessorTurmaResult { Id = procurarProfessorTurma.Id, Professor = new BuscarProfessorResult { Id = Professor.Id, NomeUsuario = Professor.NomeUsuario, Email = Professor.Email, Telefone = Professor.Telefone, FotoProfessor = Professor.FotoProfessor }, Turma = new BuscarTurmaResult { Id = turma.Id, Titulo = turma.Titulo, Descricao = turma.Descricao, Semestre = turma.Semestre.ToString(), Horarios = turma.Horarios.Select(hrr => new ListarHorarioResult() { Id = hrr.Id, DiaSemana = hrr.DiaSemana.ToString(), HoraInicio = hrr.HoraInicio, HoraTermino = hrr.HoraTermino } ).ToList() } }; return(new GenericQueryResult(true, "Dados do professor turma", result)); }
public IQueryResult Handle(BuscarProfessorQuery command) { command.Validate(); if (command.BuscarEmail != null) { if (command.Invalid) { return(new GenericQueryResult(false, "Dados inválidos", command.Notifications)); } var professorProcuradoEmail = _repositorio.BuscarProfessorPorEmail(command.BuscarEmail); if (professorProcuradoEmail == null) { return(new GenericQueryResult(false, "Professor não encontrado", null)); } var professorEmailResult = new BuscarProfessorResult { Id = professorProcuradoEmail.Id, NomeUsuario = professorProcuradoEmail.NomeUsuario, Email = professorProcuradoEmail.Email, Telefone = professorProcuradoEmail.Telefone, FotoProfessor = professorProcuradoEmail.FotoProfessor, }; return(new GenericQueryResult(true, "Dados do professor", professorEmailResult)); } var professorProcurado = _repositorio.BuscarProfessorPorId(command.BuscarId); if (professorProcurado == null) { return(new GenericQueryResult(false, "Professor não encontrado", null)); } var professorResult = new BuscarProfessorResult { Id = professorProcurado.Id, NomeUsuario = professorProcurado.NomeUsuario, Email = professorProcurado.Email, Telefone = professorProcurado.Telefone, FotoProfessor = professorProcurado.FotoProfessor, }; return(new GenericQueryResult(true, "Dados do professor", professorResult)); }
public IQueryResult Handle(ListarProfessoresDaTurmaQuery command) { command.Validate(); if (command.Invalid) { return(new GenericQueryResult(false, "Dados inválidos", command.Notifications)); } var ProfessoresDaTurma = _repositorio.ListarProfessoresDaTurma(command.IdTurma); var result = ProfessoresDaTurma.Select(alt => { var turma = _repositorioTurma.BuscarTurmaPorId(alt.IdTurma); var Professor = _repositorioProfessor.BuscarProfessorPorId(alt.IdProfessor); return(new ListarProfessoresDaTurmaResult() { Turma = new BuscarTurmaResult { Id = turma.Id, Titulo = turma.Titulo, Descricao = turma.Descricao, Semestre = turma.Semestre.ToString(), }, Professores = ProfessoresDaTurma.Select(atm => new ListarProfessorResult { Id = Professor.Id, NomeUsuario = Professor.NomeUsuario, Email = Professor.Email, Telefone = Professor.Telefone, FotoProfessor = Professor.FotoProfessor } ).ToList() }); }); return(new GenericQueryResult(true, "Lista dos Professores da turma", result)); }
public ICommandResult Handler(AlterarProfessorTurmaCommand command) { command.Validar(); if (command.Invalid) { return(new GenericCommandResult(false, "Dados Inválidos!", command.Notifications)); } var professorTurma = _repositorio.BuscarProfessorTurmaPorId(command.Id); if (professorTurma == null) { return(new GenericCommandResult(true, "Turma do professor não encontrada", null)); } var professor = _repositorioProfessor.BuscarProfessorPorId(command.IdProfessor); if (professor == null) { return(new GenericCommandResult(false, "Professor não encontrado", null)); } var turma = _repositorioTurma.BuscarTurmaPorId(command.IdTurma); if (turma == null) { return(new GenericCommandResult(false, "Turma não encontrada", null)); } professorTurma.AlterarrofessorTurma(command.IdTurma, command.IdProfessor); if (professorTurma.Valid) { _repositorio.AdicionarProfessorATurma(professorTurma); } _repositorio.AlterarProfessorTurma(professorTurma); return(new GenericCommandResult(true, "Turma do professor", professorTurma)); }
public ICommandResult Handler(ExcluirProfessorCommand command) { command.Validar(); //Caso seja inválido, recebemos quando são os valores incorretos identificados por ele if (command.Invalid) { return(new GenericCommandResult(false, "Informe um id correto", command.Notifications)); } var professorExiste = _professorRepositorio.BuscarProfessorPorId(command.Id); if (professorExiste == null) { return(new GenericCommandResult(false, "Professor não encontrado", null)); } _professorRepositorio.ExcluirProfessor(professorExiste); return(new GenericCommandResult(true, "Professor excluído com sucesso", professorExiste)); }
public ICommandResult Handler(AlterarProfessorCommand command) { command.Validar(); if (command.Invalid) { return(new GenericCommandResult(false, "Dados Inválidos!", command.Notifications)); } var professorExiste = _professorRepositorio.BuscarProfessorPorId(command.Id); if (professorExiste == null) { return(new GenericCommandResult(false, "Professor não encontrado", null)); } if (command.Email != professorExiste.Email) { var novoEmailExistente = _professorRepositorio.BuscarProfessorPorEmail(command.Email); if (novoEmailExistente != null) { return(new GenericCommandResult(false, "Este e-mail já está vinculado a uma conta, informe outro email", command.Notifications)); } } professorExiste.AlterarProfessor(command.Nome, command.Email, command.Telefone, command.FotoProfessor); if (professorExiste.Invalid) { return(new GenericCommandResult(false, "Dados inválidos", professorExiste.Notifications)); } _professorRepositorio.AlterarProfessor(professorExiste); return(new GenericCommandResult(true, "Dados alterador com sucesso", professorExiste)); }