protected void btnAgregarCita_Click(object sender, EventArgs e) { try { DateTime Date = new DateTime(01 / 01 / 0001); DateTime finicio = new DateTime(); finicio = Convert.ToDateTime(txtFecha.Text).AddHours(Convert.ToDouble(txtHora.Text)); if (finicio.ToShortDateString() != Date.ToShortDateString() && txtHora.Text != "") { csCita Cita = new csCita(); Cita.IdCoordinador = Convert.ToInt32(Session["IdCarrera"]); Cita.FechaDisponible = finicio; Cita.Estado = 0; (new csCitaHandler()).AddNewCita(Cita); Response.Redirect("~\\AgregarCita.aspx"); } else { Response.Write(@"<script language = 'javascript'>alert('Llene todos los campos.') </script>"); } } catch (Exception ex) { Response.Write(@"<script language = 'javascript'>alert('Error al dar de alta la cita. Verefique los datos.') </script>"); } }
private void GenerateDates(DateTime xfInicio, int xdias, double xhoraFinal, double xintervalo) { DateTime Date = new DateTime(01 / 01 / 0001); DateTime fInicio = xfInicio; csCita Cita = new csCita(); try { for (int i = 1; i <= xdias; i++) { for (int j = fInicio.Hour; j < xhoraFinal;) { Cita.IdCoordinador = Convert.ToInt32(Session["IdCarrera"]); Cita.FechaDisponible = fInicio; Cita.Estado = 0; fInicio = fInicio.AddMinutes(xintervalo); j = fInicio.Hour; (new csCitaHandler()).AddNewCita(Cita); } fInicio = xfInicio; fInicio = fInicio.AddDays(i); } Response.Redirect("~\\AgregarCita.aspx"); } catch (Exception ex) { Response.Write(@"<script language = 'javascript'>alert('Error al dar de alta la cita. Verefique los datos.') </script>"); } }
public void UpdateCita(csCita Cita) { String ConnectionString = ConfigurationManager.ConnectionStrings["dbProyectoCoordinacion"].ConnectionString; SqlConnection Connection = new SqlConnection(ConnectionString); try { Connection.Open(); String Query = "update tbCitas set IdUsuario = @IdUsuario, FechaAgendada = @FechaAgendada, Disponible = @Disponible, Comentario = @Comentario;"; SqlParameter[] Data = new SqlParameter[4]; Data[0] = new SqlParameter("@IdUsuario", Cita.IdUsuario); Data[0].DbType = DbType.Int32; Data[1] = new SqlParameter("@FechaAgendada", Cita.FechaAgendada); Data[1].DbType = DbType.DateTime; Data[2] = new SqlParameter("@Disponible", Cita.Estado); Data[2].DbType = DbType.Int32; Data[3] = new SqlParameter("@Comentario", Cita.Comentario); Data[3].DbType = DbType.String; SqlCommand Command = new SqlCommand(Query, Connection); Command.Parameters.AddRange(Data); Command.ExecuteReader(); } catch (Exception ex) { LogError(ex.Message); } finally { Connection.Close(); Connection = null; } }
public void AddNewCita(csCita Cita) { String ConnectionString = ConfigurationManager.ConnectionStrings["dbProyectoCoordinacion"].ConnectionString; SqlConnection Connection = new SqlConnection(ConnectionString); if (Cita.FechaDisponible >= DateTime.Now && CheckDate(Cita.FechaDisponible)) { try { Connection.Open(); SqlParameter[] Data = new SqlParameter[2]; Data[0] = new SqlParameter("@IdCoordinador", Cita.IdCoordinador); Data[0].DbType = DbType.Int32; Data[1] = new SqlParameter("@FechaDisponible", Cita.FechaDisponible); Data[1].DbType = DbType.Date; String Query = "insert into tbCitas (IdCoordinador, FechaDisponible) values (@IdCoordinador, @FechaDisponible);"; SqlCommand Command = new SqlCommand(Query, Connection); Command.Parameters.AddRange(Data); Command.ExecuteReader(); } catch (Exception ex) { LogError(ex.Message + ex.StackTrace); } finally { Connection.Close(); Connection = null; } } }
public List <csCita> GetListCitas(int idCarrera, DateTime dateTime) { List <csCita> listCita = new List <csCita>(); String ConnectionString = ConfigurationManager.ConnectionStrings["dbProyectoCoordinacion"].ConnectionString; SqlConnection Connection = new SqlConnection(ConnectionString); try { Connection.Open(); //String Query = "select * from tbCitas where IdAdministrador = @IdAdministrador and Disponible = 1;"; SqlParameter[] Data = new SqlParameter[2]; Data[0] = new SqlParameter("@IdCarrera", idCarrera); Data[0].DbType = DbType.Int32; Data[1] = new SqlParameter("@FechaDisponible", dateTime); Data[1].DbType = DbType.DateTime; String Query = "select * from tbCitas where IdCoordinador = @IdCarrera and FechaDisponible > @FechaDisponible and Estado = 0 order by FechaDisponible asc;"; SqlCommand Command = new SqlCommand(Query, Connection); Command.Parameters.AddRange(Data); SqlDataReader DataReader = Command.ExecuteReader(); while (DataReader.Read()) { csCita Cita = new csCita(); Cita.LoadEventFromDataReader(DataReader); listCita.Add(Cita); } DataReader.Close(); } catch (Exception ex) { LogError(ex.Message + ex.StackTrace); } finally { Connection.Close(); Connection = null; } return(listCita); }
protected void GridViewCitas_SelectedIndexChanged(object sender, EventArgs e) { csCita Cita = new csCita(); //Cita.IdCita = Convert.ToInt32(GridViewCitas.DataKeys[GridViewCitas.SelectedRow.RowIndex].Value); Cita.IdUsuario = Convert.ToInt32(Session["IdUsuario"]); Cita.FechaAgendada = DateTime.Now; Cita.Estado = 1; //int idMotivo = Convert.ToInt32(DropDListMotivos.SelectedItem.Value); //int checkCita = (new csCitaHandler()).CheckCitaAndAddCitaMotivo(Cita, idMotivo); //if (checkCita == 1) // Response.Redirect("IndexAlumno.aspx?Cita=ex"); //else if (checkCita == 0) // Response.Redirect("IndexAlumno.aspx?Cita=err"); //else if (checkCita == 2) // Response.Redirect("IndexAlumno.aspx?Cita=pen"); }
public csCita GetCita(int IdUsuario, int estadoCita) { csCita Citas = new csCita(); String ConnectionString = ConfigurationManager.ConnectionStrings["dbProyectoCoordinacion"].ConnectionString; SqlConnection Connection = new SqlConnection(ConnectionString); try { Connection.Open(); SqlParameter[] Data = new SqlParameter[2]; Data[0] = new SqlParameter("@IdUsuario", IdUsuario); Data[0].DbType = DbType.Int32; Data[1] = new SqlParameter("@Estado", estadoCita); Data[1].DbType = DbType.Int32; String Query = "select * from tbCitas where IdUsuario = @IdUsuario and Estado = @Estado;"; SqlCommand Command = new SqlCommand(Query, Connection); Command.Parameters.AddRange(Data); SqlDataReader DataReader = Command.ExecuteReader(); if (DataReader.Read()) { Citas.LoadEventFromDataReader(DataReader); } } catch (Exception ex) { LogError(ex.Message + ex.StackTrace); } finally { Connection.Close(); Connection = null; } return(Citas); }
public int CheckCitaAndAddCitaMotivo(csCita Cita, int IdMotivo) { int checkCita = 0; // 0 se la ganaron, 1 se agendo, 2 ya tiene una cita String ConnectionString = ConfigurationManager.ConnectionStrings["dbProyectoCoordinacion"].ConnectionString; SqlConnection Connection = new SqlConnection(ConnectionString); try { Connection.Open(); SqlParameter Data = new SqlParameter("@IdCita", Cita.IdCita); Data.DbType = DbType.Int32; String Query = "select * from tbCitas where IdCita = @IdCita and Estado = 0;"; SqlCommand Command = new SqlCommand(Query, Connection); Command.Parameters.Add(Data); SqlDataReader DataReader = Command.ExecuteReader(); if (DataReader.Read()) { DataReader.Dispose(); Data = new SqlParameter("@IdUsuario", Cita.IdUsuario); Data.DbType = DbType.Int32; Query = "select * from tbCitas where IdUsuario = @IdUsuario and Estado = 1;"; Command = new SqlCommand(Query, Connection); Command.Parameters.Add(Data); DataReader = Command.ExecuteReader(); if (DataReader.Read()) { checkCita = 2; } else { DataReader.Dispose(); SqlParameter[] _Data = new SqlParameter[4]; _Data[0] = new SqlParameter("@IdUsuario", Cita.IdUsuario); _Data[0].DbType = DbType.Int32; _Data[1] = new SqlParameter("@FechaAgendada", Cita.FechaAgendada); _Data[1].DbType = DbType.DateTime; _Data[2] = new SqlParameter("@Estado", Cita.Estado); _Data[2].DbType = DbType.Int32; _Data[3] = new SqlParameter("@IdCita", Cita.IdCita); _Data[3].DbType = DbType.Int32; Query = "update tbCitas set IdUsuario = @IdUsuario, FechaAgendada = @FechaAgendada, Estado = @Estado where IdCita = @IdCita;"; Command = new SqlCommand(Query, Connection); Command.Parameters.AddRange(_Data); DataReader = Command.ExecuteReader(); _Data = new SqlParameter[2]; _Data[0] = new SqlParameter("@IdMotivo", IdMotivo); _Data[0].DbType = DbType.Int32; _Data[1] = new SqlParameter("@IdCita", Cita.IdCita); _Data[1].DbType = DbType.Int32; DataReader.Dispose(); Query = "insert into tbRelacionMotivosCitas (IdCita, IdMotivo) values (@IdCita, @IdMotivo);"; Command = new SqlCommand(Query, Connection); Command.Parameters.AddRange(_Data); DataReader = Command.ExecuteReader(); DataReader.Dispose(); checkCita = 1; } } } catch (Exception ex) { LogError(ex.Message); } finally { Connection.Close(); Connection = null; } return(checkCita); }
protected void Page_Load(object sender, EventArgs e) { if (Session["IdUsuario"] != null && Session["IdRol"] != null) { if (Convert.ToInt32(Session["IdRol"]) == 2) { result = bool.TryParse(Request["Logout"], out result); if (result) { Session["IdUsuario"] = null; Session["IdRol"] = null; Session["IdCarrera"] = null; Response.Redirect("~\\Login.aspx"); } else if (Request["Cita"] != null) { if (Request["Cita"] == "err") { Response.Write(@"<script language = 'javascript'>alert('Esta cita ya esta ocupada. Seleccione otra.') </script>"); } else if (Request["Cita"] == "ex") { Response.Write(@"<script language = 'javascript'>alert('Cita agendada Exitosamente.') </script>"); } else if (Request["Cita"] == "pen") { Response.Write(@"<script language = 'javascript'>alert('Ya tienes una cita pendiente.') </script>"); } } else if (Request["De"] != null) { if (Request["De"] == "ex") { Response.Write(@"<script language = 'javascript'>alert('Cita eliminada con exito.') </script>"); } if (Request["De"] == "err") { Response.Write(@"<script language = 'javascript'>alert('Error al eliminar la cita.') </script>"); } } else if (Request["Exp"] != null) { result = bool.TryParse(Request["Logout"], out result); if (result) { Response.Write(@"<script language = 'javascript'>alert('Tu cita ya expiro.') </script>"); } else { Response.Write(@"<script language = 'javascript'>alert('Tu cita ya expiro.') </script>"); } } csCitaHandler CitaHandler = new csCitaHandler(); csUsuario Usuario = (new csUsuarioHandler()).GetUsuario(Convert.ToInt32(Session["IdUsuario"])); //lblnombre.Text = "Alumno: " + Usuario.Nombre + " " + Usuario.Apellidos + "."; //lblNumControl.Text = "Numero de Control: " + Usuario.IdUsuario + "."; estadoCita = 1; //Agendada csCita Cita = CitaHandler.GetCita(Convert.ToInt32(Session["IdUsuario"]), estadoCita); if (Cita.Estado == 1) { if (DateTime.Now > Cita.FechaDisponible) { estadoCita = 3; //Update cita con error. if (!(CitaHandler.Delete(Cita.IdCita, estadoCita))) { Response.Redirect("~//IndexAlumno.aspx?Exp=true"); } else { Response.Redirect("~//IndexAlumno.aspx?Logout=true"); } } else { //lblPDiaCita.Text = "Fecha: " + Cita.FechaDisponible.ToString("dd / MM / yyyy"); //lblPHoraCita.Text = "Hora: " + Cita.FechaDisponible.ToString("t"); //btnEliminarCita.Visible = true; //GridViewCitas.Visible = false; //DropDListMotivos.Visible = false; } } else { //lblPDiaCita.Text = "Ningun pendiente."; //lblPHoraCita.Text = ""; //btnEliminarCita.Visible = false; //GridViewCitas.Visible = true; //DropDListMotivos.Visible = true; List <csCita> listCita = CitaHandler.GetListCitas(Usuario.IdCarrera, DateTime.Now); dt = new DataTable(); dt.Columns.Add("Apartar"); dt.Columns.Add("NumeroCita"); dt.Columns.Add("Hora"); dt.Columns.Add("Dia"); for (int y = 0; y < listCita.Count; y++) { DataRow dr = dt.NewRow(); dr["Apartar"] = listCita[y].IdCita.ToString(); dr["NumeroCita"] = listCita[y].IdCita.ToString(); dr["Hora"] = listCita[y].FechaDisponible.ToString("t"); dr["Dia"] = listCita[y].FechaDisponible.ToString("dd / MM / yyyy"); dt.Rows.Add(dr); } //GridViewCitas.DataSource = dt; //GridViewCitas.DataBind(); //DataTable Dt = new DataTable(); //DataView Dv = default(DataView); //Dv = (DataView)SqlDataDropDListMotivos.Select(DataSourceSelectArguments.Empty); //Dt = Dv.ToTable(); //DropDListMotivos.Items.Clear(); //for (int i = 0; i < Dt.Rows.Count; i++) //{ // //DropDListMotivos.Items.Add("op" + i.ToString()); // DropDListMotivos.Items.Add(Dt.Rows[i]["Motivo"].ToString()); // DropDListMotivos.Items[i].Value = Dt.Rows[i]["IdMotivo"].ToString(); // DropDListMotivos.Items[i].Text = Dt.Rows[i]["Motivo"].ToString(); //} } } else { Response.Redirect("~\\IndexAdmin.aspx"); } } else { Response.Redirect("~\\Login.aspx"); } }