public static bool DictamenAprobado(AlumnoPOJO alumno)
        {
            try
            {
                var residencia = ResidenciaDAO.ObtenerResidenciaXMatricula(alumno.Matricula);

                if (residencia == null)
                {
                    return(false);
                }

                Conexion     con = new Conexion();
                MySqlCommand cmd;
                DataTable    dt;

                cmd = new MySqlCommand("SELECT count(*) as 'cnt' FROM dictamen WHERE Idresidencia=@P0 AND " +
                                       "Tipo LIKE 'Aprobacion%' LIMIT 1;");
                cmd.Parameters.AddWithValue("@P0", residencia.ID);
                dt = con.ejecutarConsulta(cmd);
                int dictamenes = int.Parse(dt.Rows[0]["cnt"].ToString());

                cmd = new MySqlCommand("SELECT count(*) as 'cnt' FROM dictamen WHERE Idresidencia=@P0 AND " +
                                       "Tipo LIKE 'Aprobacion%' AND Estatus LIKE 'Aceptado' LIMIT 1;");
                cmd.Parameters.AddWithValue("@P0", residencia.ID);
                dt = con.ejecutarConsulta(cmd);
                int cantidad = int.Parse(dt.Rows[0]["cnt"].ToString());

                return(dictamenes == 3 && cantidad >= 2);
            }
            catch (Exception ex)
            {
                return(false);
            }
            finally
            {
                if (Conexion.conexion != null)
                {
                    Conexion.conexion.Close();
                }
            }
        }
예제 #2
0
        /// <summary>
        /// Genera un archivo de Excel que contiene la solicitud de residencias
        /// profesionales de un alumno, a través de su matrícula.
        /// </summary>
        /// <param name="matricula">Matrícula del alumno de quien se generará la solicitud</param>
        /// <param name="ruta">Ruta donde se almacenará el archivo</param>
        /// <returns></returns>
        public static bool GenerarFormatoDeSolicitud(String matricula, String ruta)
        {
            // Obtener informacion de la solicitud
            var alumno     = AlumnoDAO.ObtenerAlumno(matricula);
            var solicitud  = SolicitudDAO.ObtenerSolicitud(matricula);
            var residencia = ResidenciaDAO.ObtenerResidencia(solicitud.IdResidencia);
            var empresa    = EmpresaDAO.ObtenerEmpresa(residencia.IdEmpresa);

            // Obtener la ruta del archivo de plantilla
            var rutaPlantilla = Path.Combine(System.IO.Path.GetFullPath(@"..\..\"), "Resources", "Plantilla.xlsx");

            // Crear la lista de cambios
            var listaDatos = new List <DatoCelda>();

            // Fecha
            listaDatos.Add(new DatoCelda(6, 17, String.Format("{0:00}/{1:00}/{2}", DateTime.Now.Day,
                                                              DateTime.Now.Month,
                                                              DateTime.Now.Year)));

            // Nombre del proyecto
            listaDatos.Add(new DatoCelda(11, 10, residencia.NombreProyec));

            // Opcion elegida
            if (residencia.Modalidad == "Banco de proyectos")
            {
                listaDatos.Add(new DatoCelda(14, 13, "X"));
            }

            if (residencia.Modalidad == "Propuesta propia")
            {
                listaDatos.Add(new DatoCelda(14, 20, "X"));
            }

            if (residencia.Modalidad == "Trabajador")
            {
                listaDatos.Add(new DatoCelda(14, 26, "X"));
            }

            // Periodo proyectado
            listaDatos.Add(new DatoCelda(17, 10, String.Format("{0} {1}", residencia.Periodo, residencia.Anio)));

            // Nombre de la empresa
            listaDatos.Add(new DatoCelda(22, 4, empresa.Nombre));

            // Giro de la empresa
            listaDatos.Add(new DatoCelda(24, 4, String.Format("Industrial ( {0} ) Servicios ( {1} ) Otro  ( {2} )",
                                                              empresa.Giro == "Industrial"  ? "X" : " ",
                                                              empresa.Giro == "Servicios"   ? "X" : " ",
                                                              empresa.Giro == "Otro"        ? "X" : " ")));

            // RFC de la empresa
            listaDatos.Add(new DatoCelda(24, 19, empresa.RFC));

            // Sector de la empresa
            listaDatos.Add(new DatoCelda(25, 4, String.Format("Pública ( {0} ) Privada( {1} )",
                                                              empresa.Sector == "Publico" ? "X" : " ",
                                                              empresa.Sector == "Privado" ? "X" : " ")));

            // Domicilio de la empresa
            listaDatos.Add(new DatoCelda(26, 4, empresa.Domicilio));

            // Colonia de la empresa
            listaDatos.Add(new DatoCelda(28, 4, empresa.Colonia));

            // CP de la empresa
            listaDatos.Add(new DatoCelda(28, 15, empresa.CP));

            // Fax de la empresa
            listaDatos.Add(new DatoCelda(28, 21, empresa.Fax));

            // Mision de la empresa
            listaDatos.Add(new DatoCelda(30, 4, empresa.Mision));

            // Nombre del titular de la empresa
            listaDatos.Add(new DatoCelda(37, 6, empresa.Titular));

            // Puesto del titular de la empresa
            listaDatos.Add(new DatoCelda(37, 19, empresa.PuestoTit));

            // Nombre del asesor de la empresa
            listaDatos.Add(new DatoCelda(39, 6, residencia.AsesorExt));

            // Puesto del asesor de la empresa
            listaDatos.Add(new DatoCelda(39, 19, residencia.PuestoAsesor));

            // Nombre del responsable de la empresa
            listaDatos.Add(new DatoCelda(41, 9, residencia.Responsable));

            // Puesto del responsable de la empresa
            listaDatos.Add(new DatoCelda(41, 19, residencia.PuestoResp));

            // Nombre del residente
            listaDatos.Add(new DatoCelda(51, 4, alumno.NombreCompleto));

            // Carrera del residente
            listaDatos.Add(new DatoCelda(53, 4, CarreraDAO.ObtenerUno(alumno.Carrera).Nombre));

            // Matricula del residente
            listaDatos.Add(new DatoCelda(53, 19, alumno.Matricula));

            // Domicilio del residente
            listaDatos.Add(new DatoCelda(55, 4, alumno.Domicilio));

            // Correo del residente
            listaDatos.Add(new DatoCelda(57, 4, alumno.Correo));

            // Tipo de SS del residente
            listaDatos.Add(new DatoCelda(57, 17, String.Format("IMSS ( {0} ) ISSSTE( {1} ) Otro( {2} )",
                                                               alumno.TipoSS == "IMSS"   ? "X" : " ",
                                                               alumno.TipoSS == "ISSSTE" ? "X" : " ",
                                                               alumno.TipoSS == "Otro"   ? "X" : " ")));

            // Numero de SS del residente
            listaDatos.Add(new DatoCelda(58, 17, alumno.NumeroSS));

            // Ciudad del residente
            listaDatos.Add(new DatoCelda(59, 4, alumno.Ciudad));

            // Telefono del residente
            listaDatos.Add(new DatoCelda(59, 17, alumno.Telefono));

            return(ExcelGenerador.LlenarPlantillaConDatos(ruta, rutaPlantilla, listaDatos));
        }