Пример #1
0
        /// <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++;
            }
        }
Пример #2
0
        /// <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);
        }
Пример #4
0
        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);
        }
Пример #5
0
 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);
 }
Пример #6
0
        /// <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);
            }
        }
Пример #7
0
 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);
 }
Пример #8
0
        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]));
        }