public PruebaPorCandidato GetById(int pidCandidato, int pidTecnologia, string pnivelConocimiento) { PruebaPorCandidato pruebaCandidato = null; var sqlQuery = " select pc.tiempo_caducidad, pc.fecha_inicio, pc.fecha_fin, pc.id_candidato, pc.id_Tecnologia, pc.nivel_conocimiento, pc.estado_prueba,pc.idPrueba,c.nombre+' '+c.apellidos as nombre_candidato,t.nombre_tecnologia, p.nombre_prueba from Pruebas_Por_Candidato pc inner join candidatos c on pc.id_candidato = c.id_candidato inner join tecnologias t on pc.id_tecnologia = t.id_tecnologia inner join pruebas p on pc.idPrueba = p.id_prueba where pc.esta_oculto = 0 and pc.id_candidato = @idCandidato and pc.id_tecnologia = @idTecnologia and pc.nivel_conocimiento = @nivelConocimiento"; SqlCommand cmd = new SqlCommand(); cmd.Parameters.AddWithValue("@idCandidato", pidCandidato); cmd.Parameters.AddWithValue("@idTecnologia", pidTecnologia); cmd.Parameters.AddWithValue("@nivelConocimiento", pnivelConocimiento); var ds = DBAccess.ExecuteSQLWithDS(cmd, sqlQuery); if (ds.Tables[0].Rows.Count > 0) { var dr = ds.Tables[0].Rows[0]; pruebaCandidato = new PruebaPorCandidato { Id = Convert.ToInt32(dr["id_candidato"]), IdTecnologia = Convert.ToInt32(dr["id_tecnologia"]), NivelConocimiento = dr["nivel_conocimiento"].ToString(), EstadoPrueba = dr["estado_prueba"].ToString(), TiempoCaducidad = dr["tiempo_caducidad"].ToString(), IdPrueba = Convert.ToInt32(dr["idPrueba"]), NombreCandidato = dr["nombre_candidato"].ToString(), NombreTecnologia = dr["nombre_tecnologia"].ToString() }; } return pruebaCandidato; }
public void ModificarCalificacionPruebaPorCandidato(PruebaPorCandidato pruebaCandidato) { try { SqlCommand cmd = new SqlCommand(); cmd.Parameters.Add(new SqlParameter("@id_candidato", pruebaCandidato.Id)); cmd.Parameters.Add(new SqlParameter("@id_tecnologia", pruebaCandidato.IdTecnologia)); cmd.Parameters.Add(new SqlParameter("@nivel_conocimiento", pruebaCandidato.NivelConocimiento)); cmd.Parameters.Add(new SqlParameter("@calificacion_prueba", pruebaCandidato.Calificacion)); cmd.Parameters.Add(new SqlParameter("@id_prueba", pruebaCandidato.IdPrueba)); DBAccess.ExecuteSPNonQuery(cmd, "USP_PruebaPorCandidatoCalificacion_Update"); } catch (Exception ex) { throw new DataAccessException("Ha ocurrido un error al calificar la prueba", ex); } }
public int sumarPuntos(PruebaPorCandidato pruebXCandidato) { return gestorPrueba.sumarPuntos(pruebXCandidato); }
/*************************PruebasPorCandidato***/ private void registrarPruebaPorCandidato(int pidCandidato, int pidTecnologia, string pnivelConocimiento, int pcalificacion, bool pesPruebaDesarrollo, DateTime pfechaInicio, DateTime pfechaFin, DateTime ptiempoCaducidad, string pestadoPrueba, int pidUsuarioReclutador, int pidUsuarioProgramador, string plinkAcceso) { PruebaPorCandidato pruebaPorCandidato = null; pruebaPorCandidato = new PruebaPorCandidato { }; UoW.PruebaPorCandidatoRepository.Insert(pruebaPorCandidato); }
public int sumarPuntos(PruebaPorCandidato pruebXCandidato) { int puntaje = 0; List<PreguntasPorPrueba> pregs = UoW.PreguntaPorPruebaRepository.GetById(pruebXCandidato.IdPrueba); foreach (PreguntasPorPrueba p in pregs) { puntaje+=UoW.PruebaRepository.GetRespuestasPuntaje(p.IdPregunta, pruebXCandidato.IdPrueba); } pruebXCandidato.Calificacion = puntaje; UoW.PruebaPorCandidatoRepository.ModificarCalificacionPruebaPorCandidato(pruebXCandidato); return puntaje; }
public void calificarPrueba(List<List<string>> prespuestas, PruebaPorCandidato ppruebaXCandidato) { int calific = 0; for (int i = 0; i<prespuestas.Count; i++) { Pregunta preg = consultarPreguntaXID(Convert.ToInt32(prespuestas[i][0])); List<Respuesta> correctas = UoW.RespuestaRepository.GetByIdSeleccionadas(preg.Id); switch (preg.TipoRespuesta) { case "Respuesta unica": if (correctas[0].Id == Convert.ToInt32(prespuestas[i][1])) { calific = preg.Puntaje; }else { calific = 0; } ppruebaXCandidato.Texto = "NO"; break; case "Respuesta multiple": int u = 0; for (int x = 0; x < correctas.Count; x++) { for (int z = 0; z < prespuestas.Count; z++) { int y; if (int.TryParse(prespuestas[z][1], out y)) { if (correctas[x].Id == Convert.ToInt32(prespuestas[z][1])) { calific = calific + preg.Puntaje; u++; } else { calific = calific + 0; } } } } ppruebaXCandidato.Texto = "NO"; calific = (calific / correctas.Count)*u; break; case "Falso/Verdadero": if (correctas[0].Id == Convert.ToInt32(prespuestas[i][1])) { calific = preg.Puntaje; } else { calific = 0; } ppruebaXCandidato.Texto = "NO"; break; case "Desarrollo": calific = -1; ppruebaXCandidato.Texto = prespuestas[i][1]; break; } UoW.PruebaRepository.InsertPreguntaSeleccionada(ppruebaXCandidato, prespuestas[i], calific); } ppruebaXCandidato.EstadoPrueba = "Terminada"; UoW.PruebaPorCandidatoRepository.ModificarEstadoPruebaPorCandidato(ppruebaXCandidato); }
/*************************PruebasPorCandidato***/ public void registrarPruebaPorCandidato(int pidCandidato, int pidTecnologia, string pnivelConocimiento, DateTime pfechaInicio, DateTime pfechaFin, string ptiempoCaducidad, string pestadoPrueba, int pidUsuarioProgramador, string pcontraAcceso, int pidPrueba) { PruebaPorCandidato pruebaPorCandidato = null; pruebaPorCandidato = new PruebaPorCandidato { Id = pidCandidato , IdTecnologia = pidTecnologia , NivelConocimiento = pnivelConocimiento , FechaInicio = pfechaInicio , FechaFin = pfechaFin , TiempoCaducidad = ptiempoCaducidad , EstadoPrueba = pestadoPrueba , IdUsuarioProgramador = pidUsuarioProgramador , ContrasennaAcceso = pcontraAcceso , IdPrueba = pidPrueba }; if (pruebaPorCandidato.IsValid) { UoW.PruebaPorCandidatoRepository.ModificarPruebaPorCandidato(pruebaPorCandidato); } else { StringBuilder sb = new StringBuilder(); foreach (RuleViolation rv in pruebaPorCandidato.GetRuleViolations()) { sb.AppendLine(rv.ErrorMessage); } throw new BusinessLogicException(sb.ToString()); } }
public void modificarEstadoPrueba(PruebaPorCandidato pruebXCandidato) { pruebXCandidato.EstadoPrueba = "Cancelada"; UoW.PruebaPorCandidatoRepository.ModificarEstadoPruebaPorCandidato(pruebXCandidato); }
private void eliminarPruebaPorCandidato(PruebaPorCandidato ptxe) { try { SqlCommand cmd = new SqlCommand(); DataSet ds = DBAccess.ExecuteSPWithDS(cmd, "USP_TecnologiaPorEmpleado_Delete"); } catch (Exception ex) { throw new DataAccessException("Ha ocurrido un error al procesar la eliminación de la tecnología por empleado.", ex); } }
public void ModificarPruebaPorCandidato(PruebaPorCandidato pruebaCandidato) { try { SqlCommand cmd = new SqlCommand(); cmd.Parameters.Add(new SqlParameter("@id_candidato", pruebaCandidato.Id)); cmd.Parameters.Add(new SqlParameter("@id_tecnologia", pruebaCandidato.IdTecnologia )); cmd.Parameters.Add(new SqlParameter("@nivel_conocimiento", pruebaCandidato.NivelConocimiento )); cmd.Parameters.Add(new SqlParameter("@fechaInicio", pruebaCandidato.FechaInicio )); cmd.Parameters.Add(new SqlParameter("@FechaFinal", pruebaCandidato.FechaFin )); cmd.Parameters.Add(new SqlParameter("@tiempo_caducidad", pruebaCandidato.TiempoCaducidad)); cmd.Parameters.Add(new SqlParameter("@estado_prueba", pruebaCandidato.EstadoPrueba)); cmd.Parameters.Add(new SqlParameter("@id_usuario_programador", pruebaCandidato.IdUsuarioProgramador)); cmd.Parameters.Add(new SqlParameter("@contrasennaAcceso", pruebaCandidato.ContrasennaAcceso)); cmd.Parameters.Add(new SqlParameter("@id_prueba", pruebaCandidato.IdPrueba)); DBAccess.ExecuteSPNonQuery(cmd, "USP_PruebaPorCandidato_Update"); } catch (Exception ex) { throw new DataAccessException("Ha ocurrido un error al programar una prueba por candidato", ex); } }
public void Insert(PruebaPorCandidato entity) { _insertItems.Add(entity); }
public void Delete(PruebaPorCandidato entity) { _deleteItems.Add(entity); }
private void registrarPruebaPorCandidato(PruebaPorCandidato ptxe) { try { SqlCommand cmd = new SqlCommand(); DBAccess.ExecuteSPNonQuery(cmd, "USP_TecnologiaPorEmpleado_Insert"); } catch (Exception ex) { throw new DataAccessException("Ha ocurrido un error al insertar de la tecnología por empleado.", ex); } }
public void calificarPrueba(List<List<string>> prespuestas, PruebaPorCandidato ppruebaXCandidato) { gestorPrueba.calificarPrueba(prespuestas, ppruebaXCandidato); }
public void InsertPreguntaSeleccionada(PruebaPorCandidato pruebaXCandidato, List<string> pregResp, int calific) { try { SqlCommand cmd = new SqlCommand(); cmd.Parameters.Add(new SqlParameter("@idCandidato", pruebaXCandidato.Id)); cmd.Parameters.Add(new SqlParameter("@idTecnologia", pruebaXCandidato.IdTecnologia)); cmd.Parameters.Add(new SqlParameter("@nivelConocimiento", pruebaXCandidato.NivelConocimiento)); cmd.Parameters.Add(new SqlParameter("@idPregunta", pregResp[0])); cmd.Parameters.Add(new SqlParameter("@idRespuesta", pregResp[0])); cmd.Parameters.Add(new SqlParameter("@puntaje", calific)); cmd.Parameters.Add(new SqlParameter("@prueba", pruebaXCandidato.IdPrueba)); cmd.Parameters.Add(new SqlParameter("@texto", pruebaXCandidato.Texto)); DBAccess.ExecuteSPNonQuery(cmd, "USP_Calificar_Insert"); } catch (SqlException ex) { if (ex.Number == 2601) // Cannot insert duplicate key row in object error { throw new DataAccessException("Hubo un error al calificar la prueba.", ex); } else { //logear la excepcion a la bd con un Exceptionv throw new DataAccessException("Ha ocurrido un error al registrar la Prueba", ex); } } catch (Exception ex) { //logear la excepcion a la bd con un Exception throw new DataAccessException("Ha ocurrido un error al registrar la Prueba", ex); } }
public static PruebaPorCandidato ValidarPruebaXCandidato(String pcorreo, string ppass) { PruebaPorCandidato pC = null; var sqlQuery = "SELECT pc.id_candidato , pc.id_tecnologia , pc.nivel_conocimiento , pc.calificacion , pc.fecha_inicio , pc.fecha_fin , pc.tiempo_caducidad ,pc.estado_prueba , pc.id_usuario_programador , pc.contrasennaAcceso , pc.idPrueba "+ "FROM pruebas_por_candidato pc INNER JOIN candidatos c on pc.id_candidato = c.id_candidato "+ "WHERE pc.contrasennaAcceso = @pass and c.correo_electronico = @correo"; SqlCommand cmd = new SqlCommand(); cmd.Parameters.AddWithValue("@pass", ppass); cmd.Parameters.AddWithValue("@correo", pcorreo); var ds = DBAccess.ExecuteSQLWithDS(cmd, sqlQuery); if (ds.Tables[0].Rows.Count > 0) { var dr = ds.Tables[0].Rows[0]; pC = new PruebaPorCandidato { Id = Convert.ToInt32(dr["id_candidato"]), IdTecnologia = Convert.ToInt32(dr["id_tecnologia"]), NivelConocimiento = dr["nivel_conocimiento"].ToString(), Calificacion = Convert.ToInt32(dr["calificacion"]), FechaInicio = Convert.ToDateTime(dr["fecha_inicio"]), FechaFin = Convert.ToDateTime(dr["fecha_fin"]), TiempoCaducidad = dr["tiempo_caducidad"].ToString(), EstadoPrueba = dr["estado_prueba"].ToString(), IdUsuarioProgramador = Convert.ToInt32(dr["id_usuario_programador"]), ContrasennaAcceso = dr["contrasennaAcceso"].ToString(), IdPrueba = Convert.ToInt32(dr["idPrueba"]) }; } return pC; }
public void Update(PruebaPorCandidato entity) { _updateItems.Add(entity); }