Beispiel #1
0
        private List <Postulacion> ArmarPostulaciones(TablaDeDatos tablaCVs)
        {
            List <Postulacion> postulaciones = new List <Postulacion>();


            tablaCVs.Rows.ForEach(row =>
            {
                var postulacion = new Postulacion()
                {
                    Id         = row.GetInt("IdPostulacion"),
                    Perfil     = ArmarPuesto(row),
                    Postulante = new Persona()
                    {
                        Id       = row.GetInt("IdPostulante"),
                        Nombre   = row.GetString("NombrePostulante"),
                        Apellido = row.GetString("ApellidoPostulante")
                    },
                    FechaPostulacion = row.GetDateTime("FechaInscripcion"),
                    Motivo           = row.GetString("Motivo"),
                    Observaciones    = row.GetString("Observaciones"),
                    Numero           = row.GetString("Postulacion_Numero", "")
                };


                if (!postulaciones.Exists(p => p.Id == postulacion.Id))
                {
                    postulaciones.Add(postulacion);
                }
            });

            postulaciones.ForEach(p =>
                                  CorteDeControlEtapas(tablaCVs, p)
                                  );
            return(postulaciones);
        }
Beispiel #2
0
        public Postulacion PostularseA(Postulacion postulacion, Usuario usuario)
        {
            try
            {
                var parametros = new Dictionary <string, object>();
                parametros.Add("@idPuesto", postulacion.Perfil.Id);
                parametros.Add("@idPersona", usuario.Owner.Id);
                parametros.Add("@Motivo", postulacion.Motivo);
                parametros.Add("@Observacion", postulacion.Observaciones);
                parametros.Add("@Usuario", usuario.Id);
                GeneradorDeEtiquetas repoTicket = new GeneradorDeEtiquetas(conexion_bd);
                postulacion.Numero = repoTicket.GenerarTicket("POSTULAR");
                parametros.Add("@Numero", postulacion.Numero);

                var id = conexion_bd.EjecutarEscalar("dbo.CV_Ins_Postulaciones", parametros);
                postulacion.Id               = Convert.ToInt32(id);
                postulacion.Postulante       = usuario.Owner;
                postulacion.FechaPostulacion = DateTime.Now;

                if (!GuardarNumerosGDE(postulacion))
                {
                    throw new Exception("Fallo el insertado de los numeros de GDE");
                }
            }
            catch (Exception e)
            {
                //return e.Message;
            }

            return(postulacion);
        }
Beispiel #3
0
        private void CorteDeControlEtapas(TablaDeDatos tablaCVs, Postulacion postulacion)
        {
            //CORTE DE CONTROL PARA OTRAS CAPACIDADES
            //1.- Controlo que haya al menos 1 resultado
            var lista = ArmarFilas(tablaCVs, "IdUsuarioPostulacion");

            new List <RowDeDatos>();

            if (lista.Count > 0)
            {
                var etapas = (from RowDeDatos dRow in lista
                              select new //CvEventoAcademico ()
                {
                    Descripcion = dRow.GetString("EtapaDescripcion", ""),
                    IdEtapaConcurso = dRow.GetInt("IdEtapa"),
                    Fecha = dRow.GetDateTime("FechaPostulacion"),
                    IdUsuario = dRow.GetSmallintAsInt("IdUsuarioPostulacion"),
                    IdPostulacion = dRow.GetInt("IdPostulacion")
                }).Where(r => r.IdPostulacion == postulacion.Id).Distinct().ToList();

                etapas.Select(e =>
                              new EtapaPostulacion()
                {
                    Etapa     = new EtapaConcurso(e.IdEtapaConcurso, e.Descripcion),
                    Fecha     = e.Fecha,
                    IdUsuario = e.IdUsuario
                }).ToList().ForEach(ep => postulacion.AgregarPostulacion(ep));
            }
        }
Beispiel #4
0
 private bool PerteneceA(Postulacion postulacion, List <EtapaConcurso> etapas)
 {
     if (etapas.Exists(e => e.Id == postulacion.EtapaActual().Etapa.Id))
     {
         return(true);
     }
     return(false);
 }
Beispiel #5
0
        public Postulacion GetPostulacionById(int idpersona, int idpostulacion)
        {
            Dictionary <string, object> parametros = new Dictionary <string, object>();

            parametros.Add("@IdPostulacion", idpostulacion);
            parametros.Add("@IdPersona", idpersona);
            Postulacion postulacion = this.GetPostulaciones(parametros).First();

            postulacion.NumerosDeInformeGDE = this.GetNumerosDeInformeGDE(postulacion.Id);
            return(postulacion);
        }
Beispiel #6
0
        public AnexosDeEtapas GenerarAnexosPara(int id_etapa, Postulacion una_postulacion, Usuario usuario)
        {
            var parametros = new Dictionary <string, object>();

            parametros.Add("@IdEtapa", id_etapa);
            parametros.Add("@IdComite", una_postulacion.Perfil.Comite.Id);
            parametros.Add("@Fecha", DateTime.Today);
            parametros.Add("@IdPostualcion", una_postulacion.Id);
            parametros.Add("@Usuario", usuario.Id);

            var tablaAnexo = conexion_bd.Ejecutar("dbo.CV_Ins_Anexos", parametros);

            return(new AnexosDeEtapas());
        }
Beispiel #7
0
        public List <DocumentacionRecibida> GetDocumentacionRecibidaByPostulacion(Postulacion postulacion)
        {
            List <DocumentacionRecibida> lista_doc_recibida = new List <DocumentacionRecibida>();
            var parametros = new Dictionary <string, object>();

            parametros.Add("@IdPostulacion", postulacion.Id);

            var tablaCVs = conexion_bd.Ejecutar("dbo.CV_Get_DocumentacionRecibida", parametros);

            tablaCVs.Rows.ForEach(row =>
                                  lista_doc_recibida.Add(ArmarDocRecibida(row))
                                  );

            return(lista_doc_recibida);
        }
Beispiel #8
0
        public Postulacion GetPostulacionesPorCodigo(string codigo)
        {
            Dictionary <string, object> parametros = new Dictionary <string, object>();

            parametros.Add("@NumeroPostulacion", codigo);
            try
            {
                Postulacion postulacion = this.GetPostulaciones(parametros).First();
                postulacion.NumerosDeInformeGDE = this.GetNumerosDeInformeGDE(postulacion.Id);
                return(postulacion);
            }
            catch (Exception e)
            {
                return(null);
                //throw e;
            }
        }
Beispiel #9
0
        public bool GuardarNumerosGDE(Postulacion postulacion)
        {
            try
            {
                foreach (string numeroDeInforme in postulacion.NumerosDeInformeGDE)
                {
                    var parametros = new Dictionary <string, object>();
                    parametros.Add("@idPostulacion", postulacion.Id);
                    parametros.Add("@numeroInformeGDE", numeroDeInforme);

                    conexion_bd.Ejecutar("dbo.CV_Ins_InformeGDEPostulacion", parametros);
                }

                return(true);
            }
            catch (Exception e)
            {
                return(false);
            }
        }
Beispiel #10
0
        public bool EliminarPostulacionPorUsuario(Postulacion postulacion, Usuario usuario)
        {
            if (postulacion.Postulante.Id == usuario.Owner.Id)
            {
                var baja = CrearBaja(usuario);

                var parametros = new Dictionary <string, object>();
                parametros.Add("@IdPostulacion", postulacion.Id);
                //   parametros.Add("@IdPuesto", postulacion.Puesto.Id);
                parametros.Add("@IdPerfil", postulacion.Perfil.Id);
                parametros.Add("@IdPersona", postulacion.Postulante.Id);
                parametros.Add("@FechaInscripcion", postulacion.FechaPostulacion);
                parametros.Add("@Usuario", usuario.Id);
                parametros.Add("@idBaja", baja);

                conexion_bd.EjecutarSinResultado("dbo.CV_Upd_Del_Postulacion", parametros);

                return(true);
            }
            else
            {
                return(false);
            }
        }
Beispiel #11
0
        public string InscripcionManual(string postulacion, string datosPersonales, string folio, Usuario usuario)
        {
            var postulacion_deserializada     = (JObject)JsonConvert.DeserializeObject(postulacion);
            var datosPersonales_deserializada = (JObject)JsonConvert.DeserializeObject(datosPersonales);
            var folio_deserializada           = (JObject)JsonConvert.DeserializeObject(folio);

            var idPerfil   = postulacion_deserializada["postulacion"]["Perfil"].ToString();
            var numerosGDE = postulacion_deserializada["postulacion"]["NumerosDeInformeGDE"].ToArray();

            var fechaInscripcion = postulacion_deserializada["postulacion"]["FechaInscripcion"].ToString();

            string[] fechas          = fechaInscripcion.Split('/');
            DateTime fechaFormateada = new DateTime(int.Parse(fechas[2]), int.Parse(fechas[1]), int.Parse(fechas[0]));

            var dniInscriptor = postulacion_deserializada["postulacion"]["DNIInscriptor"].ToString();
            var nombre        = datosPersonales_deserializada["datosPersonales"]["Nombre"].ToString();
            var apellido      = datosPersonales_deserializada["datosPersonales"]["Apellido"].ToString();
            var dni           = datosPersonales_deserializada["datosPersonales"]["DNI"].ToString();
            var telefono      = datosPersonales_deserializada["datosPersonales"]["Telefono"].ToString();
            var mail          = datosPersonales_deserializada["datosPersonales"]["Mail"].ToString();

            var folioFicha    = folio_deserializada["folio"]["FichaInscripcion"].ToString();
            var folioCarnet   = folio_deserializada["folio"]["FotografiaCarnet"].ToString();
            var folioDNI      = folio_deserializada["folio"]["FotocopiaDNI"].ToString();
            var folioTitulo   = folio_deserializada["folio"]["Titulo"].ToString();
            var folioCV       = folio_deserializada["folio"]["CV"].ToString();
            var folioRespaldo = folio_deserializada["folio"]["DocumentacionRespaldo"].ToString();

            var domicilio_personal_calle     = datosPersonales_deserializada["datosPersonales"]["DomicilioCallePersonal"].ToString();
            var domicilio_personal_nro       = int.Parse(datosPersonales_deserializada["datosPersonales"]["DomicilioNroPersonal"].ToString());
            var domicilio_personal_piso      = int.Parse(datosPersonales_deserializada["datosPersonales"]["DomicilioPisoPersonal"].ToString());
            var domicilio_personal_depto     = datosPersonales_deserializada["datosPersonales"]["DomicilioDeptoPersonal"].ToString();
            var domicilio_personal_cp        = int.Parse(datosPersonales_deserializada["datosPersonales"]["DomicilioCpPersonal"].ToString());
            var domicilio_personal_prov      = int.Parse(datosPersonales_deserializada["datosPersonales"]["DomicilioProvinciaPersonal"].ToString());
            var domicilio_personal_localidad = int.Parse(datosPersonales_deserializada["datosPersonales"]["DomicilioLocalidadPersonal"].ToString());

            var domicilio_legal_calle     = datosPersonales_deserializada["datosPersonales"]["DomicilioCalleLegal"].ToString();
            var domicilio_legal_nro       = int.Parse(datosPersonales_deserializada["datosPersonales"]["DomicilioNroLegal"].ToString());
            var domicilio_legal_piso      = int.Parse(datosPersonales_deserializada["datosPersonales"]["DomicilioPisoLegal"].ToString());
            var domicilio_legal_depto     = datosPersonales_deserializada["datosPersonales"]["DomicilioDeptoLegal"].ToString();
            var domicilio_legal_cp        = int.Parse(datosPersonales_deserializada["datosPersonales"]["DomicilioCpLegal"].ToString());
            var domicilio_legal_prov      = int.Parse(datosPersonales_deserializada["datosPersonales"]["DomicilioProvinciaLegal"].ToString());
            var domicilio_legal_localidad = int.Parse(datosPersonales_deserializada["datosPersonales"]["DomicilioLocalidadLegal"].ToString());


            //mockeado el tipo
            var modalidad = postulacion_deserializada["postulacion"]["Modalidad"].ToString();


            RepositorioDePersonas repoPersonas = RepositorioDePersonas.NuevoRepositorioDePersonas(conexion_bd);
            Persona personaAInscribir;

            try {
                //busco o creo la persona que se va a postular
                personaAInscribir = TraerPersonaPorDNI(repoPersonas, dni, nombre, apellido);
            }
            catch (Exception e) {
                return(e.Message);
            }

            RepositorioDeUsuarios repoUsuarios = new RepositorioDeUsuarios(conexion_bd, repoPersonas);
            Usuario usuarioAInscribir;

            try {
                //busco el usuario de la persona que se va postular
                usuarioAInscribir = TraerUsuarioPorIdPersona(repoUsuarios, personaAInscribir.Id);
            }
            catch (Exception e) {
                return(e.Message);
            }

            Persona personaInscriptor;

            try {
                //busco la persona que fue el inscriptor
                personaInscriptor = TraerPersonaPorDNI(repoPersonas, dniInscriptor, "", "");
            }
            catch (Exception e) {
                return(e.Message);
            }


            Usuario usuarioInscriptor;

            try {
                //busco el usuario del inscriptor
                usuarioInscriptor = TraerUsuarioPorIdPersona(repoUsuarios, personaInscriptor.Id);
            }
            catch (Exception e) {
                return(e.Message);
            }

            //guardo el domicilio personal
            GuardarDomicilioInscripcionManual(int.Parse(dni), domicilio_personal_calle, domicilio_personal_nro, domicilio_personal_piso, domicilio_personal_depto, domicilio_personal_cp, domicilio_personal_prov, domicilio_personal_localidad, telefono, mail, 1, usuarioInscriptor.Id);
            //guardo el domicilio legal
            GuardarDomicilioInscripcionManual(int.Parse(dni), domicilio_legal_calle, domicilio_legal_nro, domicilio_legal_piso, domicilio_legal_depto, domicilio_legal_cp, domicilio_legal_prov, domicilio_legal_localidad, telefono, mail, 2, usuarioInscriptor.Id);

            //creo la postulacion
            var numeroPostulacion = CrearPostulacionManual(int.Parse(idPerfil), personaAInscribir.Id, usuarioAInscribir.Id, numerosGDE);

            //guardo los folios de la postulacion
            //OJO CAMBIAR LA FECHA
            GuardarFolios(numeroPostulacion, fechaFormateada, int.Parse(folioFicha), int.Parse(folioCarnet), int.Parse(folioDNI), int.Parse(folioTitulo), int.Parse(folioCV), int.Parse(folioRespaldo), usuarioInscriptor.Id);

            //guardo en la nueva tabla de postulacion manual
            GuardarDatosExtrasPostulacionManual(numeroPostulacion, DateTime.Now, usuario.Id, int.Parse(modalidad));

            //busco la postulacion para pasarla de etapa
            Postulacion mi_postul = this.GetPostulacionesPorCodigo(numeroPostulacion);

            InsEtapaPostulacion(mi_postul.Id, 2, usuarioInscriptor.Id);

            return(numeroPostulacion);
        }
Beispiel #12
0
        public PantallaRecepcionDocumentacion CrearPantalla(CurriculumVitae curriculumVitae, Perfil perfil, Postulacion postulacion, List <DocumentacionRecibida> lista_docRecibida)
        {
            var pantalla           = new PantallaRecepcionDocumentacion();
            var lista_docRequerida = new List <DivDocumentacionRequerida>();

            CargarDocumentacionRequerida(lista_docRequerida, curriculumVitae.CvEstudios, "Estudios", perfil);
            CargarDocumentacionRequerida(lista_docRequerida, curriculumVitae.CvCertificadosDeCapacitacion, "Actividades de Capacitacion", perfil);
            CargarDocumentacionRequerida(lista_docRequerida, curriculumVitae.CvDocencias, "Actividades Docentes", perfil);
            CargarDocumentacionRequerida(lista_docRequerida, curriculumVitae.CvEventosAcademicos, "Eventos Academicos", perfil);
            CargarDocumentacionRequerida(lista_docRequerida, curriculumVitae.CvPublicaciones, "Publicaciones", perfil);
            CargarDocumentacionRequerida(lista_docRequerida, curriculumVitae.CvMatricula, "Matriculas", perfil);
            CargarDocumentacionRequerida(lista_docRequerida, curriculumVitae.CvInstitucionesAcademicas, "Instituciones Academicas", perfil);
            CargarDocumentacionRequerida(lista_docRequerida, curriculumVitae.CvExperienciaLaboral, "Experiencia Laboral", perfil);
            CargarDocumentacionRequerida(lista_docRequerida, curriculumVitae.CvIdiomas, "Idiomas", perfil);
            CargarDocumentacionRequerida(lista_docRequerida, curriculumVitae.CvCompetenciasInformaticas, "Compentencias Informáticas", perfil);
            CargarDocumentacionRequerida(lista_docRequerida, curriculumVitae.CvCapacidadesPersonales, "Capacidades Personales", perfil);

            AgragarRequisitosObligatorios(perfil, pantalla);

            pantalla.DocumentacionRequerida = lista_docRequerida;
            pantalla.Postulacion            = postulacion;
            pantalla.DocumentacionRecibida  = lista_docRecibida;

            AgregarACuadroPerfil(curriculumVitae.CvEstudios, perfil, pantalla);
            AgregarACuadroPerfil(curriculumVitae.CvIdiomas, perfil, pantalla);
            AgregarACuadroPerfil(curriculumVitae.CvExperienciaLaboral, perfil, pantalla);
            //AgregarACuadroPerfil(new List<AntecedentePenal> { new AntecedentePenal() }, perfil, pantalla);

            return(pantalla);
        }