AerolineaFrba.Consulta_Millas.Form1.llenarHistorialDeMillas C# (CSharp) Method

llenarHistorialDeMillas() private method

private llenarHistorialDeMillas ( ) : void
return void
        private void llenarHistorialDeMillas()
        {
            string query = "SELECT Tipo,Origen,Destino,[Fecha de Obtención],[Fecha de Compra],Precio,CAST(Precio/10 as Int) as 'Cant. de Millas'  FROM [ABSTRACCIONX4].obtenerHistorialMillasPasajes(" + txtDni.Text + ",'" + txtApe.Text + "') UNION SELECT Tipo,Origen,Destino,[Fecha de Obtención],[Fecha de Compra],Precio,CAST(Precio/10 as Int) as 'Cant. de Millas'  FROM [ABSTRACCIONX4].obtenerHistorialMillasEncomiendas(" + txtDni.Text + ",'" + txtApe.Text + "')";

            SqlConnection conexion = Program.conexion();

            DataTable t = new DataTable("Busqueda");
            SqlDataAdapter a = new SqlDataAdapter(query, conexion);
            //Llenar el Dataset
            DataSet ds = new DataSet();
            a.Fill(ds, "Busqueda");
            //Ligar el datagrid con la fuente de datos
            dgHistorial.DataSource = ds;
            dgHistorial.DataMember = "Busqueda";

            conexion.Close();

            SqlDataReader totalMillas;
            SqlDataReader millasCanjeadas;

            SqlCommand consultaTotal = new SqlCommand();
            SqlCommand consultaCanjeadas = new SqlCommand();

            consultaTotal.CommandType = CommandType.Text;
            consultaCanjeadas.CommandType = CommandType.Text;

            consultaTotal.CommandText = "SELECT SUM(Millas) FROM (SELECT CAST(Precio/10 as Int) as Millas FROM [ABSTRACCIONX4].obtenerHistorialMillasPasajes(" + txtDni.Text + ",'" + txtApe.Text + "') UNION ALL  SELECT CAST(Precio/10 as Int) as Millas FROM [ABSTRACCIONX4].obtenerHistorialMillasEncomiendas(" + txtDni.Text + ",'" + txtApe.Text + "')) as Sarasa";
            consultaCanjeadas.CommandText = "SELECT SUM(P.PREMIO_PUNTOS * C.CANJE_CANTIDAD) FROM ABSTRACCIONX4.CANJES C JOIN ABSTRACCIONX4.PREMIOS P ON C.PREMIO_COD = P.PREMIO_COD WHERE C.CLI_COD = (SELECT CU.CLI_COD FROM ABSTRACCIONX4.CLIENTES CU WHERE CU.CLI_DNI =" + txtDni.Text + " AND CU.CLI_APELLIDO = '" + txtApe.Text + "' ) AND C.CANJE_FECHA BETWEEN [ABSTRACCIONX4].obtenerFechaDeHoy() - 365 AND [ABSTRACCIONX4].obtenerFechaDeHoy()";

            consultaTotal.Connection = Program.conexion();
            consultaCanjeadas.Connection = Program.conexion();

            totalMillas = consultaTotal.ExecuteReader();
            millasCanjeadas = consultaCanjeadas.ExecuteReader();

            totalMillas.Read();
            millasCanjeadas.Read();

            string totMillas = totalMillas.GetValue(0).ToString();
            string millasCanj = millasCanjeadas.GetValue(0).ToString();
            int millasTotales;
            int millas_canjeadas;

            int.TryParse(totMillas, out millasTotales);
            int.TryParse(millasCanj, out millas_canjeadas);

            var total = millasTotales;
            var canjeadas = millas_canjeadas;
            var final = total - canjeadas;

            if (final > 0)
            {
                cantTotalMillas.Text = final.ToString();
            }
            else
            {
                cantTotalMillas.Text = "0";
            }
        }