/// <summary> /// Carga los horarios en la lista /// </summary> private void CargarHorarios() { //recorrer Lista y hacer que se transforme en un rango horario los continuos int i = 0; this.iListaRangosHorariosSeleccionados = new List <RangoHorario>(); int codigoRH = 0; while (i < this.iBoolArraySeleccionados.Length) { int j = i; while ((i < this.iBoolArraySeleccionados.Length) && this.iBoolArraySeleccionados[i]) { i++; } if (i > j) { RangoHorario rangoHorario = new RangoHorario() { HoraInicio = this.CodigoATimeSpan(j), HoraFin = this.CodigoATimeSpan(i), Codigo = codigoRH }; codigoRH++; this.iListaRangosHorariosSeleccionados.Add(rangoHorario); } i++; } }
/// <summary> /// Crea un RangoFecha /// </summary> /// <param name="pCodigo">Código del RangoFecha</param> /// <param name="pFechaInicio">Fecha Inicio del RangoFecha</param> /// <param name="pBanner">Campaña para la propiedad de navegación</param> /// <returns>Tipo de dato RangoFecha que representa el creado</returns> private RangoFecha CrearRangoFecha(int pCodigo, DateTime pFechaInicio, RangoFecheable pPrincipal) { List <RangoHorario> listaRangosHorario = new List <RangoHorario>(); RangoFecha rf = new RangoFecha { Codigo = pCodigo, FechaInicio = pFechaInicio.Date, FechaFin = pFechaInicio.AddDays(1).Date, RangosHorario = listaRangosHorario, Principal = pPrincipal, Principal_Codigo = pPrincipal.Codigo }; RangoHorario rh = new RangoHorario { Codigo = pCodigo, HoraFin = DateTime.Now.TimeOfDay, HoraInicio = DateTime.Now.TimeOfDay, RangoFecha = rf, RangoFecha_Codigo = rf.Codigo }; listaRangosHorario.Add(rh); return(rf); }
private void Turnos() { TimeSpan inicio; TimeSpan fin; if (DiaDeLaSemana() == 6) { inicio = new TimeSpan(10, 0, 0); fin = new TimeSpan(15, 0, 0); } else { inicio = new TimeSpan(7, 0, 0); fin = new TimeSpan(20, 0, 0); } _Turnos = RangoHorario.Rango(inicio, fin); RefrescarDGV(_Turnos); }
public void PrubaCrearCampaña() { Imagen imagen1 = new Imagen { Codigo = 1, Tiempo = 10, Picture = ImagenServices.ImageToByteArray(Image.FromFile(@"F:/Lucho/Varios/Salida.jpg", true)) }; List <Imagen> listaImagenes = new List <Imagen>(); listaImagenes.Add(imagen1); RangoHorario rangoHor1 = new RangoHorario { Codigo = 1, HoraFin = DateTime.Now.TimeOfDay, HoraInicio = DateTime.Now.AddMinutes(98).TimeOfDay }; RangoFecha rangoFecha1 = new RangoFecha { Codigo = 1, FechaInicio = DateTime.Today, FechaFin = DateTime.Today.AddDays(10), RangosHorario = new List <RangoHorario>() }; rangoFecha1.RangosHorario.Add(rangoHor1); List <RangoFecha> listaRangosFecha = new List <RangoFecha>(); listaRangosFecha.Add(rangoFecha1); Campaña campaña = new Campaña { Codigo = 1, Imagenes = listaImagenes, Nombre = "Prueba", IntervaloTiempo = 80, RangosFecha = listaRangosFecha }; FachadaCRUDCampaña fachada = new FachadaCRUDCampaña(); fachada.Create(campaña); }
public void PrubaCrearCampaña() { Imagen imagen1 = new Imagen { Codigo = 1, Tiempo = 10, Image = ImagenServices.ImageToByteArray(Image.FromFile(@"F:/Lucho/Varios/Salida.jpg", true)) }; List<Imagen> listaImagenes = new List<Imagen>(); listaImagenes.Add(imagen1); RangoHorario rangoHor1 = new RangoHorario { Codigo = 1, HoraFin = DateTime.Now.TimeOfDay, HoraInicio = DateTime.Now.AddMinutes(98).TimeOfDay }; RangoFecha rangoFecha1 = new RangoFecha { Codigo = 1, FechaInicio = DateTime.Today, FechaFin = DateTime.Today.AddDays(10), RangosHorario = new List<RangoHorario>() }; rangoFecha1.RangosHorario.Add(rangoHor1); List<RangoFecha> listaRangosFecha = new List<RangoFecha>(); listaRangosFecha.Add(rangoFecha1); Campaña campaña = new Campaña { Codigo = 1, Imagenes = listaImagenes, Nombre = "Prueba", IntervaloTiempo = 80, RangosFecha = listaRangosFecha }; FachadaCRUDCampaña fachada = new FachadaCRUDCampaña(); fachada.Create(campaña); }
/// <summary> /// Valida el horario ingresado y lo guarda en la base de datos /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void guardarButton_Click(object sender, EventArgs e) { if (areaCombo.SelectedIndex == -1) { MessageBox.Show("No se seleccionó un área", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } if (diaCombo.SelectedIndex == -1) { MessageBox.Show("No se seleccionó un día", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } try { //este constructor verifica la integridad Horario ingreso = new Horario(ingresoText.Text); Horario egreso = new Horario(egresoText.Text); //el constructor verifica la integridad RangoHorario rango = new RangoHorario(ingreso, egreso); //el tamaño minimo es 59 minutos if (rango.rangoMenor(0, 59)) { throw new RangoMinimoException(); } //armo la entidad turno DTO HorarioHabitualDTO turno = new HorarioHabitualDTO(); turno.Area = areaCombo.Text; turno.Dia = diaCombo.Text; turno.Ingreso = ingreso; turno.Egreso = egreso; turno.Duracion = rango.getDuracion(); turno.Confirmado = "NO"; //hay que validar que no se superponga a otros horarios foreach (HorarioHabitualDTO t in turnos) { if (Fecha.getNumeroDia(t.Dia) == Fecha.getNumeroDia(turno.Dia)) { RangoHorario r1 = new RangoHorario(t.Ingreso, t.Egreso); if (r1.rangoSuperpuesto(rango)) { throw new TurnoSuperpuestoException(); } } } //y finalmente guardo el horario GestorHorarios gestor = new GestorHorarios(); gestor.crearHorarioHabitual(this.usuario, turno); // y si anda todo bien agrego la columna a la tabla this.agregarColumna(turno); } catch (Exception ex) { MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
private void InicializarComboboxes() { ComboboxesSemana().ForEach(comboBox => comboBox.DataSource = RangoHorario.Rango(new TimeSpan(7, 0, 0), new TimeSpan(20, 0, 0))); ComboboxesSabado().ForEach(comboBox => comboBox.DataSource = RangoHorario.Rango(new TimeSpan(10, 0, 0), new TimeSpan(15, 0, 0))); Comboboxes().ForEach(comboBox => comboBox.Enabled = false); }
public static void Test_DevolverHorariosPosibles_2() { var input = new List <Persona>(); var p_1 = new Persona { Nombre = "Carla", JornadaLaboral = new RangoHorario { Inicio = "0900", Fin = "1800" }, Actividades = new List <RangoHorario> { new RangoHorario { Inicio = "0900", Fin = "1130" }, new RangoHorario { Inicio = "1300", Fin = "1400" }, new RangoHorario { Inicio = "1500", Fin = "1540" } } }; var p_2 = new Persona { Nombre = "Jose", JornadaLaboral = new RangoHorario { Inicio = "0830", Fin = "1730" }, Actividades = new List <RangoHorario> { new RangoHorario { Inicio = "1200", Fin = "1400" }, new RangoHorario { Inicio = "1645", Fin = "1730" } } }; var p_3 = new Persona { Nombre = "Maria", JornadaLaboral = new RangoHorario { Inicio = "1000", Fin = "1700" }, Actividades = new List <RangoHorario> { new RangoHorario { Inicio = "1000", Fin = "1100" }, new RangoHorario { Inicio = "1530", Fin = "1600" } } }; input.Add(p_1); input.Add(p_2); input.Add(p_3); var result = Calcular.DevolverHorariosPosibles(input, 60); var expected = new RangoHorario { Inicio = "1400", Fin = "1500" }; Assert.AreEqual(JsonConvert.SerializeObject(expected), JsonConvert.SerializeObject(result[0])); }