示例#1
0
        private void gridProfesionales_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {
            if (e.RowIndex > -1)
            {
                TurnoFunciones t = new TurnoFunciones();
                if (Regex.IsMatch(this.txBoxNumeroAfiliado.Text, @"^[0-9]+$"))
                {
                    if (t.esAfiliado(Convert.ToInt32(this.txBoxNumeroAfiliado.Text)))
                    {
                        string nroDocumento = this.gridProfesionales.Rows[e.RowIndex].Cells["NroDocumento"].Value.ToString();

                        DiasDisponibles f2 = new DiasDisponibles(Convert.ToInt32(nroDocumento), NroAfiliado);

                        f2.ShowDialog();
                    }
                    else
                    {
                        MessageBox.Show("Ingrese un numero de documento válido.");
                    }
                }
                else
                {
                    MessageBox.Show("Ingrese un numero de documento válido.");
                }
            }
        }
示例#2
0
        private void CargarComboEspecialidades()
        {
            TurnoFunciones turno = new TurnoFunciones();

            List <String> especialidades = turno.getEspecialidadesDB();

            especialidades.ForEach(esp => cBoxEspecilidad.Items.Add(esp));
        }
示例#3
0
        private void Form1_Load(object sender, EventArgs e)
        {
            TurnoFunciones turno = new TurnoFunciones();

            List <String> especialidades = turno.getEspecialidadesDB();

            cmbEspecialidades.Items.Add("-");
            especialidades.ForEach(esp => cmbEspecialidades.Items.Add(esp));
            cmbEspecialidades.SelectedItem = cmbEspecialidades.Items[0];

            ids = new List <int>();

            dgvProfesionales.MultiSelect = false;
        }
        private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {
            if (e.RowIndex > -1)
            {
                string   horarioElegido = this.dataGridView1.Rows[e.RowIndex].Cells["Horario"].Value.ToString();
                TimeSpan hr             = TimeSpan.Parse(horarioElegido);

                TurnoFunciones turno = new TurnoFunciones();

                turno.ReservarNuevoTurno(this.IdProfesional, 1123960, dateTimePicker1.Value.Date.Add(hr));

                MessageBox.Show("El turno fue reservado correctamente.");
            }
        }
示例#5
0
        private void cargarEspecialidades()
        {
            TurnoFunciones turno = new TurnoFunciones();

            List <Especialidad> especialidades = turno.getIdEspecialidadesDB();


            foreach (Especialidad esp in especialidades)
            {
                ComboboxItem item = new ComboboxItem();
                item.Text  = esp.Descripcion;
                item.Value = esp.Codigo;
                this.cboEspecialidad.Items.Add(item);
            }
        }
示例#6
0
        private void cBoxEspecilidad_TextChanged(object sender, EventArgs e)
        {
            this.gridProfesionales.Rows.Clear();

            TurnoFunciones turno    = new TurnoFunciones();
            List <Usuario> usuarios = turno.getProfesionalesPorEspecialidad(cBoxEspecilidad.SelectedItem.ToString());

            for (int i = 0; i < usuarios.Count(); i++)
            {
                Usuario user = new Usuario();
                user = usuarios[i];

                gridProfesionales.Rows.Add(user.NroDocumento, user.Nombre, user.Apellido, cBoxEspecilidad.Text);
            }
        }
        public void ValidarDisponibilidadDelProfesional(DataGridView grd, List <string> rangoHorario)
        {
            TurnoFunciones turno = new TurnoFunciones();

            List <string> horariosProfesional = turno.GetDisponibilidadDelProfesional(this.IdProfesional, this.dateTimePicker1.Value);

            var horariosABorrar = horariosProfesional.Select(x => Convert.ToDateTime(x).TimeOfDay.ToString()).ToList();

            rangoHorario.RemoveAll(x => horariosABorrar.Contains(x));

            foreach (var hora in rangoHorario)
            {
                this.dataGridView1.Rows.Add(hora);
            }
        }
        private void dateTimePicker1_ValueChanged(object sender, EventArgs e)
        {
            TurnoFunciones turno = new TurnoFunciones();

            CultureInfo ci  = new CultureInfo("es-ES");
            var         dia = ci.DateTimeFormat.GetDayName(Convert.ToDateTime(this.dateTimePicker1.Text).DayOfWeek);

            List <string> horarios = turno.getHorariosDisponibles(this.IdProfesional, dia);

            if (horarios.Count > 0)
            {
                TimeSpan horaInicio = TimeSpan.Parse(horarios.First());
                TimeSpan horaFin    = TimeSpan.Parse(horarios.Last());

                var veces = horaFin.Subtract(horaInicio);

                TimeSpan mediaHora = new TimeSpan(0, 30, 0);

                List <string> rangoHorario = new List <string>();

                rangoHorario.Add(horaInicio.ToString());

                for (int i = 0; i < (veces.TotalHours * 2) - 1; i++)
                {
                    rangoHorario.Add(horaInicio.Add(mediaHora).ToString());
                    horaInicio = horaInicio.Add(mediaHora);
                }



                this.ValidarDisponibilidadDelProfesional(this.dataGridView1, rangoHorario);
            }
            else
            {
                MessageBox.Show("El profesional no se encuentra disponible en la fecha seleccionada. Por favor seleccione otra fecha.");
            }
        }
示例#9
0
        private void btnGuardar_Click(object sender, EventArgs e)
        {
            var error = false;

            if (Regex.IsMatch(this.txDniProfesional.Text, @"^[0-9]+$"))
            {
                List <int>      posiciones          = new List <int>();
                List <TimeSpan> inicioSeleccionados = new List <TimeSpan>();
                List <TimeSpan> finSeleccionados    = new List <TimeSpan>();
                List <string>   diasSeleccionados   = new List <string>();
                List <CheckBox> diasRecorrer        = new List <CheckBox>();

                diasRecorrer = this.dias;
                for (int i = 0; i < diasRecorrer.Count(); i++)
                {
                    if (diasRecorrer[i].Checked)
                    {
                        posiciones.Add(i);
                        diasSeleccionados.Add(diasRecorrer[i].Text);
                    }
                }

                for (int j = 0; j < posiciones.Count(); j++)
                {
                    var inicio = new TimeSpan(Convert.ToInt32(this.horaInicio.GetRange(j, 1).First().Value), 0, 0);
                    var fin    = new TimeSpan(Convert.ToInt32(this.horaFin.GetRange(j, 1).First().Value), 0, 0);

                    if (esHorarioDisponible(inicio, fin, diasRecorrer[j].Text))
                    {
                        inicioSeleccionados.Add(inicio);
                        finSeleccionados.Add(fin);
                    }
                    else
                    {
                        error = true;
                    }
                }
                if (!error)
                {
                    if (!trabajaMasDeDosDias(inicioSeleccionados, finSeleccionados))
                    {
                        TurnoFunciones turno = new TurnoFunciones();
                        turno.eliminarHorariosAnteriores(Int32.Parse(txDniProfesional.Text));
                        turno.RegistrarNuevaAgenda(Int32.Parse(txDniProfesional.Text), diasSeleccionados, inicioSeleccionados, finSeleccionados, dateTimePickerFechaInicio.Value.ToShortDateString(), dateTimePickerFechaFin.Value.ToShortDateString());
                        MessageBox.Show("La agenda se registro correctamente.");
                    }
                    else
                    {
                        MessageBox.Show("No Puede Trabajar Mas de 48 hs");
                    }
                }
                else
                {
                    MessageBox.Show("El Hospital No Atiende En El Horario Seleccionado");
                }
            }
            else
            {
                MessageBox.Show("Datos incorrectos.");
            }
        }