예제 #1
0
    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>");
        }
    }
예제 #2
0
    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>");
        }
    }
예제 #3
0
    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;
        }
    }
예제 #4
0
    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;
            }
        }
    }
예제 #5
0
    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);
    }
예제 #6
0
    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");
    }
예제 #7
0
    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);
    }
예제 #8
0
    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);
    }
예제 #9
0
    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");
        }
    }