Antes que nada muy buenas noches a todos.
Les agradeceria si me pueden ayudar con lo siguiente, aclaro que toco muy de oido, recien estoy arrancando.
pego el pedazo de codigo y abajo explico . . .
private void CMD_CITA_Click(object sender, EventArgs e)
{
int i;
string str;
string str1;
DateTime dtm;
i = 0;
if (Operators.CompareString(CBO_TIEMPO.Text, "", false) == 0)
{
Interaction.MsgBox("DEBE ESCOGER EL TIEMPO DE LA VISITA EN EL DESPLEGABLE", MsgBoxStyle.OkOnly, null);
return;
}
str1 = CBO_TIEMPO.Text;
if (Operators.CompareString(str1, "3 meses", false) == 0)
{
i = 3;
}
else if (Operators.CompareString(str1, "6 meses", false) == 0)
{
i = 6;
}
else if (Operators.CompareString(str1, "1 año", false) == 0)
{
i = 12;
}
if (i > 0)
{
for (int i1 = 1; i1 <= (((int)MOD_ACCESO_DATOS.LNG_SCALAR("SELECT EMPLEADOS FROM TBL_DATOS_CONTROL WHERE ACTIVO = -1", ""))); i1++)
{
for (int i2 = 1; i2 <= (((int)MOD_ACCESO_DATOS.LNG_SCALAR("SELECT MAX(ID) FROM TBL_DIETARIO_HORAS", ""))); i2++)
{
str = MOD_ACCESO_DATOS.STR_SCALAR(string.Concat("SELECT HORA FROM TBL_DIETARIO_HORAS WHERE ID = ", Conversions.ToString(i2)), "");
this.SQL_FORM = "SELECT ID FROM TBL_DIETARIO ";
dtm = DateAndTime.DateAdd(DateInterval.Month, ((double)i), DateAndTime.Today);
this.SQL_FORM = string.Concat(this.SQL_FORM, " WHERE FECHA = ", MOD_OPERACIONES.SQL_FORMATO(dtm.ToShortDateString(), 1));
this.SQL_FORM = string.Concat(this.SQL_FORM, " AND HORA = ", MOD_OPERACIONES.SQL_FORMATO(str, 5));
this.SQL_FORM = string.Concat(this.SQL_FORM, " AND EMPLEADO = ", Conversions.ToString(i1));
this.SQL_FORM = "INSERT INTO TBL_DIETARIO(FECHA,HORA,DESCRIPCION,TIEMPO,EMPLEADO) VALUES (";
dtm = DateAndTime.DateAdd(DateInterval.Month, ((double)i), DateAndTime.Today);
this.SQL_FORM = string.Concat(this.SQL_FORM, MOD_OPERACIONES.SQL_FORMATO(dtm.ToShortDateString(), 1), ",");
this.SQL_FORM = string.Concat(this.SQL_FORM, MOD_OPERACIONES.SQL_FORMATO(str, 5), ",");
this.SQL_FORM = string.Concat(new string[] {
this.SQL_FORM,
MOD_OPERACIONES.SQL_FORMATO(string.Concat("CITA DE ", MOD_ACCESO_DATOS.STR_SCALAR(string.Concat("SELECT NOM FROM CS_CLIENTES WHERE ID = ", Conversions.ToString(this.LID_LOCAL)), "")), 6),
",15,",
Conversions.ToString(i1),
")"});
if ((MOD_ACCESO_DATOS.LNG_SCALAR(this.SQL_FORM, "") == 0) && (MOD_ACCESO_DATOS.SQL_QUERY(this.SQL_FORM)))
{
dtm = DateAndTime.DateAdd(DateInterval.Month, ((double)i), DateAndTime.Today);
Interaction.MsgBox(string.Concat("CITA AGENDADA CORRECTAMENTE PARA EL ", dtm.ToShortDateString(), " A LAS: ", str), MsgBoxStyle.OkOnly, null);
return;
}
}
}
}
}
}
}
Lo que hace es lo siguiente, cuando despliego la lista tengo para seleccionar 3 meses, 6 meses o 1 año. Depende cual seleccione me agenda un turno del usuario en el que estoy posicionado en la fecha en la cual seleccione, por ej. si seleccione 3 meses, me agenda un turno del usuario Guillermo en la fecha de hoy contando 3 meses y en el horario 9:00 am, si ese horario ya esta tomado, toma el siguiente que es 09:15 y asi sucesivamente.
Lo que necesito es que no se despliegue esa lista con las 3 opciones 3, 6, o 1 año sino que me muestre el famoso calendario y yo seleccionar el dia que quiera para asignar el turno y que me de la opcion tambien de seleccionar la hora, por ejemplo 09:15 o 15:30, etc.
desde ya muchas gracias a todos.
Si lo desean puedo adjuntar el archivo completo que tiene extencion cs
|