示例#1
0
        public RespuestaPersonaBE Selecciona(int IdRespuestaPersona)
        {
            Database  db        = DatabaseFactory.CreateDatabase("cnSSOMABD");
            DbCommand dbCommand = db.GetStoredProcCommand("usp_RespuestaPersona_Selecciona");

            db.AddInParameter(dbCommand, "pidRespuestaPersona", DbType.Int32, IdRespuestaPersona);

            IDataReader        reader           = db.ExecuteReader(dbCommand);
            RespuestaPersonaBE RespuestaPersona = null;

            while (reader.Read())
            {
                RespuestaPersona                    = new RespuestaPersonaBE();
                RespuestaPersona.IdEmpresa          = Int32.Parse(reader["IdEmpresa"].ToString());
                RespuestaPersona.IdRespuestaPersona = Int32.Parse(reader["idRespuestaPersona"].ToString());
                RespuestaPersona.IdTema             = Int32.Parse(reader["IdTema"].ToString());
                RespuestaPersona.DescTema           = reader["DescTema"].ToString();
                RespuestaPersona.IdCuestionario     = Int32.Parse(reader["IdCuestionario"].ToString());
                RespuestaPersona.DescCuestionario   = reader["DescCuestionario"].ToString();
                RespuestaPersona.IdPregunta         = Int32.Parse(reader["IdPregunta"].ToString());
                RespuestaPersona.DescPregunta       = reader["DescPregunta"].ToString();
                RespuestaPersona.IdRespuesta        = Int32.Parse(reader["IdRespuesta"].ToString());
                RespuestaPersona.DescRespuesta      = reader["DescRespuesta"].ToString();
                RespuestaPersona.IdPersona          = Int32.Parse(reader["IdPersona"].ToString());
                RespuestaPersona.ApeNom             = reader["ApeNom"].ToString();
                RespuestaPersona.FlagRespuesta      = Boolean.Parse(reader["FlagRespuesta"].ToString());
                RespuestaPersona.DescSituacion      = reader["DescSituacion"].ToString();
                RespuestaPersona.Puntaje            = Int32.Parse(reader["Puntaje"].ToString());
                RespuestaPersona.FlagEstado         = Boolean.Parse(reader["flagestado"].ToString());
            }
            reader.Close();
            reader.Dispose();
            return(RespuestaPersona);
        }
示例#2
0
 public void Elimina(RespuestaPersonaBE pItem)
 {
     try
     {
         RespuestaPersonaDL RespuestaPersona = new RespuestaPersonaDL();
         RespuestaPersona.Elimina(pItem);
     }
     catch (Exception ex)
     { throw ex; }
 }
示例#3
0
 public void Actualiza(RespuestaPersonaBE pItem)
 {
     try
     {
         RespuestaPersonaDL RespuestaPersona = new RespuestaPersonaDL();
         RespuestaPersona.Actualiza(pItem);
     }
     catch (Exception ex)
     { throw ex; }
 }
示例#4
0
 public RespuestaPersonaBE Selecciona(int IdRespuestaPersona)
 {
     try
     {
         RespuestaPersonaDL RespuestaPersona = new RespuestaPersonaDL();
         RespuestaPersonaBE objEmp           = RespuestaPersona.Selecciona(IdRespuestaPersona);
         return(objEmp);
     }
     catch (Exception ex)
     { throw ex; }
 }
示例#5
0
        public void Elimina(RespuestaPersonaBE pItem)
        {
            Database  db        = DatabaseFactory.CreateDatabase("cnSSOMABD");
            DbCommand dbCommand = db.GetStoredProcCommand("usp_RespuestaPersona_Elimina");

            db.AddInParameter(dbCommand, "pIdRespuestaPersona", DbType.Int32, pItem.IdRespuestaPersona);
            db.AddInParameter(dbCommand, "pIdEmpresa", DbType.Int32, pItem.IdEmpresa);
            db.AddInParameter(dbCommand, "pUsuario", DbType.String, pItem.Usuario);
            db.AddInParameter(dbCommand, "pMaquina", DbType.String, pItem.Maquina);

            db.ExecuteNonQuery(dbCommand);
        }
示例#6
0
        public void Actualiza(RespuestaPersonaBE pItem)
        {
            Database  db        = DatabaseFactory.CreateDatabase("cnSSOMABD");
            DbCommand dbCommand = db.GetStoredProcCommand("usp_RespuestaPersona_Actualiza");

            db.AddInParameter(dbCommand, "pIdRespuestaPersona", DbType.Int32, pItem.IdRespuestaPersona);
            db.AddInParameter(dbCommand, "pIdTema", DbType.Int32, pItem.IdTema);
            db.AddInParameter(dbCommand, "pIdCuestionario", DbType.Int32, pItem.IdCuestionario);
            db.AddInParameter(dbCommand, "pIdPregunta", DbType.Int32, pItem.IdPregunta);
            db.AddInParameter(dbCommand, "pIdRespuesta", DbType.Int32, pItem.IdRespuesta);
            db.AddInParameter(dbCommand, "pIdPersona", DbType.Int32, pItem.IdPersona);
            db.AddInParameter(dbCommand, "pFlagRespuesta", DbType.Boolean, pItem.FlagRespuesta);
            db.AddInParameter(dbCommand, "pDescSituacion", DbType.String, pItem.DescSituacion);
            db.AddInParameter(dbCommand, "pPuntaje", DbType.Int32, pItem.Puntaje);
            db.AddInParameter(dbCommand, "pFlagEstado", DbType.Boolean, pItem.FlagEstado);
            db.AddInParameter(dbCommand, "pUsuario", DbType.String, pItem.Usuario);
            db.AddInParameter(dbCommand, "pMaquina", DbType.String, pItem.Maquina);
            db.AddInParameter(dbCommand, "pIdEmpresa", DbType.Int32, pItem.IdEmpresa);
            db.ExecuteNonQuery(dbCommand);
        }
        private void btnGrabar_Click(object sender, EventArgs e)
        {
            try
            {
                string strSituacion = "";

                timer1.Enabled = false;
                if (XtraMessageBox.Show("¿Estas de seguro de grabar la evaluación? \n Ha verificado las respuestas correctamente.", this.Text, MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                {
                    Cursor = Cursors.WaitCursor;

                    int NotaFinal = 0;

                    List <RespuestaBE> lstRespuestaCorrecta = null;
                    lstRespuestaCorrecta = new RespuestaBL().ListaCuestionario(intIdCuestionario);

                    List <RespuestaPersonaBE> lstRespuestaPersona = new List <RespuestaPersonaBE>();

                    //VALIDACION

                    var lstPreguntas = from p in mListaPregunta
                                       group p by p.IdPregunta into grupo
                                       select grupo;

                    foreach (var itempregunta in lstPreguntas)
                    {
                        int contador = 0;
                        foreach (var itempreguntatemporal in mListaPregunta)
                        {
                            if (itempregunta.Key == itempreguntatemporal.IdPregunta && itempreguntatemporal.FlagCorrecto)
                            {
                                contador++;
                            }
                        }

                        if (contador == 2)
                        {
                            XtraMessageBox.Show("No puede haber mas de una respuesta por pregunta.\nPor favor vuelva a verificar.", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Information);
                            Cursor = Cursors.Default;
                            return;
                        }
                    }

                    //RESPUESTAS CORRECTAS
                    foreach (var item in mListaPregunta)
                    {
                        if (item.FlagCorrecto == true)
                        {
                            foreach (var itemrespuesta in lstRespuestaCorrecta)
                            {
                                if (item.IdTema == itemrespuesta.IdTema && item.IdCuestionario == itemrespuesta.IdCuestionario && item.IdPregunta == itemrespuesta.IdPregunta && item.IdRespuesta == itemrespuesta.IdRespuesta && item.FlagCorrecto == itemrespuesta.FlagCorrecto)
                                {
                                    NotaFinal = NotaFinal + itemrespuesta.Puntaje;

                                    RespuestaPersonaBE objE_RespuestaPersona = new RespuestaPersonaBE();
                                    objE_RespuestaPersona.IdRespuestaPersona = 0;
                                    objE_RespuestaPersona.IdTema             = item.IdTema;
                                    objE_RespuestaPersona.IdCuestionario     = item.IdCuestionario;
                                    objE_RespuestaPersona.IdPregunta         = item.IdPregunta;
                                    objE_RespuestaPersona.IdRespuesta        = item.IdRespuesta;
                                    objE_RespuestaPersona.IdPersona          = Parametros.intPersonaId;
                                    objE_RespuestaPersona.FlagRespuesta      = item.FlagCorrecto;
                                    objE_RespuestaPersona.DescSituacion      = "RESPUESTA CORRECTA";
                                    objE_RespuestaPersona.Puntaje            = itemrespuesta.Puntaje;
                                    objE_RespuestaPersona.FlagEstado         = true;
                                    objE_RespuestaPersona.Usuario            = Parametros.strUsuarioLogin;
                                    objE_RespuestaPersona.Maquina            = WindowsIdentity.GetCurrent().Name.ToString();
                                    objE_RespuestaPersona.IdEmpresa          = Parametros.intEmpresaId;
                                    lstRespuestaPersona.Add(objE_RespuestaPersona);
                                }
                            }
                        }
                    }

                    //RESPUESTAS INCORRECTAS
                    foreach (var item in mListaPregunta)
                    {
                        if (item.FlagCorrecto == true)
                        {
                            foreach (var itemrespuesta in lstRespuestaCorrecta)
                            {
                                if (item.IdTema == itemrespuesta.IdTema && item.IdCuestionario == itemrespuesta.IdCuestionario && item.IdPregunta == itemrespuesta.IdPregunta && item.IdRespuesta == itemrespuesta.IdRespuesta && item.FlagCorrecto != itemrespuesta.FlagCorrecto)
                                {
                                    RespuestaPersonaBE objE_RespuestaPersona = new RespuestaPersonaBE();
                                    objE_RespuestaPersona.IdRespuestaPersona = 0;
                                    objE_RespuestaPersona.IdTema             = item.IdTema;
                                    objE_RespuestaPersona.IdCuestionario     = item.IdCuestionario;
                                    objE_RespuestaPersona.IdPregunta         = item.IdPregunta;
                                    objE_RespuestaPersona.IdRespuesta        = item.IdRespuesta;
                                    objE_RespuestaPersona.IdPersona          = Parametros.intPersonaId;
                                    objE_RespuestaPersona.FlagRespuesta      = item.FlagCorrecto;
                                    objE_RespuestaPersona.DescSituacion      = "RESPUESTA INCORRECTA";
                                    objE_RespuestaPersona.Puntaje            = 0;
                                    objE_RespuestaPersona.FlagEstado         = true;
                                    objE_RespuestaPersona.Usuario            = Parametros.strUsuarioLogin;
                                    objE_RespuestaPersona.Maquina            = WindowsIdentity.GetCurrent().Name.ToString();
                                    objE_RespuestaPersona.IdEmpresa          = Parametros.intEmpresaId;
                                    lstRespuestaPersona.Add(objE_RespuestaPersona);
                                    break;
                                }
                            }
                        }
                    }


                    if (NotaFinal >= intNotaAprobatoria)
                    {
                        StringBuilder strMensajeAprobatorio = new StringBuilder();
                        strMensajeAprobatorio.Append("*****************************************************************************\n\n");
                        strMensajeAprobatorio.Append("Felicitaciones ha Aprobado la evaluación.\n\n");
                        strMensajeAprobatorio.Append("Nota Aprobatoria : " + NotaFinal + "\n\n");
                        strMensajeAprobatorio.Append("Condición: Aprobado" + "\n\n");
                        strMensajeAprobatorio.Append("*****************************************************************************\n\n");
                        strSituacion = "APROBADO";
                        XtraMessageBox.Show(strMensajeAprobatorio.ToString(), this.Text, MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                    else
                    {
                        int intCuentaDesaprobado = 0;
                        intCuentaDesaprobado = new ResumenPersonaBL().CuentaDesaprobado(0, Parametros.intPersonaId, intIdTema);
                        if (intCuentaDesaprobado == 0)
                        {
                            StringBuilder strMensajeDesaprobatorio = new StringBuilder();
                            strMensajeDesaprobatorio.Append("*****************************************************************************\n\n");
                            strMensajeDesaprobatorio.Append("Lo Sentimos ha desaprobado la evaluación.\n\n");
                            strMensajeDesaprobatorio.Append("Nota Desaprobatoria : " + NotaFinal + "\n\n");
                            strMensajeDesaprobatorio.Append("Condición: Desaprobado" + "\n\n");
                            strMensajeDesaprobatorio.Append("UD. TIENE UN INTENTO MAS PARA VOLVER A REALIZAR EL EXAMEN" + "\n\n");
                            strMensajeDesaprobatorio.Append("Comunicarse con el responsable del area." + "\n\n");
                            strMensajeDesaprobatorio.Append("*****************************************************************************\n\n");
                            strSituacion = "DESAPROBADO";
                            XtraMessageBox.Show(strMensajeDesaprobatorio.ToString(), this.Text, MessageBoxButtons.OK, MessageBoxIcon.Information);
                        }

                        if (intCuentaDesaprobado == 1)
                        {
                            strSituacion = "DESAPROBADO";
                            XtraMessageBox.Show("Ud. Tiene dos intentos desaprobados del curso virtual\n Comuníquese con el correo: [email protected]", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Information);
                        }
                    }

                    Cursor = Cursors.Default;

                    ResumenPersonaBE objResumenPersona    = new ResumenPersonaBE();
                    ResumenPersonaBL objBL_ResumenPersona = new ResumenPersonaBL();

                    objResumenPersona.IdResumenPersona = 0;
                    objResumenPersona.IdEmpresa        = Parametros.intEmpresaId;
                    objResumenPersona.IdTema           = intIdTema;
                    objResumenPersona.IdPersona        = Parametros.intPersonaId;
                    objResumenPersona.NotaFinal        = NotaFinal;
                    objResumenPersona.Situacion        = strSituacion;
                    objResumenPersona.FlagEstado       = true;
                    objResumenPersona.Usuario          = Parametros.strUsuarioLogin;
                    objResumenPersona.Maquina          = WindowsIdentity.GetCurrent().Name.ToString();

                    objBL_ResumenPersona.Inserta(objResumenPersona, lstRespuestaPersona);

                    if (strSituacion == "APROBADO")
                    {
                        StringBuilder strMensaje = new StringBuilder();
                        strMensaje.Append("*****************************************************************************\n\n");
                        strMensaje.Append("Tema         : " + strDescTema + "\n\n");
                        strMensaje.Append("Participante : " + Parametros.strUsuarioNombres + "\n\n");
                        strMensaje.Append("Cargo        : " + Parametros.strCargoNombre + "\n\n");
                        strMensaje.Append("Area         : " + Parametros.strAreaNombre + "\n\n");
                        strMensaje.Append("Razón Social : " + Parametros.strEmpresaNombre + "\n\n");
                        strMensaje.Append("Fecha y Hora : " + DateTime.Now.ToString() + "\n\n");
                        strMensaje.Append("Nota         : " + NotaFinal.ToString() + "\n\n");
                        strMensaje.Append("Situación    : " + strSituacion + "\n\n");
                        strMensaje.Append("Emitido Por el Area de Seguridad y Salud en el Trabajo" + "\n\n");
                        strMensaje.Append("*****************************************************************************\n\n");

                        //ELIMINAMOS LOR ARCHIVOS CREADOS
                        foreach (var item in Directory.GetFiles(@"D:\", "*.pdf"))
                        {
                            File.SetAttributes(item, FileAttributes.Normal);
                            File.Delete(item);
                        }

                        //GENERAR EL REPORTE EN PDF
                        string strEvaluacion = "evaluacion";
                        List <ReporteRespuestaPersonaBE> lstReporteRespuestaPersona = null;
                        lstReporteRespuestaPersona = new ReporteRespuestaPersonaBL().Listado(intIdTema, Parametros.intPersonaId);
                        rptRespuestaPersona objReporte = new rptRespuestaPersona();
                        objReporte.SetDataSource(lstReporteRespuestaPersona);
                        objReporte.ExportToDisk(ExportFormatType.PortableDocFormat, @"D:\" + strEvaluacion + ".pdf");

                        BSUtils.EmailSend("*****@*****.**", "Registro de Evaluación de Capacitaciones Virtuales", strMensaje.ToString(), @"D:\" + strEvaluacion + ".pdf", "", "", "");

                        Application.DoEvents();

                        XtraMessageBox.Show("La evaluación se registró correctamente. \n Puede ir a la opción del certificado para la emisión del documento.", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Information);
                        btnGrabar.Enabled = false;
                    }
                    else
                    {
                        btnGrabar.Enabled = false;
                        this.Close();
                    }
                }
            }
            catch (Exception ex)
            {
                Cursor = Cursors.Default;
                XtraMessageBox.Show(ex.Message, this.Text, MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }