예제 #1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public SolicitudDTO BuscarSolicitudPorId(int id)
        {
            Solicitud    solicitud    = solicitudRepositorio.BuscarPorId(id);
            SolicitudDTO solicitudDTO = TransferirDTO.TransferirSolicitud(solicitud);

            return(solicitudDTO);
        }
예제 #2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="usuario"></param>
        /// <returns></returns>
        public MensajeDTO BuscarSolicitudesPorRols(SolicitudFiltro filtro, int paginacion)
        {
            List <SolicitudDTO> solicitudesDTO = new List <SolicitudDTO>();
            List <Solicitud>    solicitudes;
            MensajeDTO          mensaje;

            if (filtro.Carrera == null)
            {
                filtro.carrera = true;
                filtro.Carrera = new CarreraDTO();
            }
            if (filtro.Nombre == null)
            {
                filtro.Nombre = "";
            }

            if (filtro.usuario.Rol != null)
            {
                switch (filtro.usuario.Rol.Descripcion)
                {
                case "Coordinador":
                    solicitudes = solicitudRepositorio.buscarSolicitudesPorCoordinador(filtro);
                    break;

                case "Posgrado":
                    solicitudes = solicitudRepositorio.BuscarSolicitudPorPosgrado(filtro);
                    break;

                case "Administradora":
                    solicitudes = solicitudRepositorio.buscarSolicitudesPorAdministrador(filtro);
                    break;

                case "Subdirector":
                    solicitudes = solicitudRepositorio.BuscarSolicitudPorSubDirector(filtro);
                    break;

                case "Director":
                    solicitudes = solicitudRepositorio.BuscarSolicitudPorDirector(filtro);
                    break;

                default:
                    solicitudes = new List <Solicitud>();
                    break;
                }
            }
            else
            {
                solicitudes = solicitudRepositorio.buscarSolicitudesPorDocente(filtro);
            }

            foreach (Solicitud solicitud in solicitudes)
            {
                solicitudesDTO.Add(TransferirDTO.TransferirSolicitud(solicitud));
            }

            mensaje       = MensajeComponente.mensaje("Datos", solicitudesDTO.Skip(paginacion - 10).Take(paginacion));
            mensaje.largo = solicitudesDTO.Count();
            return(mensaje);
        }
예제 #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));;
 }
예제 #4
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public CarreraDTO BuscarPorUsuario(int id)
        {
            Carrera carrera = carreraRepositorio.BuscarPorUsuario(id);

            if (carrera != null)
            {
                return(TransferirDTO.TransferirCarrera(carrera));
            }
            return(null);
        }
예제 #5
0
        public List <EstadoDTO> BuscarTodos()
        {
            List <EstadoDTO> estadosDTO = new List <EstadoDTO>();
            List <Estado>    estados    = estadoRepositorio.BuscarTodos().ToList();

            foreach (Estado estado in estados)
            {
                estadosDTO.Add(TransferirDTO.TransferirEstado(estado));
            }

            return(estadosDTO);
        }
예제 #6
0
        /// <summary>
        ///
        /// </summary>
        /// <returns></returns>
        public List <UsuarioDTO> BuscarTodos()
        {
            List <UsuarioDTO> usuariosDTO = new List <UsuarioDTO>();
            List <Usuario>    usuarios    = usuarioRepositorio.BuscarTodos().ToList();

            foreach (Usuario usuario in usuarios)
            {
                usuariosDTO.Add(TransferirDTO.TransferirUsuario(usuario));
            }

            return(usuariosDTO);
        }
예제 #7
0
        public List <CategoriaDTO> BuscarTodos()
        {
            List <CategoriaDTO> categoriasDTO = new List <CategoriaDTO>();
            List <Categoria>    categorias    = categoriaRepositorio.BuscarTodos().ToList();

            foreach (Categoria categoria in categorias)
            {
                categoriasDTO.Add(TransferirDTO.TransferirCategoria(categoria));
            }

            return(categoriasDTO);
        }
예제 #8
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="usuario"></param>
        /// <returns></returns>
        public MensajeDTO InicioSesion(UsuarioDTO usuario)
        {
            Models.Entidades.UABC.Usuario usuarioUABC = usuarioRepositorioUABC.BuscarUsuarioUABC(usuario.Correo);


            if (usuarioUABC != null)
            {
                if (usuario.Contrasenia.Equals(usuarioUABC.Contraseña))
                {
                    Models.Entidades.FIAD.Usuario usuarioFIAD = usuarioRepositorioFIAD.BuscarUsuarioFIAD(usuario.Correo);

                    if (usuarioFIAD != null)
                    {
                        Models.Entidades.SS.Usuario usuarioSS = usuarioRepositorioSS.BuscarPorCorreo(usuario.Correo);

                        if (usuarioSS != null)
                        {
                            UsuarioDTO usuarioAdministrativo = TransferirDTO.TransferirUsuario(usuarioSS);
                            usuarioAdministrativo.Nombre          = usuarioUABC.Nombre;
                            usuarioAdministrativo.Apellido        = usuarioUABC.Apellido;
                            usuarioAdministrativo.Numero_Empleado = usuarioUABC.Numero_Empleado;
                            return(MensajeComponente.mensaje("Se ha iniciado sesion como " + usuarioAdministrativo.Rol.Nombre, usuarioAdministrativo));
                        }
                        else
                        {
                            UsuarioDTO usuarioProfesor = new UsuarioDTO();
                            usuarioProfesor.Nombre   = usuarioUABC.Nombre;
                            usuarioProfesor.Apellido = usuarioUABC.Apellido;
                            return(MensajeComponente.mensaje("Se ha iniciado sesion como Profesor", usuarioProfesor));
                        }
                    }
                    else
                    {
                        return(MensajeComponente.mensaje("El usuario no pertenece a la Facultad de Ingenieria, Arquitectura y Diseño", null));
                    }
                }
                else
                {
                    return(MensajeComponente.mensaje("La contraseña introducida es incorrecta", null));
                }
            }
            else
            {
                return(MensajeComponente.mensaje("El usuario no pertenece a el dominio de UABC", null));
            }
        }
예제 #9
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="usuario"></param>
        /// <returns></returns>
        public MensajeDTO BuscarSolicitudesPorCorreo(SolicitudFiltro filtro, int paginacion)
        {
            List <SolicitudDTO> solicitudesDTO = new List <SolicitudDTO>();

            if (filtro.Carrera == null)
            {
                filtro.carrera = true;
                filtro.Carrera = new CarreraDTO();
            }
            List <Solicitud> solicitudes = solicitudRepositorio.BuscarSolicitudPorCorreo(filtro);
            MensajeDTO       mensaje;

            foreach (Solicitud solicitud in solicitudes)
            {
                solicitudesDTO.Add(TransferirDTO.TransferirSolicitud(solicitud));
            }
            mensaje       = MensajeComponente.mensaje("Datos", solicitudesDTO.Skip(paginacion - 10).Take(paginacion).ToList());
            mensaje.largo = solicitudesDTO.Count();
            return(mensaje);
        }
예제 #10
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="Id"></param>
 /// <returns></returns>
 public UsuarioDTO BuscarPorId(int Id)
 {
     return(TransferirDTO.TransferirUsuario(usuarioRepositorio.BuscarPorId(Id)));
 }
예제 #11
0
        public UsuarioDTO getUsuarioLogeado(string correo)
        {
            Models.Entidades.UABC.Usuario usuarioUABC = usuarioRepositorioUABC.BuscarUsuarioUABC(correo);
            Usuario usuario = usuarioRepositorioSS.BuscarPorCorreo(correo);

            if (usuario != null)
            {
                return(new UsuarioDTO(usuarioUABC.Numero_Empleado, usuarioUABC.Nombre, correo, TransferirDTO.TransferirRol(usuario.Rol)));
            }
            return(new UsuarioDTO(usuarioUABC.Numero_Empleado, usuarioUABC.Nombre, correo, null));
        }
예제 #12
0
파일: RolServicio.cs 프로젝트: LEYVUS/SS
 /// <summary>
 ///
 /// </summary>
 /// <param name="id"></param>
 /// <returns></returns>
 public RolDTO BuscarPorId(int id)
 {
     return(TransferirDTO.TransferirRol(rolRepositorio.BuscarPorId(id)));
 }