예제 #1
0
 protected void Button1_Click(object sender, EventArgs e)
 {
     WebApplication3.DataSet1TableAdapters.Clientes1TableAdapter adapter1 = new WebApplication3.DataSet1TableAdapters.Clientes1TableAdapter();
     WebApplication3.DataSet1TableAdapters.PagosTableAdapter adapter2 = new WebApplication3.DataSet1TableAdapters.PagosTableAdapter();
     System.Data.DataRow row1 = adapter1.ObtenerClasesActivas(txtCedula.Text).Rows[0];
     string clasesAc = row1["ClasesActivas"].ToString();
     string clasesAd = row1["ClasesAdicionales"].ToString();
     int nClases;
     int mClases;
     nClases = Convert.ToInt32(clasesAc);
     mClases = Convert.ToInt32(clasesAd);
     string fecha = cbxDia.SelectedValue + '/' + cbxMes.SelectedValue + '/' + cbxAno.SelectedValue;
     string fechaV = cbxDia0.SelectedValue + '/' + cbxMes0.SelectedValue + '/' + cbxAno0.SelectedValue;
     try
     {
         txtCedula.Text = cbxNombres.SelectedValue.ToString();
         adapter1.ActualizarClasesActivas(nClases + Convert.ToInt32(txtActivas.Text), mClases + Convert.ToInt32(txtAdicionales.Text), txtCedula.Text);
         adapter1.InsertarPlan(cbxPlan.SelectedItem.ToString(), cbxNivel.SelectedValue, txtFactura.Text, txtCedula.Text);
         adapter1.ActualizarVencimiento(fechaV,txtCedula.Text);
         adapter2.Insert(txtCedula.Text, Convert.ToInt32(cbxPlan.SelectedValue.ToString()) - Convert.ToInt32(txtValor.Text), fecha);
         Response.Redirect("Administrador.aspx");
     }
     catch(Exception ex)
     {
         ScriptManager.RegisterStartupScript(this, this.GetType(), "alertIns", "alert('Ocurrió un error asegurese de haber elegido el nombre de la alumna y/o la fecha de pago ');", true);
     }
 }
예제 #2
0
        protected void ContactsGridView_RowCommand(Object sender, GridViewCommandEventArgs e)
        {
            WebApplication3.DataSet1TableAdapters.Clientes1TableAdapter adapter1 = new WebApplication3.DataSet1TableAdapters.Clientes1TableAdapter();

            if (e.CommandName == "Reservar")
            {
                int index = Convert.ToInt32(e.CommandArgument);
                GridViewRow row = ContactsGridView.Rows[index];

                WebApplication3.DataSet1TableAdapters.Clases_InscritasTableAdapter adapter = new WebApplication3.DataSet1TableAdapters.Clases_InscritasTableAdapter();
                WebApplication3.DataSet1TableAdapters.ClasesTableAdapter adapter4 = new WebApplication3.DataSet1TableAdapters.ClasesTableAdapter();

                System.Data.DataRow row1 = adapter1.ObtenerClasesActivas(Session["Cedula"].ToString()).Rows[0];
                string clases = row1["ClasesActivas"].ToString();
                int nClases;
                nClases = Convert.ToInt32(clases);

                if (nClases > 0)
                {
                    try
                    {
                        DateTime fechaEs = Convert.ToDateTime(row.Cells[1].Text);

                        if (fechaEs.Year >= DateTime.Now.Year)
                        {
                            if (fechaEs.Month >= DateTime.Now.Month)
                            {
                                if (fechaEs.Day > DateTime.Now.Day)
                                {
                                    System.Data.DataRow row2 = adapter4.ObtenerCodigo(row.Cells[3].Text, row.Cells[1].Text, row.Cells[2].Text).Rows[0];
                                    System.Data.DataRow row3 = adapter4.ObtenerDocente(row.Cells[3].Text, row.Cells[1].Text, row.Cells[2].Text).Rows[0];
                                    string docente = row3["Docente"].ToString();
                                    int codigo = Convert.ToInt32(row2["Codigo"].ToString());
                                    if (Convert.ToInt32(row2["Tomados"]) == 0)
                                        ScriptManager.RegisterStartupScript(this, this.GetType(), "alertIns", "alert('Usted es la primera persona en registrarse, tenga en cuenta que esta clase puede ser cancelada si no cumple el minimo de asistentes, si es así se le notificará en 30 min');", true);
                                    if (Convert.ToInt32(row2["Tomados"]) < Convert.ToInt32(row2["Cupos"]))
                                    {
                                        adapter.Insert(Label3.Text, row.Cells[3].Text, row.Cells[1].Text, row.Cells[2].Text, codigo, 0);
                                        adapter4.ActualizarCupo(Convert.ToInt32(row2["Tomados"]) + 1, codigo);
                                        string clasesAd = row1["ClasesAdicionales"].ToString();
                                        int nClasesAd;
                                        nClases = Convert.ToInt32(clases) - 1;
                                        nClasesAd = Convert.ToInt32(clasesAd);
                                        adapter1.ActualizarClasesActivas(nClases, nClasesAd, Session["Cedula"].ToString());
                                        adapter.ActualizarDocentes(docente, row.Cells[3].Text, row.Cells[1].Text, row.Cells[2].Text);
                                        GridView1.DataBind();
                                        DetailsView1.DataBind();
                                        ScriptManager.RegisterStartupScript(this, this.GetType(), "alertIns", "alert('La Clase fue Reservada correctamente');", true);

                                    }
                                    else
                                        ScriptManager.RegisterStartupScript(this, this.GetType(), "alertIns", "alert('NO puede reservar esta clase porque no existen cupos');", true);
                                }
                                else
                                {
                                    if (fechaEs.Day == DateTime.Now.Day)
                                    {
                                        string hoy = DateTime.Now.ToShortTimeString();
                                        string[] HoraActual = DateTime.Now.ToShortTimeString().Split(':');
                                        string[] HoraEsc = row.Cells[2].Text.Split(':');
                                        int horaNumero;

                                        char[] MyChar = { ' ', 'p', '.', 'm', 'a' };
                                        string horaMinutoActual = HoraActual[1].TrimEnd(MyChar);

                                        if ((HoraActual[1].Contains("p.m")) && (Convert.ToInt32(HoraActual[0]) != 12))
                                        {
                                            horaNumero = Convert.ToInt32(HoraActual[0]) + 12;
                                            HoraActual[0] = horaNumero.ToString();
                                        }

                                        int horasS = Int32.Parse(HoraActual[0]);
                                        int horasE = Int32.Parse(HoraEsc[0]);

                                        if (horasE >= horasS)
                                        {
                                            System.Data.DataRow row2 = adapter4.ObtenerCodigo(row.Cells[3].Text, row.Cells[1].Text, row.Cells[2].Text).Rows[0];
                                            System.Data.DataRow row3 = adapter4.ObtenerDocente(row.Cells[3].Text, row.Cells[1].Text, row.Cells[2].Text).Rows[0];
                                            string docente = row3["Docente"].ToString();
                                            int codigo = Convert.ToInt32(row2["Codigo"].ToString());
                                            if (Convert.ToInt32(row2["Tomados"]) == 0)
                                                ScriptManager.RegisterStartupScript(this, this.GetType(), "alertIns", "alert('Usted es la primera persona en registrarse, tenga en cuenta que esta clase puede ser cancelada si no cumple el minimo de asistentes, si es así se le notificará en 30 min');", true);
                                            if (Convert.ToInt32(row2["Tomados"]) < Convert.ToInt32(row2["Cupos"]))
                                            {
                                                adapter.Insert(Label3.Text, row.Cells[3].Text, row.Cells[1].Text, row.Cells[2].Text, codigo, 0);
                                                adapter4.ActualizarCupo(Convert.ToInt32(row2["Tomados"]) + 1, codigo);
                                                string clasesAd = row1["ClasesAdicionales"].ToString();
                                                int nClasesAd;
                                                nClases = Convert.ToInt32(clases) - 1;
                                                nClasesAd = Convert.ToInt32(clasesAd);
                                                adapter1.ActualizarClasesActivas(nClases, nClasesAd, Session["Cedula"].ToString());
                                                adapter.ActualizarDocentes(docente, row.Cells[3].Text, row.Cells[1].Text, row.Cells[2].Text);
                                                GridView1.DataBind();
                                                DetailsView1.DataBind();
                                                ScriptManager.RegisterStartupScript(this, this.GetType(), "alertIns", "alert('La Clase fue Reservada correctamente');", true);
                                            }
                                            else
                                                ScriptManager.RegisterStartupScript(this, this.GetType(), "alertIns", "alert('NO puede reservar esta clase porque no existen cupos');", true);
                                        }
                                        else
                                        {
                                            if ((Convert.ToInt32(horaMinutoActual)) > (Convert.ToInt32(HoraEsc[1]) + 15))
                                            {
                                                System.Data.DataRow row2 = adapter4.ObtenerCodigo(row.Cells[3].Text, row.Cells[1].Text, row.Cells[2].Text).Rows[0];
                                                System.Data.DataRow row3 = adapter4.ObtenerDocente(row.Cells[3].Text, row.Cells[1].Text, row.Cells[2].Text).Rows[0];
                                                string docente = row3["Docente"].ToString();
                                                int codigo = Convert.ToInt32(row2["Codigo"].ToString());
                                                if (Convert.ToInt32(row2["Tomados"]) == 0)
                                                    ScriptManager.RegisterStartupScript(this, this.GetType(), "alertIns", "alert('Usted es la primera persona en registrarse, tenga en cuenta que esta clase puede ser cancelada si no cumple el minimo de asistentes, si es así se le notificará en 30 min');", true);
                                                if (Convert.ToInt32(row2["Tomados"]) < Convert.ToInt32(row2["Cupos"]))
                                                {
                                                    adapter.Insert(Label3.Text, row.Cells[3].Text, row.Cells[1].Text, row.Cells[2].Text, codigo, 0);
                                                    adapter4.ActualizarCupo(Convert.ToInt32(row2["Tomados"]) + 1, codigo);
                                                    string clasesAd = row1["ClasesAdicionales"].ToString();
                                                    int nClasesAd;
                                                    nClases = Convert.ToInt32(clases) - 1;
                                                    nClasesAd = Convert.ToInt32(clasesAd);
                                                    adapter1.ActualizarClasesActivas(nClases, nClasesAd, Session["Cedula"].ToString());
                                                    adapter.ActualizarDocentes(docente, row.Cells[3].Text, row.Cells[1].Text, row.Cells[2].Text);
                                                    GridView1.DataBind();
                                                    DetailsView1.DataBind();
                                                    ScriptManager.RegisterStartupScript(this, this.GetType(), "alertIns", "alert('La Clase fue Reservada correctamente');", true);
                                                }
                                                else
                                                    ScriptManager.RegisterStartupScript(this, this.GetType(), "alertIns", "alert('NO puede reservar esta clase porque no existen cupos');", true);
                                            }
                                            else
                                                ScriptManager.RegisterStartupScript(this, this.GetType(), "alertIns", "alert('NO puede reservar esta clase');", true);
                                        }

                                    }
                                    else
                                        ScriptManager.RegisterStartupScript(this, this.GetType(), "alertIns", "alert('NO puede reservar esta clase');", true);
                                }
                            }
                            else
                            {
                                ScriptManager.RegisterStartupScript(this, this.GetType(), "alertIns", "alert('NO puede reservar esta clase');", true);
                            }
                        }
                        else
                        {
                            ScriptManager.RegisterStartupScript(this, this.GetType(), "alertIns", "alert('NO puede reservar esta clase');", true);
                        }
                    }
                    catch (Exception ex)
                    {
                        ScriptManager.RegisterStartupScript(this, this.GetType(), "alertIns", "alert('Ya tiene una clase el mismo día a la misma hora');", true);
                    }
                }
                else
                {
                    ScriptManager.RegisterStartupScript(this, this.GetType(), "alertIns", "alert('Usted no tiene clases activas en este momento');", true);
                }
            }
            if (e.CommandName == "Cancelar")
            {
                WebApplication3.DataSet1TableAdapters.Clases_InscritasTableAdapter adapter = new WebApplication3.DataSet1TableAdapters.Clases_InscritasTableAdapter();
                WebApplication3.DataSet1TableAdapters.HistoricoTableAdapter adapter2 = new WebApplication3.DataSet1TableAdapters.HistoricoTableAdapter();
                WebApplication3.DataSet1TableAdapters.ClasesTableAdapter adapter4 = new WebApplication3.DataSet1TableAdapters.ClasesTableAdapter();

                try
                {
                    int index = Convert.ToInt32(e.CommandArgument);
                    GridViewRow row = GridView1.Rows[index];

                    System.Data.DataRow row2 = adapter4.ObtenerCodigo(row.Cells[1].Text, row.Cells[3].Text, row.Cells[2].Text).Rows[0];
                    int codigo = Convert.ToInt32(row2["Codigo"].ToString());

                    DateTime fech = DateTime.Now;
                    string fechacom = fech.ToShortDateString();
                    DateTime fecha = Convert.ToDateTime(fechacom);
                    string[] HoraSer = DateTime.Now.ToShortTimeString().Split(':');
                    string[] HoraEsc = row.Cells[2].Text.Split(':');
                    DateTime fechaEs = Convert.ToDateTime(row.Cells[3].Text);
                    int horaNumero = 0;

                    if (HoraSer[1].Contains("p.m"))
                    {
                        horaNumero = Convert.ToInt32(HoraSer[0]) + 12;
                        HoraSer[0] = horaNumero.ToString();
                    }

                    //<JG> convierte a formato 24 horas, por configuracion regional el formato por defecto es (a.m - p.m)
                    string[] arrayHoraClaseActual = DateTime.Now.ToString("HH:mm").Split(':');
                    int horasActual = Int32.Parse(arrayHoraClaseActual[0]);
                    int minutosActual = Int32.Parse(arrayHoraClaseActual[1]);
                    //</JG>

                    int horasE = Int32.Parse(HoraEsc[0]);
                    int minutosE = Int32.Parse(HoraEsc[1]);

                    if (fechaEs.Year >= fech.Year)
                    {
                        if (fechaEs.Month >= fech.Month)
                        {
                            if (fechaEs.Day == fech.Day)
                            {

                                //<JG> verifica que se pueda cancelar con 3 horas (180 minutos) de anticipacion

                                int diferenciaMinutos = ObtenerDiferenciaMinutos(horasE, minutosE, horasActual, minutosActual);

                                //<JG> validacion anterior
                                //if ((horaNumero + 4) <= Convert.ToInt32(HoraEsc[0]))
                                if (diferenciaMinutos > 180)
                                {
                                    adapter2.Insert(row.Cells[1].Text, row.Cells[3].Text, row.Cells[2].Text, Label3.Text);
                                    adapter.EliminarClase(Label3.Text, row.Cells[1].Text, row.Cells[3].Text, row.Cells[2].Text);
                                    System.Data.DataRow row1 = adapter1.ObtenerClasesActivas(Label3.Text).Rows[0];
                                    adapter4.ActualizarCupo(Convert.ToInt32(row2["Tomados"]) - 1, codigo);
                                    string clases = row1["ClasesActivas"].ToString();
                                    string clases2 = row1["ClasesAdicionales"].ToString();
                                    int nClases;
                                    int mClases;
                                    nClases = Convert.ToInt32(clases) + 1;
                                    mClases = Convert.ToInt32(clases);
                                    adapter1.ActualizarClasesActivas(nClases, mClases, Label3.Text);
                                    //Response.Redirect("Reservas.aspx");
                                    ScriptManager.RegisterStartupScript(this, this.GetType(), "alertIns", "alert('La Clase fue cancelada correctamente');", true);
                                    GridView1.DataBind();
                                    DetailsView1.DataBind();
                                }
                                else
                                {
                                    lblMensaje.Visible = false;
                                    ScriptManager.RegisterStartupScript(this, this.GetType(), "alertIns", "alert('La clase no se puede cancelar, porque faltan menos de 3 horas para comenzar.  ');", true);
                                }
                            }
                            else
                            {
                                if (fechaEs.Day > fech.Day)
                                {
                                    adapter.EliminarClase(Label3.Text, row.Cells[1].Text, row.Cells[3].Text, row.Cells[2].Text);
                                    ScriptManager.RegisterStartupScript(this, this.GetType(), "alertIns", "alert('La Clase fue cancelada correctamente');", true);
                                    //Response.Redirect("Reservas.aspx");
                                    System.Data.DataRow row1 = adapter1.ObtenerClasesActivas(Label3.Text).Rows[0];
                                    adapter4.ActualizarCupo(Convert.ToInt32(row2["Tomados"]) - 1, codigo);
                                    string clases = row1["ClasesActivas"].ToString();
                                    string clases2 = row1["ClasesAdicionales"].ToString();
                                    int nClases;
                                    int mClases;
                                    nClases = Convert.ToInt32(clases) + 1;
                                    mClases = Convert.ToInt32(clases);
                                    adapter1.ActualizarClasesActivas(nClases, mClases, Label3.Text);
                                    //Response.Redirect("Reservas.aspx");
                                    ScriptManager.RegisterStartupScript(this, this.GetType(), "alertIns", "alert('La Clase fue cancelada correctamente');", true);
                                    GridView1.DataBind();
                                    DetailsView1.DataBind();
                                }
                                else
                                {
                                    lblMensaje.Visible = false;
                                    ScriptManager.RegisterStartupScript(this, this.GetType(), "alertIns", "alert('Esta clase ya finalizó, comuniquese con el Administrador');", true);
                                }
                            }
                        }
                        else
                        {
                            lblMensaje.Visible = false;
                            ScriptManager.RegisterStartupScript(this, this.GetType(), "alertIns", "alert('Esta clase ya finalizó, comuniquese con el Administrador');", true);
                        }
                    }
                    else
                    {
                        lblMensaje.Visible = false;
                        ScriptManager.RegisterStartupScript(this, this.GetType(), "alertIns", "alert('Esta clase ya finalizó, comuniquese con el Administrador');", true);
                    }
                }
                catch (Exception ex)
                {
                    ScriptManager.RegisterStartupScript(this, this.GetType(), "alertIns", "alert('Error, trantanto de cancelar reserva. "+ex.Message +"');", true);
                }
            }
        }