private void btnRegistrarInasistencia_Click(object sender, EventArgs e) { //TODO: Asegurarse de que todos los alumnos seleccionados son los ausentes (Para eso está el legajo en el formulario) List<Asistencia> listaAsistencias = new List<Asistencia>(); if (ddlCursos.SelectedIndex > 0) { KeyValuePair<int, string> idCursoSeleccionado = (KeyValuePair<int, string>)ddlCursos.SelectedItem; int var_curso = idCursoSeleccionado.Key; Asistencia asistencia = null; foreach (EntidadAsistencia entidadAsistencia in listaEntidades) { asistencia = new Asistencia(); int var_tipo_asistencia = 1; int validadorSeleccionUnica = 0; //Verifico que al menos se haya seleccionado una de las opciones if (entidadAsistencia.presente) validadorSeleccionUnica++; if (entidadAsistencia.tarde) validadorSeleccionUnica++; if (entidadAsistencia.ausente) validadorSeleccionUnica++; //Valido que se haya seleccionado una sola opción únicamente if(validadorSeleccionUnica == 1) { if (entidadAsistencia.tarde) var_tipo_asistencia = 5; if (entidadAsistencia.ausente) var_tipo_asistencia = 3; asistencia.fecha = dtpFecha.Value; asistencia.tipoAsistencia.idTipoAsistenciaTransaccional = var_tipo_asistencia; asistencia.alumno.alumno.idAlumnoTransaccional = entidadAsistencia.legajo; asistencia.alumno.cursoCicloLectivo.curso.idCursoTransaccional = var_curso; asistencia.alumno.idAlumnoCursoCicloLectivoTransaccional = entidadAsistencia.legajo; listaAsistencias.Add(asistencia); } } //Si cada una de las entidades ha sido seleccionada, procedemos a persistir las asistencias del día, sino no se hace nada. if (listaAsistencias.Count == listaEntidades.Count) { foreach (Asistencia asistenciaEspecifica in listaAsistencias) { objProcesarDatos.registrarAsistenciaBDTransaccional(cfg, asistenciaEspecifica); } } } //Fin validador selección de curso else MessageBox.Show("No se ha seleccionado un curso"); LimpiarFormulario(); }
/// <summary> /// Gets the informe InasistenciasSancionSMS. /// </summary> /// <param name="idProcesoAutomatico">The id proceso automatico.</param> /// <returns></returns> public List<Asistencia> GetInformeInasistenciasSMS(int idProcesoAutomatico) { var listaAsistencia = new List<Asistencia>(); try { using (SqlCommand command = new SqlCommand()) { sqlConnectionConfig.Open(); command.Connection = sqlConnectionConfig; command.CommandType = System.Data.CommandType.StoredProcedure; command.CommandText = "AsistenciaInformeSMS_Select"; //command.CommandText = "AsistenciaInformeMail_Select"; // Como no hay cargadas inasistencias en la ultima semana command.CommandTimeout = 10; command.Parameters.AddWithValue("@idProcesoAutomatico", idProcesoAutomatico); SqlDataReader reader = command.ExecuteReader(); Asistencia objAsistencia = null; while (reader.Read()) { objAsistencia = new Asistencia(); objAsistencia.fecha = Convert.ToDateTime(reader["fecha"]); objAsistencia.alumno.alumno.nombre = reader["nombreAlumno"].ToString(); objAsistencia.alumno.alumno.apellido = reader["apellidoAlumno"].ToString(); objAsistencia.alumno.alumno.idPersona = Convert.ToInt32(reader["idPersonaAlumno"]); objAsistencia.alumno.alumno.listaTutores.Add(new Tutor { nombre = reader["nombreTutor"].ToString(), apellido = reader["apellidoTutor"].ToString(), telefonoCelular = reader["telefonoCelular"].ToString(), idPersona = Convert.ToInt32(reader["idPersonaTutor"]) }); objAsistencia.tipoAsistencia.descripcion = reader["descripcion"].ToString(); listaAsistencia.Add(objAsistencia); } sqlConnectionConfig.Close(); return listaAsistencia; } } catch (SqlException ex) { throw new CustomizedException(String.Format("Fallo en {0} - GetInformeInasistencias()", ClassName), ex, enuExceptionType.SqlException); } catch (Exception ex) { throw new CustomizedException(String.Format("Fallo en {0} - GetInformeInasistencias()", ClassName), ex, enuExceptionType.DataAccesException); } }
/// <summary> /// Obteners the asistencia BD transaccional. /// </summary> /// <param name="configuracion">The configuracion.</param> /// <returns></returns> public List<Asistencia> obtenerAsistenciaBDTransaccional(Configuraciones configuracion) { //obtenerAsistenciaBDTransaccional List<Asistencia> listadoAsistencia = null; try { using (MySqlCommand command = new MySqlCommand()) { conMySQL = new MySqlConnection(configuracion.valor); command.Connection = conMySQL; command.CommandText = @"SELECT id ,fk_alumnocursociclolectivo_id ,fk_tipoasistencia_id ,fecha FROM asistencia WHERE fk_tipoasistencia_id<>1"; conMySQL.Open(); MySqlDataReader reader = command.ExecuteReader(); Asistencia unaAsistencia; listadoAsistencia = new List<Asistencia>(); while (reader.Read()) { unaAsistencia = new Asistencia(); unaAsistencia.idAsistencia = 0; unaAsistencia.idAsistenciaTransaccional = (int)reader["id"]; unaAsistencia.fecha = Convert.ToDateTime(reader["fecha"]); unaAsistencia.tipoAsistencia = new TipoAsistencia(); unaAsistencia.tipoAsistencia.idTipoAsistenciaTransaccional = (int)reader["fk_tipoasistencia_id"]; unaAsistencia.alumno.idAlumnoCursoCicloLectivoTransaccional = (int)reader["fk_alumnocursociclolectivo_id"]; listadoAsistencia.Add(unaAsistencia); } command.Connection.Close(); return listadoAsistencia; } } catch (MySqlException ex) { throw new CustomizedException(String.Format("Fallo en {0} - obtenerAsistenciaBDTransaccional()", ClassName), ex, enuExceptionType.MySQLException); } catch (SqlException ex) { throw new CustomizedException(String.Format("Fallo en {0} - obtenerAsistenciaBDTransaccional()", ClassName), ex, enuExceptionType.SqlException); } catch (Exception ex) { throw new CustomizedException(String.Format("Fallo en {0} - obtenerAsistenciaBDTransaccional()", ClassName), ex, enuExceptionType.DataAccesException); } finally { //if (sqlConnectionConfig.State == ConnectionState.Open) // sqlConnectionConfig.Close(); } }
public void registrarAsistenciaBDTransaccional(Configuraciones configuracion, Asistencia unaAsistencia) { try { objDAStoreDatos = new DAStoreDatos(configuracion.valor); objDAStoreDatos.registrarAsistenciaBDTransaccional(configuracion, unaAsistencia); } catch (Exception ex) { throw ex; } }
/// <summary> /// Registra una asistencia en la BD transaccional. /// </summary> /// <param name="configuracion">The configuracion.</param> /// <returns></returns> public void registrarAsistenciaBDTransaccional(Configuraciones configuracion, Asistencia unaAsistencia) { try { using (MySqlConnection conn = new MySqlConnection(configuracion.valor)) { MySqlCommand command = new MySqlCommand("sp_store_inasistencia;", conn); command.CommandType = System.Data.CommandType.StoredProcedure; // Add your parameters here if you need them command.Parameters.Add(new MySqlParameter("var_curso", unaAsistencia.alumno.cursoCicloLectivo.curso.idCursoTransaccional)); command.Parameters.Add(new MySqlParameter("var_alumno", unaAsistencia.alumno.alumno.idAlumnoTransaccional)); command.Parameters.Add(new MySqlParameter("var_tipo_asistencia", unaAsistencia.tipoAsistencia.idTipoAsistenciaTransaccional)); command.Parameters.Add(new MySqlParameter("var_fecha", unaAsistencia.fecha)); conn.Open(); command.ExecuteNonQuery(); //int result = (int)command.ExecuteScalar(); } } catch (MySqlException ex) { throw new CustomizedException(String.Format("Fallo en {0} - registrarSancionBDTransaccional()", ClassName), ex, enuExceptionType.MySQLException); } catch (SqlException ex) { throw new CustomizedException(String.Format("Fallo en {0} - registrarSancionBDTransaccional()", ClassName), ex, enuExceptionType.SqlException); } catch (Exception ex) { throw new CustomizedException(String.Format("Fallo en {0} - registrarSancionBDTransaccional()", ClassName), ex, enuExceptionType.DataAccesException); } finally { //if (sqlConnectionConfig.State == ConnectionState.Open) // sqlConnectionConfig.Close(); } }