public void getReservas(int empleadoID, out IEnumerable <Reserva> reservasDelEmpleado, out IEnumerable <Reserva> reservasDeOtrosEmpleados) { //Se verifica que el empleado existe. Empleado empleado = EmpleadoRepository.findById(empleadoID); if (empleado == null) { throw new Exception("No se encontró el empleado"); } //Se buscan todas las reservas IEnumerable <Reserva> reservas = ReservaRepository.findAll(); //se asigna cada a reserva a la lista que corresponde reservasDelEmpleado = new List <Reserva>(); reservasDeOtrosEmpleados = new List <Reserva>(); foreach (Reserva r in reservas) { if (r.FechaFin >= DateTime.Now) { if (r.ResponsableID == empleadoID) { ((List <Reserva>)reservasDelEmpleado).Add(r); } else { ((List <Reserva>)reservasDeOtrosEmpleados).Add(r); } } } }
/** * Validar que el empleado existe en la base de datos. * */ private void validarEmpleadoExistente(int responsableID) { if (EmpleadoRepository.findById(responsableID) == null) { throw new ArgumentException("No existe empleado con la ID de responsable solicitada."); } }
private void empleadoExiste(int empleadoID) { Empleado e = EmpleadoRepository.findById(empleadoID); if (e == null) { throw new ApplicationException("No se encontró el empleado autenticado."); } }
public void completar(Encuesta encuesta, int reservaID, int empleadoID) { Empleado e = EmpleadoRepository.findById(empleadoID); if (e == null) { throw new ApplicationException("No existe el empleado para el usuario de la sesión."); } Reserva reserva = ReservaRepository.findById(reservaID); if (reserva == null) { throw new ArgumentException("No existe reserva con el ID que fue pasado en la URL"); } if (reserva.ResponsableID != empleadoID) { throw new ArgumentException("No coincide el empleado de la sesión con el responsable de la reserva"); } validarRespuestasRequeridas(encuesta.Respuestas); reserva.Encuesta = encuesta; ReservaRepository.update(reserva); }