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); }
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); }
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)); } }
private bool PerteneceA(Postulacion postulacion, List <EtapaConcurso> etapas) { if (etapas.Exists(e => e.Id == postulacion.EtapaActual().Etapa.Id)) { return(true); } return(false); }
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); }
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()); }
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); }
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; } }
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); } }
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); } }
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); }
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); }