Principales respuestas
Como mostrar fechas disponibles

Pregunta
-
Hola a todos les comento tengo un formulario en el cual lo voy a ocupar para hacer digamos una reservación para que puedan tomar los alumnos una sesión informativa.
Cabe mencionar que utilizo el framework 4 asi como SQL Server 2014
En el formulario del lado del cliente tengo los siguientes campos:
Campo
Tipo
ID
Nombre *
TextBox
txtNombre
Apellidos *
TextBox
txtApellidos
Correo *
TextBox
txtCorreo
Teléfono *
TextBox
txtTel
SESIÓN
RadioButtonList
rblOpciones
Selecciona la fecha *
RadDatePicker
rdpCalendario
Selecciona la hora *
RadTimePicker
rtpHorario
Comentarios
TextBox
txtComenta
Básicamente el formulario guarda todos los datos en una base de datos que se llama DB_AgendaEBS donde la tabla donde guardo los registros se llama Citas y los campos de esta tabla esta en de este tipo:
Nombre de la columna
Tipo de dato
Ope_IdReg
int
primary key (autonumerico)
Ope_Nombre
varchar(100)
Ope_Apellidos
varchar(200)
Ope_Correo
varchar(100)
Ope_Tipo
varchar(10)
Ope_Fecha
date
Ope_Hora
varchar(15)
Ope_Comentarios
text
Ope_FechaReg
date
Ope_Telefono
varchar(15)
Para guardar los datos utilizo una clase llamada clsRegistros y ahí tengo un método que se llama insertaRegistros el cual lo muestro
public void insertaRegistros(string nombre, string apellidos, string correo, string telefono, string tipo,
DateTime fecha, string hora, string comentarios, DateTime factualizada)
{
string query = string.Empty;
query = @"insert into dbo.Citas
(Ope_Nombre, Ope_Apellidos, Ope_Correo, Ope_Telefono, Ope_Tipo, Ope_Fecha, Ope_Hora, Ope_Comentarios, Ope_FechaReg)
values
(@nombre, @apellidos, @correo, @telefono, @tipo, @fecha, @hora, @comentarios, @factualizada)";
using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["AgendaCNX"].ToString()))
{
conn.Open();
SqlCommand cmd = new SqlCommand(query, conn);
cmd.Parameters.AddWithValue("@nombre", nombre);
cmd.Parameters.AddWithValue("@apellidos", apellidos);
cmd.Parameters.AddWithValue("@correo", correo);
cmd.Parameters.AddWithValue("@telefono", telefono);
cmd.Parameters.AddWithValue("@tipo", tipo);
cmd.Parameters.AddWithValue("@fecha", fecha);
cmd.Parameters.AddWithValue("@hora", hora);
cmd.Parameters.AddWithValue("@comentarios", comentarios);
cmd.Parameters.AddWithValue("@factualizada", Convert.ToDateTime(factualizada));
cmd.ExecuteNonQuery();
conn.Close();
}
}
Para realizar la inserción de los datos lo hago de esta manera:
clsRegistros objRegistros = new clsRegistros();
protected void btnEnvia_Click(object sender, EventArgs e)
{
try
{
string nombre = txtNombre.Text;
string apellidos = txtApellidos.Text;
string correo = txtCorreo.Text;
string telefono = txtTel.Text;
string tipo = Convert.ToString(rblOpciones.SelectedItem.Text);
DateTime fecha = rdpCalendario.SelectedDate.Value;
string hora = Convert.ToString(rtpHorario.SelectedDate.Value.ToShortTimeString());
string comentarios = txtComenta.Text;
DateTime factualizada = DateTime.Now;
objRegistros.insertaRegistros(nombre, apellidos, correo, telefono, tipo, fecha, hora, comentarios, factualizada);
string msjEnvia = @"<script type='text/javascript' - input100 validate - input bg1'>
alert('! Se enviaron sus datos correctamente ¡ ');
</script>";
ScriptManager.RegisterStartupScript(this, typeof(Page), "alerta", msjEnvia, false);
}
catch (Exception)
{
string msjError = @"<script type='text/javascript'>
alert('! Error no se puede insertar el registro ¡');
</script>";
ScriptManager.RegisterStartupScript(this, typeof(Page), "alerta", msjError, false);
}
La duda que tengo es que tengo un botón que se llama btnFechas en el cual quiero que cuando le den click muestre las fechas que están disponibles y no las que esten ocupadas.
Respuestas
-
hola cruci
tendrias que hacer metodo en tu clase clsRegistros que pueda llamarse hmmm... FechasDisponiblesRegistros?
public class clsRegistros { .... .. public void FechasDisponiblesRegistros(date fechaDisponibilidad) { query= "select Ope_fecha, Ope_Hora from dbo.citas where
NOT EXISTS (select Ope_fecha from tablaFechas)";//
} }
hacer una consulta o realizar un stored procedure como mejor te parezca y luego llamar este metodo del evento click del boton
public void btnFechas_click() { objRegistros.FechasDisponiblesRegistros(//aca envias el parametro fecha a comparar); }
suerte!
- Propuesto como respuesta Pablo RubioModerator martes, 23 de enero de 2018 17:54
- Marcado como respuesta crucifijo martes, 23 de enero de 2018 21:56