public Rango(Dias dia, TimeSpan horaDesde, TimeSpan horaHasta) { TurnosDentro = new List<Turno>(); Dia = dia; StringDia = dia.Detalle; HoraDesde = horaDesde; HoraHasta = horaHasta; this.armarTurnos(); }
public Rango(Dias dia, TimeSpan horaDesde, TimeSpan horaHasta, int especialidad) { TurnosDentro = new List<Turno>(); Dia = dia; StringDia = dia.Detalle; HoraDesde = horaDesde; HoraHasta = horaHasta; Especialidad = especialidad; Especialidad esp = new Especialidad(Especialidad); EspString = esp.Descripcion; this.armarTurnos(); }
private void cmdAceptar_Click(object sender, EventArgs e) { //AGARRO EL DIA Dias unDia = new Dias((int)cmbDias.SelectedValue); //AGARR0 LAS HORAS TimeSpan horaDesde = (TimeSpan)cmbHoraDesde.SelectedValue; TimeSpan horaHasta = (TimeSpan)cmbHoraHasta.SelectedValue; if (Utiles.EsHoraValida(horaDesde, horaHasta)) { Rango unRango = new Rango(unDia, horaDesde, horaHasta,(int)(decimal)cmbEspecialidades.SelectedValue); //VALIDAR QUE NO SE PISE CON OTRA YA ASIGNADA if(Utiles.NoSePisan(unDia, horaDesde,horaHasta,listaDeRangos)) { listaDeRangos.Add(unRango); ActualizarGrilla(); }else{MessageBox.Show("Los horarios seleccionados se sobreponen", "Error!", MessageBoxButtons.OK);} } else { MessageBox.Show("Inserte correctamente las horas", "Error!", MessageBoxButtons.OK); } }
public void armarAgenda(decimal pro, decimal esp) { List<SqlParameter> ListaParametros = new List<SqlParameter>(); ListaParametros.Add(new SqlParameter("@id", pro)); String query = @"SELECT desde, hasta FROM mario_killers.Agenda WHERE (profesional = @id and activo =1)"; SqlDataReader lector = Clases.BaseDeDatosSQL.ObtenerDataReader(query, "T", ListaParametros); if (lector.HasRows) { lector.Read(); this.FechaDesde = (DateTime)lector["desde"]; this.FechaHasta = (DateTime)lector["hasta"]; } /*---ARMAR LOS RANGOS----*/ List<SqlParameter> ListaParametros2 = new List<SqlParameter>(); ListaParametros2.Add(new SqlParameter("@id", pro)); ListaParametros2.Add(new SqlParameter("@esp", esp)); String queryRangos = @"SELECT dia, hora_desde, hora_hasta FROM mario_killers.Rango WHERE profesional = @id AND especialidad = @esp AND activo = 1"; SqlDataReader lector2 = Clases.BaseDeDatosSQL.ObtenerDataReader(queryRangos, "T", ListaParametros2); if (lector2.HasRows) { while (lector2.Read()) { TimeSpan desde = (TimeSpan)lector2["hora_desde"]; TimeSpan hasta = (TimeSpan)lector2["hora_hasta"]; int dia = (int)(decimal)lector2["dia"]; Dias diau = new Dias(dia); Rango unRango = new Rango(diau, desde, hasta); this.Rangos.Add(unRango); } } }
public static bool NoSePisan(Dias dia, TimeSpan desde, TimeSpan hasta, List<Rango> lista) { foreach (Rango unRango in lista) { if ((unRango.HoraDesde <= desde.Add(new TimeSpan(0, 1, 0)) && desde.Add(new TimeSpan(0, 1, 0)) <= unRango.HoraHasta || unRango.HoraDesde <= hasta.Add(new TimeSpan(0, 1, 0)) && hasta.Add(new TimeSpan(0, 1, 0)) <= unRango.HoraHasta) && dia.Id == unRango.Dia.Id) { return false; } } return true; }