Exemplo n.º 1
0
        //------------------------------------------------------------------------
        //en este caso mandamos un objeto de tipo user que contiene los datos para la clase Encapsular
        public void insertar_descargar_archivo(E_descargar_archivo descargar)
        {
            DataTable usuarios = new DataTable();
            //NpgsqlConnection conection = new NpgsqlConnection(ConfigurationManager.ConnectionStrings["MyConexion"].ConnectionString);
            SqlConnection conection = new SqlConnection(ConfigurationManager.ConnectionStrings["MyConexion2"].ConnectionString);

            try
            {
                //conexion y mandamos los parametros
                //NpgsqlDataAdapter dataAdapter = new NpgsqlDataAdapter("sp_descargar_archivo", conection);
                SqlDataAdapter dataAdapter = new SqlDataAdapter("sp_descargar_archivo", conection);
                dataAdapter.SelectCommand.CommandType = CommandType.StoredProcedure;
                //dataAdapter.SelectCommand.Parameters.Add("_id", NpgsqlDbType.Integer).Value = descargar.IdUser;
                //dataAdapter.SelectCommand.Parameters.Add("_dinero", NpgsqlDbType.Integer).Value = descargar.Dinero;
                //dataAdapter.SelectCommand.Parameters.Add("_user_cambio", NpgsqlDbType.Integer).Value = descargar.UserCambio;
                dataAdapter.SelectCommand.Parameters.Add("@id", SqlDbType.Int).Value          = descargar.IdUser;
                dataAdapter.SelectCommand.Parameters.Add("@dinero", SqlDbType.Int).Value      = descargar.Dinero;
                dataAdapter.SelectCommand.Parameters.Add("@user_cambio", SqlDbType.Int).Value = descargar.UserCambio;


                conection.Open();
                dataAdapter.Fill(usuarios);
            }
            catch (Exception Ex)
            {
                throw Ex;
            }
            finally
            {
                if (conection != null)
                {
                    conection.Close();
                }
            }
            //return usuarios;
        }
Exemplo n.º 2
0
        //----- descargar archivo .....
        public U_Descargar_archivo descargar_archivo(string user, string id_archivo, string idrol)
        {
            U_Descargar_archivo datos = new U_Descargar_archivo();
            //Dao_Descargar_archivo operacion = new Dao_Descargar_archivo();
            //DataTable info_user = operacion.consultar_usuario(user);
            //DataTable info_file = operacion.ver_archivo(id_archivo);

            List <sp_consulta_usuario_Result> datos2 = operacion_n.sp_consulta_usuario(user).ToList <sp_consulta_usuario_Result>();
            DataTable info_user = ToDataTable(datos2);
            List <sp_ver_archivo_Result> datos3 = operacion_n.sp_ver_archivo(Int32.Parse(id_archivo)).ToList <sp_ver_archivo_Result>();
            DataTable info_file = ToDataTable(datos3);

            int saldo  = int.Parse(info_user.Rows[0]["dinero_user"].ToString());
            int precio = int.Parse(info_file.Rows[0]["precio_categoria"].ToString());

            //asignamos session por si no pasa el if
            datos.Session_dinero = saldo;

            //preguntamos que el user tenga dinero en la cuenta
            if (saldo != 0)
            {//tiene dinero en la cuenta
                //preguntamos si tiene dinero suficiente para comprar el archivo
                if (saldo >= precio)
                {//permitir decarga
                    //--------------encapsulamos campos..............................................
                    E_subir_descargar subir_descargar = new E_subir_descargar();

                    subir_descargar.IdUser     = info_user.Rows[0]["id_usuario"].ToString();
                    subir_descargar.IdArchivo  = info_file.Rows[0]["id_archivo"].ToString();
                    subir_descargar.Concepto   = "Download";
                    subir_descargar.Precio     = precio.ToString();
                    subir_descargar.UserCambio = idrol;

                    E_descargar_archivo descargar = new E_descargar_archivo();

                    descargar.IdUser     = info_user.Rows[0]["id_usuario"].ToString();
                    descargar.Dinero     = precio.ToString();
                    descargar.UserCambio = idrol;


                    //--------------descargar_archivo..............................................
                    try
                    {
                        //operacion.insertar_descargar_archivo(descargar);
                        //operacion.insertar_subir_descargar(subir_descargar);
                        operacion_n.sp_descargar_archivo(Int32.Parse(descargar.IdUser), Int32.Parse(descargar.Dinero), Int32.Parse(descargar.UserCambio));
                        operacion_n.sp_insertar_subir_descargar(Int32.Parse(subir_descargar.IdUser), Int32.Parse(subir_descargar.IdArchivo), subir_descargar.Concepto, Int32.Parse(subir_descargar.Precio), Int32.Parse(subir_descargar.UserCambio));

                        //cambiamos el valor de la session
                        datos.Session_dinero = saldo - precio;

                        string ruta = info_file.Rows[0]["url"].ToString();
                        datos.Url_pag   = ruta;
                        datos.Descargar = true;

                        return(datos);
                    }
                    catch (Exception exc)
                    {
                        throw exc;
                    }
                }
                else
                {//no alcanza el dinero
                    datos.Descargar = false;
                    datos.Mensajes  = "<script type='text/javascript'>alert('Dinero insuficiente para descargar el archivo, para obtener dinero participe subiendo archivos');</script>";
                    return(datos);
                }
            }
            else
            {//el user se quedo sin dinero
                datos.Descargar = false;
                datos.Mensajes  = "<script type='text/javascript'>alert('No tiene dinero en su cuenta, para obtener dinero participe subiendo archivos');</script>";
                return(datos);
            }
        }