private Appointment AddNewAppointment(DateTime dtInicio, DateTime dtFin, string strDescripcion) { Appointment appointment = new Appointment(); appointment.Id = numId; appointment.StartTime = dtInicio; appointment.EndTime = dtFin; appointment.Subject = "LIBRE"; appointment.Description = ""; appointment.Tooltip = ""; appointment.CategoryColor = Appointment.CategoryBlue; appointment.TimeMarkedAs = Appointment.TimerMarkerFree; appointment.Locked = true; cvCalendario.CalendarModel.Appointments.Add(appointment); clsDetalleDisponibilidad objDetalleDisponibilidad = new clsDetalleDisponibilidad(); objDetalleDisponibilidad._IdDisponibilidad = numIdDisponibilidad; objDetalleDisponibilidad._IdDetalleDisponibilidad = appointment.Id; objDetalleDisponibilidad._Fecha = appointment.StartTime.Date; objDetalleDisponibilidad._HoraInicio = appointment.StartTime; objDetalleDisponibilidad._HoraFin = appointment.EndTime; lstDetalleDisponibilidad.Add(objDetalleDisponibilidad); numId = numId - 1; return (appointment); }
private static List<SqlParameter> crearLista(clsDetalleDisponibilidad objDetalleDisponibilidad) { List<SqlParameter> lstParametrosSQL = new List<SqlParameter>(); SqlParameter sqlParametro; foreach (PropertyInfo pi in objDetalleDisponibilidad.GetType().GetProperties()) { if (pi.CanRead) { if (pi.Name.Substring(0, 1).CompareTo("_") != 0) { sqlParametro = new SqlParameter(); sqlParametro.ParameterName = "@" + pi.Name; sqlParametro.Value = pi.GetValue(objDetalleDisponibilidad, null); sqlParametro.Direction = ParameterDirection.Input; lstParametrosSQL.Add(sqlParametro); } else { continue; } } } return lstParametrosSQL; }
public static DataTable seleccionarDetallesDisponibilidad(clsDetalleDisponibilidad objDetalleDisponibilidad) { List<SqlParameter> lstParametrosSQL = new List<SqlParameter>(); SqlParameter sqlParametro; lstParametrosSQL = crearLista(objDetalleDisponibilidad); sqlParametro = new SqlParameter(); sqlParametro.ParameterName = "@Accion"; sqlParametro.Value = 4; sqlParametro.Direction = ParameterDirection.Input; lstParametrosSQL.Add(sqlParametro); sqlParametro = new SqlParameter(); sqlParametro.ParameterName = "@IdGenerado"; sqlParametro.Value = 0; sqlParametro.Direction = ParameterDirection.Output; lstParametrosSQL.Add(sqlParametro); DataTable dtResultado = clsGestorBD.ejecutarStoredProcedureDataTable("up_ManDetalleDisponibilidad", lstParametrosSQL); return dtResultado; }
public static bool registrarDetalleDisponibilidad(clsDetalleDisponibilidad objDetalleDisponibilidad) { List<SqlParameter> lstParametrosSQL = new List<SqlParameter>(); SqlParameter sqlParametro; lstParametrosSQL = crearLista(objDetalleDisponibilidad); sqlParametro = new SqlParameter(); sqlParametro.ParameterName = "@Accion"; sqlParametro.Value = 0; sqlParametro.Direction = ParameterDirection.Input; lstParametrosSQL.Add(sqlParametro); sqlParametro = new SqlParameter(); sqlParametro.ParameterName = "@IdGenerado"; sqlParametro.Value = 0; sqlParametro.Direction = ParameterDirection.Output; lstParametrosSQL.Add(sqlParametro); int numResultado = clsGestorBD.ejecutarStoredProcedureInt("up_ManDetalleDisponibilidad", lstParametrosSQL); if (numResultado != 0) { return true; } else { return false; } }
private void cargarDisponibilidad() { clsDetalleDisponibilidad objDetalleDisponibilidad = new clsDetalleDisponibilidad(); objDetalleDisponibilidad.FechaElegida = mcCalendario.SelectionStart; objDetalleDisponibilidad.IdDisponibilidadDoctor = numIdDisponibilidad; objDetalleDisponibilidad.DetalleXML = clsComun.Serializar(lstDetalleDisponibilidad); DataTable dtDetalleDisponibilidad = new DataTable(); dtDetalleDisponibilidad = ctrDisponibilidad.seleccionarDetallesDisponibilidad(objDetalleDisponibilidad); for (int i = 0; i < dtDetalleDisponibilidad.Rows.Count; i++) { Appointment appointment = new Appointment(); appointment.Id = Int32.Parse(dtDetalleDisponibilidad.Rows[i]["IdDetalleDisponibilidad"].ToString()); appointment.StartTime = DateTime.Parse(dtDetalleDisponibilidad.Rows[i]["HoraInicio"].ToString()); appointment.EndTime = DateTime.Parse(dtDetalleDisponibilidad.Rows[i]["HoraFin"].ToString()); appointment.Subject = "LIBRE"; appointment.Description = ""; appointment.Tooltip = ""; appointment.CategoryColor = Appointment.CategoryBlue; appointment.TimeMarkedAs = Appointment.TimerMarkerFree; appointment.Locked = true; cvCalendario.CalendarModel.Appointments.Add(appointment); } }
private void btnGuardar_Click(object sender, EventArgs e) { clsDetalleDisponibilidad objDetalleDisponibilidad = new clsDetalleDisponibilidad(); objDetalleDisponibilidad.IdDisponibilidadDoctor = numIdDisponibilidad; objDetalleDisponibilidad.DetalleXML = clsComun.Serializar(lstDetalleDisponibilidad); objDetalleDisponibilidad.ListaEliminados = strListaEliminados; if (ctrDisponibilidad.registrarDetalleDisponibilidad(objDetalleDisponibilidad)) { MessageBox.Show("La disponibilidad se registró exitosamente", "Mensaje", MessageBoxButtons.OK, MessageBoxIcon.Information); } else { if (MessageBox.Show("Ocurrió un error mientras se intentaba registrar la disponibilidad", "Mensaje", MessageBoxButtons.RetryCancel, MessageBoxIcon.Error) != DialogResult.Cancel) { btnGuardar_Click(sender, e); } } lstDetalleDisponibilidad.Clear(); strListaEliminados = ""; cvCalendario.CalendarModel.Appointments.Clear(); cargarDisponibilidad(); }