public static Horario ObtenerHorarioActualDeProfesor(Profesor profe, Dia dia, int hora, int tole) { SqlConnection con = DBInstance.Instance; List <Horario> list = new List <Horario>(); SqlCommand com = new SqlCommand("uspObtenerHorarioActualProfesor", con); com.CommandType = System.Data.CommandType.StoredProcedure; com.Parameters.Add(new SqlParameter("@profeid", profe.id)); com.Parameters.Add(new SqlParameter("@diaid", dia.id)); com.Parameters.Add(new SqlParameter("@hora", hora)); com.Parameters.Add(new SqlParameter("@tole", tole)); com.ExecuteNonQuery(); using (SqlDataReader reader = com.ExecuteReader()) { while (reader.Read()) { Trace.WriteLine(String.Format("{0} \t | {1} \t | {2} \t | {3} \t | {4} \t | {5}", reader[0], reader[1], reader[2], reader[3], reader[4], reader[5])); Curso curso = new Curso((int)reader[1], (string)reader[2]); Horario horario = new Horario((int)reader[0], profe, curso, dia, (int)reader[4], (int)reader[5], (bool)reader[3]); list.Add(horario); } } return(list.FirstOrDefault()); }
private void Guardar_Click(object sender, RoutedEventArgs e) { try { string horaInicio = HInicio.Text.Trim(); string horaFin = HFin.Text.Trim(); if (CursoList.SelectedItem == null) { MessageBox.Show("Selecciona un curso"); return; } if (DiaList.SelectedItem == null) { MessageBox.Show("Selecciona un dia"); return; } if (horaInicio == null) { MessageBox.Show("Ingresa una hora de inicio de clase"); return; } if (horaFin == null) { MessageBox.Show("Ingresa una hora de fin de clase"); return; } string patron = @"^(?:0[7-9]|1[0-9]|2[0-1]):[0-5][0-9]$"; Match matchini = Regex.Match(horaInicio, patron); if (!matchini.Success) { MessageBox.Show("Ingresa una hora de inicio válida 'HH:mm'"); return; } Match matchfin = Regex.Match(horaFin, patron); if (!matchfin.Success) { MessageBox.Show("Ingresa una hora de fin válida 'HH:mm'"); return; } horario = new Horario() { profesor = profesor, curso = (Curso)CursoList.SelectedItem, dia = (Dia)DiaList.SelectedItem, horaini = horaInicio, horafin = horaFin }; DBServices.AgregarHorario(horario); MessageBox.Show("Horario agregado exitosamente"); this.Close(); } catch (Exception) { MessageBox.Show("Ingresa datos de profesor primero"); } }
public static void AgregarAsistencia(Horario horario) { SqlConnection con = DBInstance.Instance; SqlCommand com = new SqlCommand("uspAgregarAsistencia", con); com.CommandType = System.Data.CommandType.StoredProcedure; com.Parameters.Add(new SqlParameter("@horarioid", horario.id)); com.ExecuteNonQuery(); }
public static void AgregarHorario(Horario horario) { SqlConnection con = DBInstance.Instance; SqlCommand com = new SqlCommand("uspAgregarHorario", con); com.CommandType = System.Data.CommandType.StoredProcedure; com.Parameters.Add(new SqlParameter("@cursoid", horario.curso.id)); com.Parameters.Add(new SqlParameter("@profeid", horario.profesor.id)); com.Parameters.Add(new SqlParameter("@diaid", horario.dia.id)); com.Parameters.Add(new SqlParameter("@horaini", Horario.HoraStrToInt(horario.horaini))); com.Parameters.Add(new SqlParameter("@horafin", Horario.HoraStrToInt(horario.horafin))); com.ExecuteNonQuery(); }
private void BorrarHorario_Click(object sender, RoutedEventArgs e) { Horario horario = (Horario)HorarioGrid.SelectedItem; if (horario != null) { DBServices.BorrarHorario(horario); MessageBox.Show("Horario eliminado exitosamente"); List <Horario> list = DBServices.ObtenerHorariosDeProfesor(profe); HorarioGrid.ItemsSource = list; } else { Trace.WriteLine("Ningun horario seleccionado"); MessageBox.Show("Seleccione horario a eliminar"); } }
private void MarcarAsistencia(int id) { Nombre.Text = ""; Asistencia.Text = ""; Curso.Text = ""; Contra.Password = ""; if (id > 0) { Profesor profe = (Profesor)profes[id]; Nombre.Text = profe.nombre + " " + profe.apellido; int horaActual = DateTime.Now.Hour * 60 + DateTime.Now.Minute; int tolerancia = 5; Horario hora = DBServices.ObtenerHorarioActualDeProfesor(profe, hoy, horaActual, tolerancia); if (hora != null) { if (hora.estado) { Asistencia.Text = "Ya marcó su asistencia"; } else if (horaActual > Horario.HoraStrToInt(hora.horaini) + tolerancia) { Asistencia.Text = "Asistencia no marcada, llegó tarde"; } else { Asistencia.Text = "Asistencia marcada a las " + DateTime.Now.ToString("HH:mm"); Curso.Text = "Curso: " + hora.curso.nombre; DBServices.AgregarAsistencia(hora); } } else { Asistencia.Text = "No tiene clases ahora"; } } else { Nombre.Text = "Profesor no registrado"; } limpiar.Stop(); tlimpiar = TimeSpan.FromSeconds(5); limpiar.Start(); }
public static List <Horario> ObtenerHorariosDeProfesor(Profesor profesor) { SqlConnection con = DBInstance.Instance; List <Horario> list = new List <Horario>(); SqlCommand com = new SqlCommand("uspObtenerHorariosProfesor", con); com.CommandType = System.Data.CommandType.StoredProcedure; com.Parameters.Add(new SqlParameter("@profeid", profesor.id)); com.ExecuteNonQuery(); using (SqlDataReader reader = com.ExecuteReader()) { while (reader.Read()) { Trace.WriteLine(String.Format("{0} \t | {1} \t | {2} \t | {3} \t | {4} \t | {5} \t | {6}", reader[0], reader[1], reader[2], reader[3], reader[4], reader[5], reader[6])); Curso curso = new Curso((int)reader[1], (string)reader[2]); Dia dia = new Dia((int)reader[3], (string)reader[4]); Horario horario = new Horario((int)reader[0], profesor, curso, dia, (int)reader[5], (int)reader[6]); list.Add(horario); } } return(list); }