public static UClass ParseClass(IHtmlTableRowElement classRow, int classYear = 0, USemester classSemester = USemester.Unknown)
        {
            int    courseId        = int.Parse(classRow.QuerySelector <IHtmlSpanElement>(slc_classId).TextContent);
            string courseName      = classRow.QuerySelector <IHtmlSpanElement>("td>span[id*=CourseName]").TextContent;
            string classInstructor = classRow.QuerySelector <IHtmlSpanElement>("td>span[id*=Instructor]").TextContent;
            int    classSection    = int.Parse(classRow.QuerySelector <IHtmlSpanElement>(slc_classSection).TextContent);
            string classDaysString = classRow.QuerySelector <IHtmlSpanElement>("td>span[id*=Day]").TextContent;

            DayOfWeek[] classDays = DayOfWeekConverter.ToDays(classDaysString).ToArray();
            var(classStartTime, classEndTime) = ParseClassTime(classRow.OuterHtml);
            int.TryParse(classRow.QuerySelector <IHtmlSpanElement>("td>span[id*=MaxStNo]")?.TextContent, out int classCapacity);
            int.TryParse(classRow.QuerySelector <IHtmlSpanElement>("td>span[id*=RegStNo]")?.TextContent, out int classRegisterdStudentsCount);

            //To detecet Labs
            int classFinancialHours = (int)((classDays.Length == 1 ? 1 : (classEndTime - classStartTime).TotalHours) * classDays.Length);

            classInstructor = classInstructor.Trim();
            courseName      = courseName.Trim();

            return(new UClass(course: new UCourse(courseId, classFinancialHours, courseName),
                              instructorName: classInstructor,
                              days: classDays,
                              startTime: classStartTime,
                              endTime: classEndTime,
                              section: classSection,
                              capacity: classCapacity,
                              numberOfRegisteredStudents: classRegisterdStudentsCount));
        }
 public UClassListModel(UClass cls)
 {
     Source         = cls ?? throw new ArgumentNullException(nameof(cls));
     Id             = cls.Id;
     Time           = $"{cls.StartTime:hh\\:mm}-{cls.EndTime:hh\\:mm}";
     InstructorName = cls.InstructorName;
     Days           = DayOfWeekConverter.ToString(cls.Days);
     Name           = cls.Course.Name;
     NumberOfPlaces = Math.Max(0, cls.Capacity - cls.NumberOfRegisteredStudents);
 }
Exemplo n.º 3
0
        private void cboDia_SelectedIndexChanged(object sender, EventArgs e)
        {
            var cultureInfo  = new CultureInfo("es-Ar");
            var dateTimeInfo = cultureInfo.DateTimeFormat;
            var dayNames     = dateTimeInfo.DayNames;

            DayOfWeek    d = DayOfWeekConverter.ConvertBack((string)cboDia.SelectedItem);
            List <Turno> turnosdisponibles = TurnosDAL.ObtenerTurnosDelMes(((Terapeuta)(cboTerapeuta.SelectedItem)).Id, d);

            lstDias.DataSource    = null;
            lstDias.DataSource    = turnosdisponibles;
            lstDias.DisplayMember = "Feyhora";
        }
Exemplo n.º 4
0
 public UScheduleListModel(USchedule src)
 {
     Source = src;
     DayOfWeek[] srcDays = src.Days.ToArray();
     Info               = $"{srcDays.Length} day{(srcDays.Length == 1 ? string.Empty : "s")} | {Source.FinancialHours} hour";
     ClassesModels      = Source.Classes.OrderBy(x => s_daysEqualityComparer.GetHashCode(x.Days)).ThenBy(c => c.StartTime).ThenBy(c => c.EndTime).Select(c => new UClassListModel(c)).ToArray();
     Days               = DayOfWeekConverter.ToString(srcDays);
     FinancialHours     = Source.FinancialHours.ToString();
     FirstStartTime     = Source.FirstStartTime.ToString("hh\\:mm");
     LastEndTime        = Source.LastEndTime.ToString("hh\\:mm");
     LongestDayDuration = Source.LongestDayDuration.ToString("hh\\:mm");
     MaximumBreaksTotal = Source.MaximumBreaksTotal.ToString("hh\\:mm");
 }
Exemplo n.º 5
0
        private void btnCancelar_Click(object sender, EventArgs e)
        {
            if (validar() == true)
            {
                Turno pTurno = new Turno();
                pTurno.Id        = Convert.ToInt64(dtgvTurnos.CurrentRow.Cells[0].Value);
                pTurno.id_Estado = 2;
                pTurno.Motivo    = txtMotivo.Text;

                TurnosDAL.ActualizarTurnosCancelar(pTurno);
                panelCanelado.Visible = true;

                MessageBox.Show("Turno Cancelado Correctamente", "Turno", MessageBoxButtons.OK, MessageBoxIcon.Information);
                btnCargar.Enabled = true;
                txtMotivo.Clear();
                SqlConnection Conn = BDComun.obtenerConexion();
                dtgvTurnos.DataSource = null;
                SqlCommand cmd = Conn.CreateCommand();

                cmd.CommandType = CommandType.Text;
                cmd.CommandText = "select id_Turno 'Nro. Turno', Apellido,Nombre,Fecha,hora,Estado,Motivo from Turno t JOIN Paciente p on t.id_Paciente = p.nro_Paciente JOIN Estado_Turnos e on t.id_Estado=e.id_Estado_Turno where  id_Terapeuta='" + (((Terapeuta)cboTerapeuta.SelectedItem).Id) + "' and Fecha between '" + DateTime.Now.ToShortDateString() + "' and '" + DateTime.Now.AddDays(365).ToShortDateString() + "'order by Fecha";
                cmd.ExecuteNonQuery();

                DataTable      dt = new DataTable();
                SqlDataAdapter da = new SqlDataAdapter(cmd);

                da.Fill(dt);

                dtgvTurnos.DataSource = dt;

                Conn.Close();

                DayOfWeek    d = DayOfWeekConverter.ConvertBack((string)cboDia.SelectedItem);
                List <Turno> turnosdisponibles = TurnosDAL.ObtenerTurnosDelMes(((Terapeuta)(cboTerapeuta.SelectedItem)).Id, d);

                lstDias.DataSource    = null;
                lstDias.DataSource    = turnosdisponibles;
                lstDias.DisplayMember = "Feyhora";
            }
        }
Exemplo n.º 6
0
        private void btnCargar_Click(object sender, EventArgs e)
        {
            if (lstDias.SelectedItem != null)
            {
                Turno t = (Turno)lstDias.SelectedItem;
                if (t.id_Estado == 3 || t.id_Estado == 2)
                {
                    t.id_Estado      = 1;
                    t.id_Tratamiento = ((Tratamiento)cboTratamiento.SelectedItem).Id;
                    t.Motivo         = "";
                    t.id_Cliente     = ((Cliente)cboPaciente.SelectedItem).Id;
                    TurnosDAL.ActualizarTurno(t);
                    MessageBox.Show("Turno Dado de Alta", "Turno", MessageBoxButtons.OK, MessageBoxIcon.Information);

                    SqlConnection Conn = BDComun.obtenerConexion();
                    dtgvTurnos.DataSource = null;
                    SqlCommand cmd = Conn.CreateCommand();

                    cmd.CommandType = CommandType.Text;
                    cmd.CommandText = "select id_Turno 'Nro. Turno', Apellido,Nombre,Fecha,hora,Estado,Motivo from Turno t JOIN Paciente p on t.id_Paciente = p.nro_Paciente JOIN Estado_Turnos e on t.id_Estado=e.id_Estado_Turno where  id_Terapeuta='" + (((Terapeuta)cboTerapeuta.SelectedItem).Id) + "' and Fecha between '" + DateTime.Now.ToShortDateString() + "' and '" + DateTime.Now.AddDays(365).ToShortDateString() + "' order by Fecha";
                    cmd.ExecuteNonQuery();

                    DataTable      dt = new DataTable();
                    SqlDataAdapter da = new SqlDataAdapter(cmd);

                    da.Fill(dt);

                    dtgvTurnos.DataSource = dt;

                    Conn.Close();



                    DayOfWeek    d = DayOfWeekConverter.ConvertBack((string)cboDia.SelectedItem);
                    List <Turno> turnosdisponibles = TurnosDAL.ObtenerTurnosDelMes(((Terapeuta)(cboTerapeuta.SelectedItem)).Id, d);
                    lstDias.DataSource    = null;
                    lstDias.DataSource    = turnosdisponibles;
                    lstDias.DisplayMember = "Feyhora";
                }
                else
                {
                    if (rbnCancelado.Checked)
                    {
                        t.id_Estado      = 2;
                        t.id_Tratamiento = ((Tratamiento)cboTratamiento.SelectedItem).Id;
                        t.Motivo         = txtMotivo.Text;
                        t.id_Cliente     = ((Cliente)cboPaciente.SelectedItem).Id;
                        TurnosDAL.ActualizarTurno(t);
                        MessageBox.Show("Turno Cancelado Correctamente", "Turno", MessageBoxButtons.OK, MessageBoxIcon.Information);

                        SqlConnection Conn = BDComun.obtenerConexion();
                        dtgvTurnos.DataSource = null;
                        SqlCommand cmd = Conn.CreateCommand();

                        cmd.CommandType = CommandType.Text;
                        cmd.CommandText = "select id_Turno 'Nro. Turno', Apellido,Nombre,Fecha,hora,Estado,Motivo from Turno t JOIN Paciente p on t.id_Paciente = p.nro_Paciente JOIN Estado_Turnos e on t.id_Estado=e.id_Estado_Turno where  id_Terapeuta='" + (((Terapeuta)cboTerapeuta.SelectedItem).Id) + "' and Fecha between '" + DateTime.Now.ToShortDateString() + "' and '" + DateTime.Now.AddDays(365).ToShortDateString() + "'order by Fecha";
                        cmd.ExecuteNonQuery();

                        DataTable      dt = new DataTable();
                        SqlDataAdapter da = new SqlDataAdapter(cmd);

                        da.Fill(dt);

                        dtgvTurnos.DataSource = dt;

                        Conn.Close();



                        DayOfWeek    d = DayOfWeekConverter.ConvertBack((string)cboDia.SelectedItem);
                        List <Turno> turnosdisponibles = TurnosDAL.ObtenerTurnosDelMes(((Terapeuta)(cboTerapeuta.SelectedItem)).Id, d);
                        lstDias.DataSource    = null;
                        lstDias.DataSource    = turnosdisponibles;
                        lstDias.DisplayMember = "Feyhora";
                    }
                    else
                    {
                        MessageBox.Show("Turno ya dado de Alta", "Turno", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                    }
                }
            }
            else
            {
                MessageBox.Show("Seleccione Primero Un Dia", "Turno", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
            }
        }