Esempio n. 1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="usuario"></param>
        /// <param name="id"></param>
        /// <returns></returns>
        public MensajeDTO AceptarSolicitud(UsuarioDTO usuario, int id)
        {
            Solicitud solicitud = solicitudRepositorio.BuscarPorId(id);

            Models.Entidades.UABC.Usuario usuarioUABC = usuarioUABCRepositorio.BuscarUsuarioUABC(usuario.Correo);
            CorreoComponente correo       = new CorreoComponente(usuarioUABC.Email, usuarioUABC.Contraseña);
            Usuario          destinatario = null;
            bool             solicitudTerminadaRevision = false;

            switch (usuario.Rol.Descripcion)
            {
            case "Coordinador":
                solicitud.Validacion.Coordinador = true;
                destinatario = usuarioRepositorio.BuscarPorRol((int)RolEnum.Director);
                break;

            case "Posgrado":
                solicitud.Validacion.Posgrado = true;
                solicitudTerminadaRevision    = true;
                break;

            case "Administradora":
                solicitud.Validacion.Administrador = true;
                destinatario = usuarioRepositorio.BuscarPorRol((int)RolEnum.Coordinador);
                break;

            case "Subdirector":
                solicitud.Validacion.Subdirector = true;
                destinatario = usuarioRepositorio.BuscarPorRol((int)RolEnum.Administradora);
                break;

            case "Director":
                solicitud.Validacion.Director = true;
                if (solicitud.Actividad.Posgrado == true)
                {
                    destinatario = usuarioRepositorio.BuscarPorRol((int)RolEnum.Posgrado);
                }
                else
                {
                    solicitudTerminadaRevision = true;
                }
                break;
            }

            if (solicitudTerminadaRevision)
            {
                solicitud.Id_Estado = (int)EstadoEnum.Aceptado;
                correo.MandarCorreo("Sistema Solicitud de Salida" + "La solicitud:" + id + "ha sido aceptada",
                                    "Solicitud Aceptada", solicitud.Correo_Solicitante);
            }
            else
            {
                correo.MandarCorreo("Sistema Solicitud de Salida" + "Tiene una solicitud pendiente por revisar. Solicitud :" + id
                                    , "Solicitud Pendiente", destinatario.Correo);
            }
            solicitudRepositorio.Modificar(solicitud);
            return(MensajeComponente.mensaje("Se ha aprobado correctamente", true));
        }
Esempio n. 2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="solicitudDTO"></param>
        /// <returns></returns>
        public MensajeDTO Agregar(SolicitudDTO solicitudDTO)
        {
            if (this.SolicitudValida(solicitudDTO))
            {
                Solicitud solicitud;
                solicitud = TransferirEntidad.TransferirDatosSolicitudDTO(solicitudDTO);

                //Busca credecniales del usuario logeado
                Models.Entidades.UABC.Usuario usuario = usuarioUABCRepositorio.BuscarUsuarioUABC(solicitud.Correo_Solicitante);

                Usuario subdirector = usuarioRepositorio.BuscarPorRol((int)RolEnum.Subdirector);
                //Busca al proximo usuario que su rol es coordinador


                //Envia el correo al sigueinte usuario
                CorreoComponente correo = new CorreoComponente(usuario.Email, usuario.Contraseña);
                if (correo.MandarCorreo("Sistema Solicitud de Salida" + "Tiene una solicitud pendiente por revisar ", "Solicitud Pendiente", subdirector.Correo))
                {
                    solicitudRepositorio.Agregar(solicitud);
                    return(MensajeComponente.mensaje("Solicitud creada exitosamente", true));
                }

                return(MensajeComponente.mensaje("Error al crear la solicitud", false));
            }
            return(MensajeComponente.mensaje("Error al crear la solicitud", false));
        }
Esempio n. 3
0
 public MensajeDTO EditarSolicitud(SolicitudDTO solicitudDTO)
 {
     if (this.SolicitudValida(solicitudDTO))
     {
         Solicitud solicitud = solicitudRepositorio.BuscarPorId(solicitudDTO.Id);
         solicitud.Fecha_Modificacion   = DateTime.Now;
         solicitud.Evento               = TransferirDTO.TransferirEvento(solicitudDTO.Evento);
         solicitud.Actividad            = TransferirDTO.TransferirActividad(solicitudDTO.Actividad);
         solicitud.Validacion           = TransferirDTO.TransferirValidacion(solicitudDTO.Validacion);
         solicitud.Recurso              = TransferirDTO.TransferirRecurso(solicitudDTO.Recurso_Solicitado);
         solicitud.Id_Carrera           = solicitudDTO.Carrera.Id;
         solicitud.Id_Categoria         = solicitudDTO.Categoria.Id;
         solicitud.Id_Estado            = (int)EstadoEnum.Proceso;
         solicitud.Comentario_Rechazado = "";
         Models.Entidades.UABC.Usuario usuarioUABC = usuarioUABCRepositorio.BuscarUsuarioUABC(solicitud.Correo_Solicitante);
         CorreoComponente correo = new CorreoComponente(usuarioUABC.Email, usuarioUABC.Contraseña);
         Usuario          usuario;
         if (!solicitud.Validacion.Subdirector)
         {
             //Buscar subdirector
             usuario = usuarioRepositorio.BuscarPorRol((int)RolEnum.Director);
         }
         else
         {
             if (!solicitud.Validacion.Administrador)
             {
                 usuario = usuarioRepositorio.BuscarPorRol((int)RolEnum.Administradora);
                 //buscar administrador
             }
             else
             {
                 if (!solicitud.Validacion.Coordinador)
                 {
                     usuario = usuarioRepositorio.BuscarPorRol((int)RolEnum.Coordinador);
                     //buscar coordinador
                 }
                 else
                 {
                     if (!solicitud.Validacion.Director)
                     {
                         usuario = usuarioRepositorio.BuscarPorRol((int)RolEnum.Director);
                         //buscar director
                     }
                     else
                     {
                         usuario = usuarioRepositorio.BuscarPorRol((int)RolEnum.Posgrado);
                         //buscar posgrado
                     }
                 }
             }
         }
         correo.MandarCorreo("Sistema Solicitud de Salida" + "La solicitud: " + solicitud.Id + " ha sido corregida.", "Solicitud Pendiente", usuario.Correo);
         solicitudRepositorio.Modificar(solicitud);
         return(MensajeComponente.mensaje("Solicitud modificada exitosamente", true));
     }
     return(MensajeComponente.mensaje("Error al crear la solicitud", false));;
 }
Esempio n. 4
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public MensajeDTO RechazarTotalmente(int id, string Correo)
        {
            Models.Entidades.UABC.Usuario usuarioUABC = usuarioUABCRepositorio.BuscarUsuarioUABC(Correo);
            CorreoComponente correo    = new CorreoComponente(usuarioUABC.Email, usuarioUABC.Contraseña);
            Solicitud        solicitud = solicitudRepositorio.BuscarPorId(id);

            solicitudRepositorio.Borrar(solicitud);
            correo.MandarCorreo("Sistema Solicitud de Salida. " + "La solicitud: " + id + " ha sido rechazada."
                                , "Solicitud Rechazada", solicitud.Correo_Solicitante);
            return(MensajeComponente.mensaje("Solicitud Rechazada", false));
        }
Esempio n. 5
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="usuario"></param>
        /// <param name="id"></param>
        /// <returns></returns>
        public MensajeDTO RechazarSolicitud(SolicitudDTO solicitudDTO)
        {
            Solicitud solicitud = solicitudRepositorio.BuscarPorId(solicitudDTO.Id);

            solicitud.Comentario_Rechazado = solicitudDTO.Comentario_Rechazado;
            solicitud.Id_Estado            = (int)EstadoEnum.Rechazado;
            Models.Entidades.UABC.Usuario usuarioUABC = usuarioUABCRepositorio.BuscarUsuarioUABC(solicitud.Correo_Solicitante);
            CorreoComponente correo = new CorreoComponente(usuarioUABC.Email, usuarioUABC.Contraseña);

            correo.MandarCorreo("Sistema Solicitud de Salida" + "Se ha rechazado una solicitud", "Solicitud Pendiente", solicitud.Correo_Solicitante);
            solicitudRepositorio.Modificar(solicitud);
            return(MensajeComponente.mensaje("Se ha aprobado correctamente", true));
        }
Esempio n. 6
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="id"></param>
        /// <param name="usuario"></param>
        /// <returns></returns>
        public MensajeDTO AceptarTotalmente(int id, string Correo)
        {
            Models.Entidades.UABC.Usuario usuarioUABC = usuarioUABCRepositorio.BuscarUsuarioUABC(Correo);
            CorreoComponente correo    = new CorreoComponente(usuarioUABC.Email, usuarioUABC.Contraseña);
            Solicitud        solicitud = solicitudRepositorio.BuscarPorId(id);

            solicitud.Id_Estado = (int)EstadoEnum.Aceptado;
            solicitud.Validacion.Subdirector   = true;
            solicitud.Validacion.Administrador = true;
            solicitud.Validacion.Coordinador   = true;
            solicitud.Validacion.Director      = true;
            solicitud.Validacion.Posgrado      = true;
            solicitudRepositorio.Modificar(solicitud);
            correo.MandarCorreo("Sistema Solicitud de Salida. " + "La solicitud: " + id + " ha sido aceptada."
                                , "Solicitud Aceptada", solicitud.Correo_Solicitante);
            return(MensajeComponente.mensaje("Solicitud Aprobada", true));
        }
Esempio n. 7
0
File: Reporte.cs Progetto: LEYVUS/SS
        public void Execute(IJobExecutionContext context)
        {
            //Cambiar estado de aceptado a reporte
            EntidadesSS contextss = new EntidadesSS();

            solicitudRepositorio = new SolicitudRepositorioImpl(contextss);
            solicitudRepositorio.EstadoReporte();
            usuarioRepositorioImpl = new UsuarioRepositorioImpl(contextss);

            //Buscar solicitudes con estado reporte y enviar solicitudes
            Usuario          subdirector = usuarioRepositorioImpl.BuscarPorRol((int)RolEnum.Subdirector);
            List <Solicitud> solicitudes = solicitudRepositorio.BuscarSolicitudPorEstadoReporte();

            usuarioUABCRepositorio = new UsuarioUABCRepositorioImpl();

            Models.Entidades.UABC.Usuario subdirectorCredenciales = usuarioUABCRepositorio.BuscarUsuarioUABC(subdirector.Correo);
            CorreoComponente correo = new CorreoComponente(subdirectorCredenciales.Email, subdirectorCredenciales.Contraseña);

            foreach (Solicitud s in solicitudes)
            {
                correo.MandarCorreo("Sistema de solicitud de salida.Falta subir reporte", "REPORTE", "*****@*****.**");
            }
        }