//metodo para guardar el horario de los cursos public int guardarHorario(HorarioCurso horario) { try { if (horario != null) { this.abrirConexion(); this.comando = new SqlCommand(); this.comando.Connection = this.cnx; this.comando.CommandType = CommandType.StoredProcedure; this.comando.CommandText = "[PA_Ins_Horario]"; this.comando.Parameters.AddWithValue("@IDCurso", horario.IDCurso); this.comando.Parameters.AddWithValue("@dia", horario.dia); this.comando.Parameters.AddWithValue("@horaInicio", horario.horaInicio); this.comando.Parameters.AddWithValue("@horaFin", horario.horaFin); this.comando.ExecuteNonQuery(); this.cerrarConexion(); this.comando.Dispose(); return(1); } else { return(0); } } catch (Exception ex) { new Exception("Error de transacción", ex); return(0); } }
public override object DoLoad(System.Data.IDataReader registers) { HorarioCurso horCurso = new HorarioCurso(); horCurso.Materia = registers["materia"].ToString(); return(horCurso); }
public void guardarHorario() { try { horario = new HorarioCurso(); //evaluaciones de que los campos se encuentren en un estado válido para la base de datos if (string.IsNullOrEmpty(this.txtIDCurso.Text)) { MessageBox.Show("Debe ingresar un ID del curso", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning); } else if (string.IsNullOrEmpty(this.txtDia.Text)) { MessageBox.Show("Debe ingresar un día de la semana para el horario", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning); } else if (string.IsNullOrEmpty(this.txtHoraInicio.Text)) { MessageBox.Show("Debe ingresar una hora de inicio para las sesiones", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning); } else if (string.IsNullOrEmpty(this.txtHoraFin.Text)) { MessageBox.Show("Debe ingresar una hora de final para las sesiones", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning); } else { this.horario.horaInicio = int.Parse(this.txtHoraInicio.Text.Trim()); this.horario.IDCurso = this.txtIDCurso.Text.Trim(); this.horario.dia = this.txtDia.Text.Trim(); this.horario.horaFin = int.Parse(this.txtHoraFin.Text.Trim()); } try { //comprobacion de que la hora de entrada siempre sea menor a la hora de salida if (int.Parse(this.txtHoraFin.Text.Trim()) < int.Parse(this.txtHoraInicio.Text.Trim())) { MessageBox.Show("La hora de salida tiene que ser mayor que la hora de entrada", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning); } else { if (this.horario.comprobacionHorario(int.Parse(this.txtHoraInicio.Text.Trim()), int.Parse(this.txtHoraFin.Text.Trim())) == 0) { MessageBox.Show("Debe ingresar valores que estén en el intervalo de 0 a 24 horas", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning); } else { if (MessageBox.Show("¿Está seguro de que quiere agregar el horario indicado para este curso? No podrá hacerle cambios después", "Confirmar acción", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { //control de transaccion using (TransactionScope scope = new TransactionScope()) { if (this.conexion.guardarHorario(horario) == 1) { MessageBox.Show("Horario almacenado con éxito", "Proceso Aplicado", MessageBoxButtons.OK, MessageBoxIcon.Information); scope.Complete(); } else { MessageBox.Show("La transacción falló por un problema interno o porque repitió un mismo día de horario", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } } //fin de transaccion } //fin de confirmacion } } //fin de comprobacion de que la hora fin sea mayor que la hora inicio } catch (Exception ex) { new Exception("Error", ex); MessageBox.Show("Debe ingresar los en los datos campos de texto para poder hacer operaciones", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning); } } catch (TransactionAbortedException ex) { throw new TransactionAbortedException(String.Format("No se pudo completar la transacción"), ex); } }
public ResponsePreMatricula PreMatricular(CursosPreMatricula Cursos) { try { List <HorarioCurso> listadoCursos = new List <HorarioCurso>(); //Optenemos el Horario de lso cursos de Laboratorio foreach (var cod in Cursos.cod_cuso) { Curso cod_curso = new Curso(); HorarioCurso resul = new HorarioCurso(); cod_curso.cod_curso = cod; resul = new DataAccess().ExecuteSqlProcedureSingle <HorarioCurso, Curso>("OBTENER_HORA_DIA_CURSO", cod_curso); if (resul.tipo_clase == "L") { listadoCursos.Add(resul); } } //Validamos quen exista cruse en Laboratorio foreach (var fila in listadoCursos) { foreach (var fila_v in listadoCursos) { if (fila.dia_clase == fila_v.dia_clase) { if (Convert.ToInt32(fila.hora_inicio) >= Convert.ToInt32(fila_v.hora_inicio) && Convert.ToInt32(fila.hora_inicio) <= Convert.ToInt32(fila_v.hora_fin)) { var response = new ResponsePreMatricula() { respuesta = false, RespuestaServicio = null }; return(response); } if (Convert.ToInt32(fila.hora_fin) > Convert.ToInt32(fila_v.hora_inicio) && Convert.ToInt32(fila.hora_fin) <= Convert.ToInt32(fila_v.hora_fin)) { var response = new ResponsePreMatricula() { respuesta = false, RespuestaServicio = null }; return(response); } } } } ; //Aqui se Ralisa la Pre Matricula si no hay cruses foreach (var cod in Cursos.cod_cuso) { var resul = new DataAccess().ExecuteSqlProcedureSingle <HorarioCurso, MatriculaCurso>("OBTENER_HORA_DIA_CURSO", new MatriculaCurso { cod_alumno = Cursos.cod_alumno, cod_curso = cod }); } var response_v = new ResponsePreMatricula() { respuesta = true, RespuestaServicio = null }; return(response_v); } catch (Exception ex) { var response = new ResponsePreMatricula() { respuesta = false, RespuestaServicio = { Error = true, MensajeError = ex.Message, CodigoError = ex.HResult, MensajeDetalle = ex.Source } }; return(response); } }