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); }
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"; }
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"); }
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"; } }
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); } }