protected void Button8_Click(object sender, EventArgs e)
    {
        UReserva     datos = new UReserva();
        UReservation dato  = new UReservation();
        LUser        user  = new LUser();



        dato.Dia = TB_Fecha.Text.ToString() + ' ' + int.Parse(DDL_Hora.SelectedItem.ToString()) + ":00";

        dato.Id_mesa = int.Parse(DDL_Cantp.SelectedValue.ToString());
        datos.A      = Session["confirmacion"].ToString();
        datos.B      = Session["men1"].ToString();
        datos.C      = Session["men2"].ToString();
        datos.D      = Session["men3"].ToString();
        try
        {
            dato.Id_usuario = int.Parse(Session["user_id"].ToString());
            datos.Nombre    = Session["nombre"].ToString();

            datos = user.Reserva(datos, dato);
            this.RegisterStartupScript("mensaje", datos.Mensaje);
            System.Data.DataTable regis = user.ToDataTable(user.obtenerAres());
            String esquema = "usuario";
            String tabla   = "reservas";
            String pk      = Session["nombre"].ToString();
            String session = Session.SessionID;
            user.insert(regis, esquema, tabla, pk, session);
        }
        catch
        {
            datos = user.Reserva(datos, dato);
            this.RegisterStartupScript("mensaje", datos.Mensaje);
        }
    }
    protected void BT_Pagar_Click(object sender, EventArgs e)
    {
        ClientScriptManager cm      = this.ClientScript;
        L_Persistencia      user    = new L_Persistencia();
        UReservation        datos   = new UReservation();
        UReserva            mensaje = new UReserva();


        datos.Id_usuario = int.Parse(Session["user_id"].ToString());
        mensaje.Mensaje  = Session["men"].ToString();
        mensaje          = user.pago(datos, mensaje);
        this.RegisterStartupScript("mensaje", mensaje.Mensaje);

        Session["user_id"] = null;
    }
    public UReserva Reserva(String fecha, String hora, Int32 cantidad, String data)
    {
        try
        {
            if (SoapHeader == null)
            {
                throw new Exception("Requiere validacion");
            }

            if (!SoapHeader.blCredencialesValidas(SoapHeader))
            {
                throw new Exception("Requiere validacion");
            }

            UReserva            datos   = new UReserva();
            UReservation        dato    = new UReservation();
            LUser               user    = new LUser();
            UEmpleados          usuario = new UEmpleados();
            UUsuario            usu     = new UUsuario();
            LUsuario            regi    = new LUsuario();
            ClientScriptManager cm      = this.ClientScript;

            String json = data;

            Object    jobject = JsonConvert.DeserializeObject <Object>(json);
            DataTable regis   = new DataTable();
            usuario = JsonConvert.DeserializeObject <UEmpleados>(json);
            //DataTable regis = user.ToDataTable(reg);

            usuario.Telefono = "1234";
            usuario.Cedula   = "1234";
            usuario.Puntos   = 0;
            usuario.Id_Rol   = 4;
            usuario.Sesiones = 0;
            usuario.Intentos = 0;
            usuario.Session  = "a";

            String dia = fecha + ' ' + hora + ":00";
            dato.Dia     = dia;
            dato.Id_mesa = cantidad;
            datos.A      = "Para Confirmar su reseva,por favor pague el valor de la reserva";
            datos.B      = "No puede reservas si no esta Logueado";
            datos.C      = "Ya existe un token, por favor verifique su correo.";
            datos.D      = "La Reserva no existe";
            try
            {
                DataTable dat = user.verificarRes(usuario.User_Name1);
                if (int.Parse(dat.Rows.Count.ToString()) > 0)
                {
                    dato.Id_usuario = int.Parse(dat.Rows[0]["user_id"].ToString());
                    datos.Nombre    = dat.Rows[0]["user_name1"].ToString();

                    datos = user.Rserva(datos, dato);
                }
                else
                {
                    usu.Mensaje   = "";
                    usu.Extension = "";
                    usu           = regi.insertUsuario(usuario, usu);

                    DataTable rese = user.verificarRes(usuario.User_Name1);
                    dato.Id_usuario = int.Parse(rese.Rows[0]["user_id"].ToString());
                    datos.Nombre    = rese.Rows[0]["user_name1"].ToString();
                    datos           = user.Rserva(datos, dato);
                    //cm.RegisterClientScriptBlock(this.GetType(), "", datos.Mensaje);
                }
            }
            catch
            {
                datos = user.Rserva(datos, dato);
                //this.RegisterStartupScript("mensaje", datos.Mensaje);
            }

            return(datos);
        }
        catch (Exception ex) { throw ex; }
    }
        public UReserva pago(UReservation datos, UReserva mensaje)
        {
            DUser        user    = new DUser();
            UReserva     data    = new UReserva();
            UTokenRe     token   = new UTokenRe();
            UReservation reserva = new UReservation();
            UEmpleados   usuario = new UEmpleados();
            Mesas        mesa    = new Mesas();

            System.Data.DataTable validez1 = ToDataTable(user.obtenerReser(datos));
            datos.Dia = validez1.Rows[0]["dia"].ToString();
            System.Data.DataTable val = ToDataTable(user.obtenerRes(datos));
            if (val.Rows.Count == 0)
            {
                data.Id_reserva = int.Parse(validez1.Rows[0]["id_reserva"].ToString());
                data.Id_usuario = int.Parse(validez1.Rows[0]["id_usuario"].ToString());
                System.Data.DataTable validez2 = ToDataTable(user.obtenTokenre(data));
                token.Id             = int.Parse(validez2.Rows[0]["id"].ToString());
                token.Reserva_id     = int.Parse(validez2.Rows[0]["reserva_id"].ToString());
                token.Token          = validez2.Rows[0]["token"].ToString();
                token.Fecha_creado   = DateTime.Parse(validez2.Rows[0]["fecha_creado"].ToString());
                token.Fecha_vigencia = DateTime.Parse(validez2.Rows[0]["fecha_vigencia"].ToString());
                reserva.Id_reserva   = int.Parse(validez1.Rows[0]["id_reserva"].ToString());
                reserva.Id_usuario   = int.Parse(validez1.Rows[0]["id_usuario"].ToString());
                reserva.Id_mesa      = int.Parse(validez1.Rows[0]["id_mesa"].ToString());
                reserva.Dia          = validez1.Rows[0]["dia"].ToString();
                reserva.Estado       = 1;
                reserva.Puntos       = 10;
                user.eliminarToken(token);
                user.actualizarReserva(reserva);
                System.Data.DataTable vali = ToDataTable(user.verificaMesa(reserva));
                mesa.Id_mesas  = reserva.Id_mesa;
                mesa.Ubicacion = vali.Rows[0]["ubicacion"].ToString();
                mesa.Cantidad  = int.Parse(vali.Rows[0]["cantidad"].ToString());
                mesa.Estado    = 1;
                user.actualizarMes(mesa);
                System.Data.DataTable validez = ToDataTable(user.obtenDatospago(data));
                usuario.User_id  = int.Parse(validez.Rows[0]["user_id"].ToString());
                usuario.Nombre   = validez.Rows[0]["nombre"].ToString();
                usuario.Apellido = validez.Rows[0]["apellido"].ToString();
                usuario.Email    = validez.Rows[0]["email"].ToString();
                usuario.Telefono = validez.Rows[0]["telefono"].ToString();
                usuario.Cedula   = validez.Rows[0]["cedula"].ToString();
                Int32 puntos = int.Parse(validez.Rows[0]["puntos"].ToString());
                usuario.Puntos     = puntos + 10;
                usuario.Id_Rol     = int.Parse(validez.Rows[0]["id_rol"].ToString());
                usuario.User_Name1 = validez.Rows[0]["User_Name1"].ToString();
                usuario.Clave      = validez.Rows[0]["clave"].ToString();
                usuario.Session    = validez.Rows[0]["session"].ToString();
                usuario.Rclave     = validez.Rows[0]["rclave"].ToString();
                usuario.Intentos   = int.Parse(validez.Rows[0]["Intentos"].ToString());
                usuario.Sesiones   = int.Parse(validez.Rows[0]["sesiones"].ToString());
                user.actualizarPago(usuario);
                data.Mensaje = "<script type='text/javascript'>alert('" + mensaje.Mensaje.ToString() + "');window.location=\"Inicio.aspx\"</script>";
            }
            else
            {
                //System.Data.DataTable validez1 = ToDataTable(user.obtenerReser(datos));
                data.Id_reserva    = int.Parse(validez1.Rows[0]["id_reserva"].ToString());
                data.Id_usuario    = int.Parse(validez1.Rows[0]["id_usuario"].ToString());
                reserva.Id_reserva = int.Parse(validez1.Rows[0]["id_reserva"].ToString());
                reserva.Id_usuario = int.Parse(validez1.Rows[0]["id_usuario"].ToString());
                reserva.Id_mesa    = int.Parse(validez1.Rows[0]["id_mesa"].ToString());
                reserva.Dia        = validez1.Rows[0]["dia"].ToString();
                reserva.Estado     = 2;
                reserva.Puntos     = 0;
                user.eliminarReserva(reserva);

                System.Data.DataTable validez2 = ToDataTable(user.obtenTokenre(data));
                token.Id             = int.Parse(validez2.Rows[0]["id"].ToString());
                token.Reserva_id     = int.Parse(validez2.Rows[0]["reserva_id"].ToString());
                token.Token          = validez2.Rows[0]["token"].ToString();
                token.Fecha_creado   = DateTime.Parse(validez2.Rows[0]["fecha_creado"].ToString());
                token.Fecha_vigencia = DateTime.Parse(validez2.Rows[0]["fecha_vigencia"].ToString());
                user.eliminarToken(token);
                data.Mensaje = "<script type='text/javascript'>alert('Lo Sentimos Esta Reserva ya fue Tomada Por Favor Ingrese Nuevamente una Reserva');window.location=\"Inicio.aspx\"</script>";
            }

            return(data);
        }