public ActividadResponse Handle(ActividadRequest request)
        {
            var tipoActividad = _tipoActividadRepository.Find(request.TipoActividadId);

            if (tipoActividad == null)
            {
                return(new ActividadResponse("No existe ese tipo de actividad", null, "Error"));
            }
            var asignador = _usuarioRepository.FindJefeDpto(request.IdentificacionAsignador);

            if (asignador == null)
            {
                return(new ActividadResponse("No se encontró el Jefe de departamento", null, "Error"));
            }
            var responsable = _usuarioRepository.FindDocente(request.IdentificacionResponsable);

            if (responsable == null)
            {
                return(new ActividadResponse("No se encontró el docente", null, "Error"));
            }
            var actividad = new Actividad(tipoActividad, asignador);
            var response  = actividad.Asignar(responsable, request.HorasAsignadas);

            _actividadRepository.Add(actividad);
            _unitOfWork.Commit();
            _emailServer.Send("Nueva actividad asignada", $"Se efectúo la asignacion de la actividad", responsable.Email);
            return(new ActividadResponse(response, actividad, "Ok"));
        }
Exemplo n.º 2
0
 public TipoActividad GetTipoActividad(int id)
 {
     return(_tipoActividadRepository.Find(id));
 }