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); } } }
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); }