Ejemplo n.º 1
0
        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");
            }
        }
Ejemplo n.º 3
0
        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();
        }
Ejemplo n.º 4
0
        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");
            }
        }
Ejemplo n.º 6
0
        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();
        }
Ejemplo n.º 7
0
        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);
        }