private void radScheduler1_AppointmentDropping(object sender, AppointmentMovingEventArgs e) { try { e.Cancel = true; if (this.AppointmentValidations(e) == true) { // mover de lugar la cita correctamente TimeSpan _hora_start = new TimeSpan(e.Appointment.Start.Hour, e.Appointment.Start.Minute, e.Appointment.Start.Second); TimeSpan _hora_end = new TimeSpan(e.Appointment.End.Hour, e.Appointment.End.Minute, e.Appointment.End.Second); TimeSpan _diferencia = _hora_end.Subtract(_hora_start); DateTime _Start = e.NewDate; DateTime _End = _Start.Add(_diferencia); DateTime _DocDate = e.NewDate.Date; int _DocEntry = int.Parse(e.Appointment.UniqueId.KeyValue.ToString()); cs_sapbo sapo = new cs_sapbo(); if (sapo.UPDATE_CITAS(_Start, _End, _DocDate, _DocEntry) == true) { if (sapo.UPDATE_CITA1(_Start, _End, _DocDate, _DocEntry) == true) { this.InitializeRadSchedulerDataBinding(); // primero carga los datos de la base de datos if (txt_salas.Text != "") { this.InitializeRadSchedulerResource(); } else { this.InitializeRadSchedulerResources(); } } } else { MessageBox.Show("Ocurrio un problema al mover la cita, por favor intentar de nuevo.", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Warning); } sapo = null; } else { // no dejar mover de lugar la cita. } } catch (Exception ex) { MessageBox.Show(ex.Message, this.Text, MessageBoxButtons.OK, MessageBoxIcon.Warning); } }
private bool AppointmentValidations(AppointmentMovingEventArgs e) { try { bool resul = false; if (e.Appointment.Description == "N") { // validar que una cita no se pueda mover de una sala a otra sala en la misma unidad if (e.NewResourceId.KeyValue.ToString() != e.Appointment.ResourceId.KeyValue.ToString()) { MessageBox.Show("No se permite mover la cita a una sala donde el estudio no pertenece.", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Warning); } else { cs_sapbo sapo = new cs_sapbo(); // validar que una cita no se pueda mover en un horario que ya esta ocupado por otra cita if (sapo.GET_CITAS(e.NewDate.Date, e.NewDate, e.NewResourceId.KeyValue.ToString()).Rows.Count > 0) { MessageBox.Show("No se permite mover la cita en este horario. Ya existe una cita registrada.", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Warning); } else { resul = true; } sapo = null; } } return(resul); } catch (Exception ex) { MessageBox.Show(ex.Message, this.Text, MessageBoxButtons.OK, MessageBoxIcon.Warning); return(false); } }