private void tileView1_DoubleClick(object sender, EventArgs e) { if (tileView1.RowCount > 0) { int intIdTema = int.Parse(tileView1.GetFocusedRowCellValue("IdTema").ToString()); string strDescTema = tileView1.GetFocusedRowCellValue("DescTema").ToString(); TemaBE objE_Tema = null; objE_Tema = new TemaBL().Selecciona(0, intIdTema); if (objE_Tema != null) { if (objE_Tema.IdSituacion == Parametros.intTEMAInactivo) { XtraMessageBox.Show("El Curso se encuentra inactivo no puede ingresar", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Information); return; } List <TemaPersonaBE> lstTemaPersona = null; lstTemaPersona = new TemaPersonaBL().ListaTodosActivo(0, intIdTema, Parametros.intPersonaId); if (lstTemaPersona.Count == 0) { XtraMessageBox.Show("Ud. No tiene permiso para ingresar al curso virtual.", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Information); return; } List <ResumenPersonaBE> lstResumenPersona = null; lstResumenPersona = new ResumenPersonaBL().ListaTodosActivo(0, intIdTema, Parametros.intPersonaId); if (lstResumenPersona.Count == 1) { if (lstResumenPersona[0].Situacion == "APROBADO") { XtraMessageBox.Show("Ud. se encuentra aprobadado en el curso, no puede ingresar.", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Information); return; } } int intCuentaDesaprobado = 0; intCuentaDesaprobado = new ResumenPersonaBL().CuentaDesaprobado(0, Parametros.intPersonaId, intIdTema); if (intCuentaDesaprobado == 2) { XtraMessageBox.Show("Ud. Tiene dos intentos desaprobados del curso virtual\n Comuníquese con el correo: [email protected]", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Information); return; } frmRegCapacitacionVirtualEdit frm = new frmRegCapacitacionVirtualEdit(); frm.intIdTema = intIdTema; frm.strDescTema = strDescTema; frm.strParticipante = Parametros.strUsuarioNombres; frm.Show(); } } }
private void xtraTabControl1_SelectedPageChanged(object sender, DevExpress.XtraTab.TabPageChangedEventArgs e) { if (e.Page.Name.ToString() == "xtraTabPage2") { if (gvTemaDetallePersona.RowCount > 0) { for (int i = 0; i < gvTemaDetallePersona.DataRowCount; i++) { if (gvTemaDetallePersona.GetRowCellValue(i, "DescSituacion").ToString() == "NO VISTO") { XtraMessageBox.Show("Para pasar al examén final es necesario abrir y revisar todos los archivos del contenido del curso.", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Information); xtraTabControl1.SelectedTabPage = xtraTabPage1; return; } } } //VERIFICAMOS EL CUESTIONARIO List <CuestionarioBE> lstCuestionario = null; lstCuestionario = new CuestionarioBL().ListaTodosActivo(0, intIdTema); if (lstCuestionario.Count > 0) { intIdCuestionario = lstCuestionario[0].IdCuestionario; intNotaAprobatoria = lstCuestionario[0].NotaAprobatoria; intDuracion = lstCuestionario[0].Duracion; if (XtraMessageBox.Show("Dispone de " + intDuracion + " minutos para resolver la evaluación? \n Tenga en cuenta que se activará un cronómetro y no podrá cancelar.", this.Text, MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { mListaPregunta = new PreguntaBL().ListaEvaluacion(0, intIdTema, intIdCuestionario); bsListadoPregunta.DataSource = mListaPregunta; gcPregunta.DataSource = bsListadoPregunta; gcPregunta.RefreshDataSource(); gvPregunta.ExpandAllGroups(); h = 0; m = 0; s = 0; lh.Text = "00"; lm.Text = "00"; ls.Text = "00"; timer1.Enabled = true; btnGrabar.Enabled = true; } else { xtraTabControl1.SelectedTabPage = xtraTabPage1; } } } if (e.Page.Name.ToString() == "xtraTabPage3") { List <ResumenPersonaBE> lstResumenPersona = null; lstResumenPersona = new ResumenPersonaBL().ListaTodosActivo(0, intIdTema, Parametros.intPersonaId); if (lstResumenPersona.Count == 0) { XtraMessageBox.Show("No tiene ningún resutado de evaluación. \n Realice su evaluación.", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Information); xtraTabControl1.SelectedTabPage = xtraTabPage2; return; } if (lstResumenPersona.Count > 0) { if (lstResumenPersona[0].Situacion == "DESAPROBADO") { XtraMessageBox.Show("Ud. se encuentra desaprobado en la evaluación no se emitirá ningún certificado.", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Information); xtraTabControl1.SelectedTabPage = xtraTabPage1; return; } else { List <ReporteResumenPersonaBE> lstReporte = null; lstReporte = new ReporteResumenPersonaBL().Listado(0, intIdTema, Parametros.intPersonaId); if (lstReporte.Count > 0) { rptCertificado1 objReporte = new rptCertificado1(); objReporte.SetDataSource(lstReporte); this.crystalReportViewer1.ReportSource = objReporte; this.crystalReportViewer1.Zoom(75); } } } } }
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); } }