public List <ResumenPersonaBE> ListaTodosActivo(int IdEmpresa, int IdTema, int IdPersona)
        {
            Database  db        = DatabaseFactory.CreateDatabase("cnSSOMABD");
            DbCommand dbCommand = db.GetStoredProcCommand("usp_ResumenPersona_ListaTodosActivo");

            db.AddInParameter(dbCommand, "pIdEmpresa", DbType.Int32, IdEmpresa);
            db.AddInParameter(dbCommand, "pIdTema", DbType.Int32, IdTema);
            db.AddInParameter(dbCommand, "pIdPersona", DbType.Int32, IdPersona);

            IDataReader             reader             = db.ExecuteReader(dbCommand);
            List <ResumenPersonaBE> ResumenPersonalist = new List <ResumenPersonaBE>();
            ResumenPersonaBE        ResumenPersona;

            while (reader.Read())
            {
                ResumenPersona                  = new ResumenPersonaBE();
                ResumenPersona.IdEmpresa        = Int32.Parse(reader["IdEmpresa"].ToString());
                ResumenPersona.IdResumenPersona = Int32.Parse(reader["idResumenPersona"].ToString());
                ResumenPersona.IdTema           = Int32.Parse(reader["IdTema"].ToString());
                ResumenPersona.DescTema         = reader["DescTema"].ToString();
                ResumenPersona.IdPersona        = Int32.Parse(reader["IdPersona"].ToString());
                ResumenPersona.ApeNom           = reader["ApeNom"].ToString();
                ResumenPersona.Fecha            = DateTime.Parse(reader["Fecha"].ToString());
                ResumenPersona.NotaFinal        = Int32.Parse(reader["NotaFinal"].ToString());
                ResumenPersona.Situacion        = reader["Situacion"].ToString();
                ResumenPersona.FlagEstado       = Boolean.Parse(reader["flagestado"].ToString());
                ResumenPersonalist.Add(ResumenPersona);
            }
            reader.Close();
            reader.Dispose();
            return(ResumenPersonalist);
        }
Exemplo n.º 2
0
        public void Elimina(ResumenPersonaBE pItem)
        {
            try
            {
                using (TransactionScope ts = new TransactionScope())
                {
                    ResumenPersonaDL   ResumenPersona   = new ResumenPersonaDL();
                    RespuestaPersonaDL RespuestaPersona = new RespuestaPersonaDL();

                    List <RespuestaPersonaBE> lstRespuestaPersona = null;
                    lstRespuestaPersona = new RespuestaPersonaDL().ListaTodosActivo(pItem.IdEmpresa, pItem.IdTema, 0, 0, 0, pItem.IdPersona);

                    foreach (RespuestaPersonaBE item in lstRespuestaPersona)
                    {
                        RespuestaPersona.Elimina(item);
                    }

                    ResumenPersona.Elimina(pItem);

                    ts.Complete();
                }
            }
            catch (Exception ex)
            { throw ex; }
        }
Exemplo n.º 3
0
 public ResumenPersonaBE Selecciona(int IdResumenPersona)
 {
     try
     {
         ResumenPersonaDL ResumenPersona = new ResumenPersonaDL();
         ResumenPersonaBE objEmp         = ResumenPersona.Selecciona(IdResumenPersona);
         return(objEmp);
     }
     catch (Exception ex)
     { throw ex; }
 }
        public void Elimina(ResumenPersonaBE pItem)
        {
            Database  db        = DatabaseFactory.CreateDatabase("cnSSOMABD");
            DbCommand dbCommand = db.GetStoredProcCommand("usp_ResumenPersona_Elimina");

            db.AddInParameter(dbCommand, "pIdResumenPersona", DbType.Int32, pItem.IdResumenPersona);
            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);
        }
        public void Actualiza(ResumenPersonaBE pItem)
        {
            Database  db        = DatabaseFactory.CreateDatabase("cnSSOMABD");
            DbCommand dbCommand = db.GetStoredProcCommand("usp_ResumenPersona_Actualiza");

            db.AddInParameter(dbCommand, "pIdResumenPersona", DbType.Int32, pItem.IdResumenPersona);
            db.AddInParameter(dbCommand, "pIdEmpresa", DbType.Int32, pItem.IdEmpresa);
            db.AddInParameter(dbCommand, "pIdTema", DbType.Int32, pItem.IdTema);
            db.AddInParameter(dbCommand, "pIdPersona", DbType.Int32, pItem.IdPersona);
            db.AddInParameter(dbCommand, "pNotaFinal", DbType.Int32, pItem.NotaFinal);
            db.AddInParameter(dbCommand, "pSituacion", DbType.String, pItem.Situacion);
            db.AddInParameter(dbCommand, "pFlagEstado", DbType.Boolean, pItem.FlagEstado);
            db.AddInParameter(dbCommand, "pUsuario", DbType.String, pItem.Usuario);
            db.AddInParameter(dbCommand, "pMaquina", DbType.String, pItem.Maquina);
        }
Exemplo n.º 6
0
        public void Actualiza(ResumenPersonaBE pItem, List <RespuestaPersonaBE> pListaRespuestaPersona)
        {
            try
            {
                using (TransactionScope ts = new TransactionScope())
                {
                    ResumenPersonaDL   ResumenPersona   = new ResumenPersonaDL();
                    RespuestaPersonaDL RespuestaPersona = new RespuestaPersonaDL();

                    foreach (var item in pListaRespuestaPersona)
                    {
                        RespuestaPersona.Actualiza(item);
                    }

                    ResumenPersona.Actualiza(pItem);

                    ts.Complete();
                }
            }
            catch (Exception ex)
            { throw ex; }
        }
        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);
            }
        }