Exemple #1
0
        private void aceptar_Click(object sender, EventArgs e)
        {
            //AGARRO EL DIA
            Dia unDia = (Dia)dias.SelectedItem;
            //AGARR0 LAS HORAS
            Hora     horaD      = ((Hora)horaDesde.SelectedItem);
            Hora     horaH      = ((Hora)horaHasta.SelectedItem);
            TimeSpan horaDesdeT = horaD.LaHora;
            TimeSpan horaHastaT = horaH.LaHora;

            if (Hora.horasValidas(horaDesdeT, horaHastaT))
            {
                unDia.horaDesde = horaDesdeT;
                unDia.horaHasta = horaHastaT;
                Especialidad especialidad = (Especialidad)especialidades.SelectedItem;
                AgendaDiaria diaLaboral   = new AgendaDiaria(unDia, especialidad.descripcion, especialidad.codigo);
                if (noEstaUsado(diaLaboral))
                {
                    agendaDeTrabajo.Add(diaLaboral);
                    actualizarLista();
                }
                else
                {
                    MessageBox.Show("Los horarios seleccionados se sobreponen", "Error!", MessageBoxButtons.OK);
                }
            }
            else
            {
                MessageBox.Show("Inserte correctamente las horas", "Error!", MessageBoxButtons.OK);
            }
        }
 public AltaAgenda(String id_usuario, int id_rol)
 {
     InitializeComponent();
     this.id_usuario       = id_usuario;
     this.id_rol           = id_rol;
     agendas               = new List <Agenda_Diaria>();
     cb_dia.DataSource     = Dia.crearDias();
     dgv_agenda.DataSource = new List <Agenda_Diaria>();
 }
        private void procesarRegistrarAgenda(SqlConnection cx, SqlTransaction tx, Dia unDia, Especialidad espSeleccionada, DateTimePicker dtpFechaDesde, DateTimePicker dtpFechaHasta,
                                             ComboBox cmbHHDesde, ComboBox cmbHHHasta, ComboBox cmbError, Label lblError)
        {
            List <AgendaProfesional> agendasConflicto = new List <AgendaProfesional>();

            if (!insertarAgenda(unDia.Id, this.profesional.NroDoc, espSeleccionada.Id, dtpFechaDesde.Value, dtpFechaHasta.Value, TimeSpan.Parse(cmbHHDesde.Text), TimeSpan.Parse(cmbHHHasta.Text), lblError, cmbError, cx, tx))
            {
                agendasConflicto = obtenerAgendasConflictoProfesionalDia(this.profesional, unDia, dtpFechaDesde.Value.ToString("yyyy-MM-dd"), dtpFechaHasta.Value.ToString("yyyy-MM-dd"), cmbHHDesde.Text, cmbHHHasta.Text, cx, tx);
                foreach (AgendaProfesional agenda in agendasConflicto)
                {
                    lblError.Visible = true;
                    cmbError.Items.Add(agenda.Especialidad.Descripcion + " - " + agenda.hhDesde.ToString() + " a " + agenda.hhHasta.ToString() +
                                       " - ( del " + agenda.FechaDesde.ToString("yyyy-MM-dd") + " al " + agenda.FechaHasta.ToString("yyyy-MM-dd") + ")");
                    cmbError.Visible       = true;
                    cmbError.DropDownWidth = ManipulacionComponentes.obtenerDropDownMaxWidthCombo(cmbError);
                }
            }
        }
Exemple #4
0
        private void cargarPantalla()
        {
            //Dias a mostrar
            rangoFechas.Visible    = false;
            dias.DataSource        = Dia.ObtenerTodosLosDias();
            dias.ValueMember       = "id";
            dias.DisplayMember     = "nombre";
            nombreProfesional.Text = profesional.apellido + ", " + profesional.nombre;

            //Horas por dia a mostrar
            horaDesde.DataSource    = Hora.obtenerHorasDia((Dia)dias.SelectedItem);
            horaDesde.ValueMember   = "LaHora";
            horaDesde.DisplayMember = "HoraAMostrar";
            horaDesde.SelectedIndex = 0;

            horaHasta.DataSource    = Hora.obtenerHorasDia((Dia)dias.SelectedItem);
            horaHasta.ValueMember   = "LaHora";
            horaHasta.DisplayMember = "HoraAMostrar";
            horaHasta.SelectedIndex = horaHasta.Items.Count - 1;

            //Especialidades a mostrar
            especialidades.DataSource    = profesional.especialidades;
            especialidades.ValueMember   = "codigo";
            especialidades.DisplayMember = "descripcion";

            //Generamos la lista de dias que se van a seleccionar

            horarios.AutoGenerateColumns = false;
            horarios.MultiSelect         = false;

            /*fechaDesde.MinDate = DateTime.Now.Date;
            *  fechaHasta.MinDate = DateTime.Now.Date;*/                                    //fecha S.O

            fechaDesde.MinDate = DateTime.Parse(ArchivoDeConfiguracion.Default.Fecha).Date; //Archivo config
            fechaHasta.MinDate = DateTime.Parse(ArchivoDeConfiguracion.Default.Fecha).Date;
            generarGrid();
        }
        private List <AgendaProfesional> obtenerAgendasConflictoProfesionalDia(Profesional profesional, Dia dia, String fechaDesde, String fechaHasta,
                                                                               String hhDesde, String hhHasta, SqlConnection cx, SqlTransaction tx)
        {
            List <AgendaProfesional> agendasReturn = new List <AgendaProfesional>();
            StringBuilder            query         = new StringBuilder(ConfigurationManager.AppSettings["query.obtener.agendas.select"].ToString());

            query.Append(ConfigurationManager.AppSettings["query.obtener.agendas.group.by"].ToString());
            query.Append(" HAVING");
            query.Append(ConfigurationManager.AppSettings["query.obtener.agendas.having.profesional"].Replace("{0}", this.profesional.NroDoc.ToString()).ToString());
            query.Append(" AND");
            query.Append(ConfigurationManager.AppSettings["query.obtener.agendas.having.dia"].Replace("{1}", dia.Id.ToString()).ToString());
            query.Append(" AND");
            query.Append(ConfigurationManager.AppSettings["query.obtener.agendas.having.horario.conflicto"].Replace("{4}", "'" + hhDesde + "'").Replace("{5}", "'" + hhHasta + "'").
                         Replace("{6}", "'" + fechaDesde + "'").Replace("{7}", "'" + fechaHasta + "'").ToString());
            SqlCommand sqlCmd = new SqlCommand(query.ToString(), cx, tx);

            sqlCmd.CommandType = CommandType.Text;
            Console.WriteLine("Query agendas conflicto:");
            Console.WriteLine(query.ToString());
            SqlDataReader sqlReader     = sqlCmd.ExecuteReader();
            Profesional   unProfesional = new Profesional(profesional.Apellido, profesional.Nombre);

            while (sqlReader.Read())
            {
                AgendaProfesional agenda = new AgendaProfesional();
                agenda.Dia          = dia;
                agenda.Especialidad = new Especialidad((int)sqlReader["esp_id"], sqlReader["especialidad"].ToString());
                agenda.FechaDesde   = DateTime.Parse(sqlReader["fechaDesde"].ToString()).Date;
                agenda.FechaHasta   = DateTime.Parse(sqlReader["fechaHasta"].ToString()).Date;
                agenda.hhDesde      = TimeSpan.Parse(sqlReader["desde"].ToString());
                agenda.hhHasta      = TimeSpan.Parse(sqlReader["hasta"].ToString());
                agendasReturn.Add(agenda);
            }
            sqlReader.Close();
            sqlReader.Dispose();

            return(agendasReturn);
        }