public void Insertar(OfertaPostulante ofertapostulante) { cmd.CommandType = CommandType.StoredProcedure; cmd.CommandText = "OfertaPostulante_Insertar"; cmd.Connection = cnn.cn; cnn.Conectar(); cmd.Parameters.Add(new SqlParameter("@IdOferta", SqlDbType.Int)).Value = ofertapostulante.IdOferta; cmd.Parameters.Add(new SqlParameter("@IdAlumno", SqlDbType.Int)).Value = ofertapostulante.IdAlumno; cmd.Parameters.Add(new SqlParameter("@FaseOferta", SqlDbType.VarChar, 6)).Value = ofertapostulante.FaseOfertaPostulacion; cmd.Parameters.Add(new SqlParameter("@IdCV", SqlDbType.Int)).Value = ofertapostulante.IdCV; cmd.Parameters.Add(new SqlParameter("@DocumentoCV", ofertapostulante.DocumentoCV)); cmd.Parameters.Add(new SqlParameter("@CreadoPor", SqlDbType.VarChar,50)).Value = ofertapostulante.CreadoPor; cmd.ExecuteNonQuery(); cnn.Desconectar(); if (ofertapostulante.RecibeCorreos == "OFCOCO") { cmd2.CommandType = CommandType.StoredProcedure; cmd2.CommandText = "OfertaCorreo_Insertar"; cmd2.Connection = cnn2.cn; cnn2.Conectar(); cmd2.Parameters.Add(new SqlParameter("@IdOferta", SqlDbType.Int)).Value = ofertapostulante.IdOferta; cmd2.Parameters.Add(new SqlParameter("@IdAlumno", SqlDbType.Int)).Value = ofertapostulante.IdAlumno; cmd2.Parameters.Add(new SqlParameter("@CorreoUsuarioEmpresa", SqlDbType.VarChar, 300)).Value = ofertapostulante.CorreoElectronicoUsuarioEmpresa; cmd2.Parameters.Add(new SqlParameter("@CargoOfrecido", SqlDbType.VarChar, 300)).Value = ofertapostulante.CargoOfrecido; cmd2.ExecuteNonQuery(); cnn2.Desconectar(); } }
public void Actualizar(OfertaPostulante ofertapostulante) { cmd.CommandType = CommandType.StoredProcedure; cmd.CommandText = "OfertaPostulante_Actualizar"; cmd.Connection = cnn.cn; cnn.Conectar(); cmd.Parameters.Add(new SqlParameter("@IdOfertaPostulante", SqlDbType.Int)).Value = ofertapostulante.IdOfertaPostulante; cmd.Parameters.Add(new SqlParameter("@IdOferta", SqlDbType.Int)).Value = ofertapostulante.IdOferta; cmd.Parameters.Add(new SqlParameter("@IdAlumno", SqlDbType.Int)).Value = ofertapostulante.IdAlumno; cmd.Parameters.Add(new SqlParameter("@IdCV", SqlDbType.Int)).Value = ofertapostulante.IdCV; cmd.Parameters.Add(new SqlParameter("@DocumentoCV", ofertapostulante.DocumentoCV)); cmd.Parameters.Add(new SqlParameter("@ModificadoPor", SqlDbType.VarChar, 50)).Value = ofertapostulante.ModificadoPor; cmd.ExecuteNonQuery(); cnn.Desconectar(); }
public void Insertar(OfertaPostulante ofertapostulante) { adOfertaPostulante.Insertar(ofertapostulante); if (ofertapostulante.RecibeCorreos == "OFCOPO") { DataTable dt = adAlumno.ObtenerAlumnoPorIdAlumno(ofertapostulante.IdAlumno); if (dt.Rows.Count > 0) { Mensaje mensaje = new Mensaje(); mensaje.DeUsuarioCorreoElectronico = "*****@*****.**"; mensaje.ParaUsuarioCorreoElectronico = ofertapostulante.CorreoElectronicoUsuarioEmpresa; mensaje.Asunto = "Nuevo Postulante: " + dt.Rows[0]["Nombres"] + " " + dt.Rows[0]["Apellidos"] + " - Oferta " + ofertapostulante.CargoOfrecido; mensaje.MensajeTexto = "Ha recibido un Postulante nuevo para su Oferta: " + ofertapostulante.CargoOfrecido + "\r\n\r\n" + dt.Rows[0]["Nombres"] + " " + dt.Rows[0]["Apellidos"]; LNCorreo.EnviarCorreo(mensaje); } } }
public ActionResult CambiarEstadoPostulante(int idOfertaPostulante, string faseOferta) { TicketEmpresa ticket = (TicketEmpresa)Session["TicketEmpresa"]; LNOferta lnOferta = new LNOferta(); List<OfertaPostulante> lista = new List<OfertaPostulante>(); OfertaPostulante ofertaPostulante = new OfertaPostulante(); ofertaPostulante.IdOfertaPostulante = idOfertaPostulante; ofertaPostulante.ModificadoPor = ticket.Usuario; ofertaPostulante.Seleccionado = true; //Valor agregado por compatibilidad con otro proceso. Se coloca True para indicar que Sí debe actualizar el campo. lista.Add(ofertaPostulante); lnOferta.ActualizarFaseDePostulantes(lista, faseOferta); //Se obtiene la descripción de la oferta: LNGeneral lnGeneral = new LNGeneral(); ListaValor listaValorFase = lnGeneral.ObtenerListaValor(Constantes.IDLISTA_FASE_OFERTA).Where(m => m.IdListaValor == faseOferta).FirstOrDefault(); //Se retorna la descripción de la fase seleccionada. return Content(listaValorFase.DescripcionValor); }
public void Actualizar(OfertaPostulante ofertapostulante) { adOfertaPostulante.Actualizar(ofertapostulante); }
public List<OfertaPostulante> ObtenerPostulantesPorIdOferta(int idOferta) { List<OfertaPostulante> postulantes = new List<OfertaPostulante>(); DataTable dtResultado = adOferta.ObtenerPostulantesPorIdOferta(idOferta); foreach (DataRow fila in dtResultado.Rows) { OfertaPostulante postulante = new OfertaPostulante(); postulante.IdAlumno = Convert.ToInt32(fila["IdAlumno"]); postulante.IdOferta = Convert.ToInt32(fila["IdOferta"]); postulante.IdOfertaPostulante = Convert.ToInt32(fila["IdOfertaPostulante"]); postulante.FaseOferta.Valor = Convert.ToString(fila["FaseOfertaDescripcion"]); postulante.FechaPostulacion = Convert.ToDateTime(fila["FechaPostulacion"]); postulante.Alumno = new Alumno() { Nombres = Convert.ToString(fila["AlumnoNombres"]), Apellidos = Convert.ToString(fila["AlumnoApellidos"]) }; postulante.NivelDeMatch = Convert.ToInt32(fila["NivelDeMatch"]); postulante.CorreoElectronico = Convert.ToString(fila["CorreoElectronico"]); postulante.Usuario = Convert.ToString(fila["Usuario"]); postulante.FaseOferta.Peso = Convert.ToInt32(fila["FasePeso"]); postulantes.Add(postulante); } return postulantes; }
public Oferta ObtenerPorId(int idOferta) { Oferta oferta = null; //18FEB: Se obtiene las carreras de UTP y se quitan las ya seleccionadas. LNGeneral lnGeneral = new LNGeneral(); List<ListaValor> listaCarrerasUTP = lnGeneral.ObtenerListaValor(Constantes.IDLISTA_DE_CARRERA).Where(m => m.IdListaValorPadre == "TEUNIV").ToList(); //Se obtienen todas las carreras DataSet dsResultado = adOferta.ObtenerPorId(idOferta); //Tabla Index 0: Datos de la oferta. if (dsResultado.Tables[0].Rows.Count > 0) { oferta = new Oferta(); oferta.IdOferta = Convert.ToInt32(dsResultado.Tables[0].Rows[0]["IdOferta"]); oferta.IdEmpresa = Convert.ToInt32(dsResultado.Tables[0].Rows[0]["IdEmpresa"]); oferta.CargoOfrecido = Convert.ToString(dsResultado.Tables[0].Rows[0]["CargoOfrecido"]); oferta.Funciones = Convert.ToString(dsResultado.Tables[0].Rows[0]["Funciones"]); oferta.Competencias = Convert.ToString(dsResultado.Tables[0].Rows[0]["Competencias"]); oferta.TipoTrabajoIdListaValor = Convert.ToString(dsResultado.Tables[0].Rows[0]["TipoTrabajo"]); oferta.TipoTrabajo.Valor = Convert.ToString(dsResultado.Tables[0].Rows[0]["TipoTrabajoDescripcion"]); oferta.TipoCargoIdListaValor = Convert.ToString(dsResultado.Tables[0].Rows[0]["TipoCargo"]); oferta.TipoCargo.Valor = Convert.ToString(dsResultado.Tables[0].Rows[0]["TipoCargoDescripcion"]); oferta.TipoContratoIdListaValor = Convert.ToString(dsResultado.Tables[0].Rows[0]["TipoContrato"]); oferta.TipoContrato.Valor = Convert.ToString(dsResultado.Tables[0].Rows[0]["TipoContratoDescripcion"]); oferta.RemuneracionOfrecida = Convert.ToDecimal(dsResultado.Tables[0].Rows[0]["RemuneracionOfrecida"]); oferta.Horario = Convert.ToString(dsResultado.Tables[0].Rows[0]["Horario"]); oferta.AreaEmpresa = Convert.ToString(dsResultado.Tables[0].Rows[0]["AreaEmpresa"]); if (dsResultado.Tables[0].Rows[0]["NumeroVacantes"] == System.DBNull.Value) { oferta.NumeroVacantes = null; } else { oferta.NumeroVacantes = Convert.ToInt32(dsResultado.Tables[0].Rows[0]["NumeroVacantes"]); } oferta.IdEmpresaLocacion = Convert.ToInt32(dsResultado.Tables[0].Rows[0]["IdEmpresaLocacion"]); oferta.RecibeCorreosIdListaValor = Convert.ToString(dsResultado.Tables[0].Rows[0]["RecibeCorreos"]); oferta.FechaFinRecepcionCV = Convert.ToDateTime(dsResultado.Tables[0].Rows[0]["FechaFinRecepcionCV"]); oferta.AreaEmpresa = Convert.ToString(dsResultado.Tables[0].Rows[0]["AreaEmpresa"]); if (dsResultado.Tables[0].Rows[0]["DuracionContrato"] == System.DBNull.Value) { oferta.DuracionContrato = null; } else { oferta.DuracionContrato = Convert.ToInt32(dsResultado.Tables[0].Rows[0]["DuracionContrato"]); } oferta.Empresa.NombreComercial = Convert.ToString(dsResultado.Tables[0].Rows[0]["EmpresaNombreComercial"]); oferta.NombreLocacion = Convert.ToString(dsResultado.Tables[0].Rows[0]["NombreLocacion"]); oferta.CreadoPor = Convert.ToString(dsResultado.Tables[0].Rows[0]["CreadoPor"]); oferta.ModificadoPor = Convert.ToString(dsResultado.Tables[0].Rows[0]["ModificadoPor"]); oferta.FechaCreacion = Convert.ToDateTime(dsResultado.Tables[0].Rows[0]["FechaCreacion"]); oferta.FechaModificacion = Convert.ToDateTime(dsResultado.Tables[0].Rows[0]["FechaModificacion"]); oferta.EstadoOferta = Convert.ToString(dsResultado.Tables[0].Rows[0]["EstadoOferta"]); oferta.UsuarioPropietarioEmpresa = Convert.ToString(dsResultado.Tables[0].Rows[0]["UsuarioPropietarioEmpresa"]); oferta.FechaPublicacion = Convert.ToDateTime(dsResultado.Tables[0].Rows[0]["FechaPublicacion"]); oferta.CicloMinimoCarreraUTP = Convert.ToInt32(dsResultado.Tables[0].Rows[0]["CicloMinimoCarreraUTP"]); oferta.EstadoCarreraUTP = Convert.ToString(dsResultado.Tables[0].Rows[0]["EstadoCarreraUTP"]); oferta.ExperienciaGeneral = Convert.ToInt32(dsResultado.Tables[0].Rows[0]["MesesExperienciaTotal"]); oferta.ExperienciaPosicionesSimilares = Convert.ToInt32(dsResultado.Tables[0].Rows[0]["MesesExperienciaTipoTrabajo"]); //05MAR15: Para las nuevas ofertas este campo siempre está con data. Se agrega la validación para compatibilidad con ofertas anteriores. oferta.FechaFinProceso = Convert.ToDateTime(dsResultado.Tables[0].Rows[0]["FechaFinProceso"] == System.DBNull.Value ? new DateTime(1, 1, 1900) : dsResultado.Tables[0].Rows[0]["FechaFinProceso"]); } //Tabla Index 1: Lista de estudios. //Se instancia las listas: oferta.ListaEstudios = new List<OfertaEstudio>(); oferta.CarrerasSeleccionadas = new List<OfertaEstudio>(); foreach (DataRow filaEstudio in dsResultado.Tables[1].Rows) { OfertaEstudio estudio = new OfertaEstudio(); estudio.IdOfertaEstudio = Convert.ToInt32(filaEstudio["IdOfertaEstudio"] == System.DBNull.Value ? null : filaEstudio["IdOfertaEstudio"]); estudio.IdOferta = Convert.ToInt32(filaEstudio["IdOfertaEstudio"] == System.DBNull.Value ? null : filaEstudio["IdOfertaEstudio"]); estudio.CicloEstudio = Convert.ToInt32(filaEstudio["CicloEstudio"] == System.DBNull.Value ? null : filaEstudio["CicloEstudio"]); estudio.Estudio = Convert.ToString(filaEstudio["Estudio"] == System.DBNull.Value ? null : filaEstudio["Estudio"]); estudio.TipoDeEstudio.IdListaValor = Convert.ToString(filaEstudio["TipoDeEstudio"] == System.DBNull.Value ? null : filaEstudio["TipoDeEstudio"]); estudio.TipoDeEstudioIdListaValor = Convert.ToString(filaEstudio["TipoDeEstudio"] == System.DBNull.Value ? null : filaEstudio["TipoDeEstudio"]); estudio.TipoDeEstudio.Valor = Convert.ToString(filaEstudio["TipoDeEstudioDescripcion"]); estudio.EstadoDelEstudio.Valor = Convert.ToString(filaEstudio["EstadoDelEstudioDescripcion"]); estudio.EstadoOfertaEstudio.Valor = Convert.ToString(filaEstudio["EstadoOfertaEstudioDescripcion"]); estudio.CreadoPor = Convert.ToString(filaEstudio["CreadoPor"]); estudio.ModificadoPor = Convert.ToString(filaEstudio["ModificadoPor"]); estudio.FechaCreacion = Convert.ToDateTime(filaEstudio["FechaCreacion"]); estudio.FechaModificacion = Convert.ToDateTime(filaEstudio["FechaModificacion"]); #region Se separan las carrearas universitarias UTP. if (estudio.TipoDeEstudio.IdListaValor == "TEUNIV") //Tipo de Estudio Universitario de UTP. { var carreraEncontrada = listaCarrerasUTP.Where(m => m.Valor == estudio.Estudio).FirstOrDefault(); if (carreraEncontrada != null) { estudio.CodigoCarrera = carreraEncontrada.IdListaValor; //Se guarda el código de la carrera. oferta.CarrerasSeleccionadas.Add(estudio); } } else //Otros estudios. { oferta.ListaEstudios.Add(estudio); } #endregion } //Tabla Index 2: Lista de experiencia por sector oferta.ListaSectores = new List<OfertaSectorEmpresarial>(); foreach (DataRow filaSector in dsResultado.Tables[2].Rows) { OfertaSectorEmpresarial sector = new OfertaSectorEmpresarial(); sector.IdOfertaSectorEmpresarial = Convert.ToInt32(filaSector["IdOfertaSectorEmpresarial"]); sector.IdOferta = Convert.ToInt32(filaSector["IdOferta"]); sector.SectorEmpresarial.Valor = Convert.ToString(filaSector["SectorEmpresarialDescripcion"]); sector.AniosTrabajados = Convert.ToInt32(filaSector["AniosTrabajados"] == System.DBNull.Value ? null : filaSector["AniosTrabajados"]); sector.ExperienciaExcluyente = Convert.ToBoolean(filaSector["ExperienciaExcluyente"]); sector.EstadoOfertaSectorEmpresarial.Valor = Convert.ToString(filaSector["EstadoOfertaSectorEmpresarialDescripcion"]); sector.CreadoPor = Convert.ToString(filaSector["CreadoPor"]); sector.ModificadoPor = Convert.ToString(filaSector["ModificadoPor"]); sector.FechaCreacion = Convert.ToDateTime(filaSector["FechaCreacion"]); sector.FechaModificacion = Convert.ToDateTime(filaSector["FechaModificacion"]); oferta.ListaSectores.Add(sector); } //Tabla Index 3: Lista de información adicional oferta.ListaInformacionAdicional = new List<OfertaInformacionAdicional>(); foreach (DataRow filaInfoAdicional in dsResultado.Tables[3].Rows) { OfertaInformacionAdicional infoAdicional = new OfertaInformacionAdicional(); infoAdicional.IdOfertaInformacionAdicional = Convert.ToInt32(filaInfoAdicional["IdOfertaInformacionAdicional"]); infoAdicional.IdOferta = Convert.ToInt32(filaInfoAdicional["IdOferta"]); infoAdicional.TipoConocimiento.Valor = Convert.ToString(filaInfoAdicional["TipoConocimientoDescripcion"]); infoAdicional.Conocimiento = Convert.ToString(filaInfoAdicional["Conocimiento"]); infoAdicional.NivelConocimiento.Valor = Convert.ToString(filaInfoAdicional["NivelConocimientoDescripcion"]); infoAdicional.AniosExperiencia = Convert.ToInt32(filaInfoAdicional["AniosExperiencia"] == System.DBNull.Value ? null : filaInfoAdicional["AniosExperiencia"]); infoAdicional.EstadoOfertaInformacionAdicional.Valor = Convert.ToString(filaInfoAdicional["EstadoOfertaInformacionAdicionalDescripcion"]); infoAdicional.CreadoPor = Convert.ToString(filaInfoAdicional["CreadoPor"]); infoAdicional.ModificadoPor = Convert.ToString(filaInfoAdicional["ModificadoPor"]); infoAdicional.FechaCreacion = Convert.ToDateTime(filaInfoAdicional["FechaCreacion"]); infoAdicional.FechaModificacion = Convert.ToDateTime(filaInfoAdicional["FechaModificacion"]); oferta.ListaInformacionAdicional.Add(infoAdicional); } //Tabla Index 4: Lista de Postulantes oferta.Postulantes = new List<OfertaPostulante>(); foreach (DataRow filaPostulante in dsResultado.Tables[4].Rows) { OfertaPostulante postulante = new OfertaPostulante(); postulante.Alumno.IdAlumno = Convert.ToInt32(filaPostulante["IdAlumno"]); postulante.Alumno.Nombres = Convert.ToString(filaPostulante["AlumnoNombres"]); postulante.Alumno.Apellidos = Convert.ToString(filaPostulante["AlumnoApellidos"]); postulante.FechaPostulacion = Convert.ToDateTime(filaPostulante["FechaPostulacion"]); postulante.FaseOferta.Valor = Convert.ToString(filaPostulante["FaseOferta"]); postulante.NombreCV = Convert.ToString(filaPostulante["NombreCV"]); postulante.NivelDeMatch = Convert.ToInt32(filaPostulante["NivelDeMatch"]); postulante.CreadoPor = Convert.ToString(filaPostulante["CreadoPor"]); postulante.ModificadoPor = Convert.ToString(filaPostulante["ModificadoPor"]); postulante.FechaCreacion = Convert.ToDateTime(filaPostulante["FechaCreacion"]); postulante.FechaModificacion = Convert.ToDateTime(filaPostulante["FechaModificacion"]); oferta.Postulantes.Add(postulante); } //Fases de la oferta oferta.OfertaFases = Obtener_OfertaFase(idOferta); //Se instancia la lista: oferta.CarrerasDisponibles = new List<ListaValor>(); //Esta lista va al lado izquierdo //Se recorren las carreras. foreach (var carreraUTP in listaCarrerasUTP) { //Si la carreraUTP ya está seleccionada entonces NO se agrega. Si la búsqueda es null => no está, por lo tanto, sí se agrega. if (oferta.CarrerasSeleccionadas.Where(m => m.Estudio == carreraUTP.Valor).FirstOrDefault() == null) { ListaValor carreraDisponible = copiarListaValor(carreraUTP); oferta.CarrerasDisponibles.Add(carreraDisponible); } } return oferta; }
public ActionResult DescargarCV(OfertaPostulante entidad) { byte[] cv = lnofertapostulante.OfertaPostulante_DescaragarCV(entidad.IdAlumno, entidad.IdOferta); using (System.IO.MemoryStream stream = new System.IO.MemoryStream()) { stream.Write(cv, 0, cv.Length); Response.Buffer = false; Response.AppendHeader("Content-Type", "image/bmp"); Response.AppendHeader("Content-Transfer-Encoding", "binary"); Response.AppendHeader("Content-Disposition", "attachment; filename=imagen.bmp"); Response.BinaryWrite(cv); } Response.End(); return View(); }
public ActionResult PostularOferta(OfertaPostulante entidad) { ViewBag.MensajePostulacion = ""; if (entidad.IdCV > 0) { TicketAlumno ticket = (TicketAlumno)Session["TicketAlumno"]; entidad.CreadoPor = ticket.Usuario; //Se crea el CV en formato Word. string rutaPlantilla = AppDomain.CurrentDomain.BaseDirectory + "Plantillas\\template.docx"; PlantillaController plantilla = new PlantillaController(); entidad.DocumentoCV = plantilla.Word2PDF(plantilla.CrearCurriculum(entidad.IdCV, rutaPlantilla).ToArray()); lnofertapostulante.Insertar(entidad); } else { ViewBag.MensajePostulacion = "XXX"; } return View(); }