예제 #1
0
        public static List<Listado2> Listado2(int semestre, int ano)
        {
            List<Listado2> listaListado2 = new List<Listado2>();

            List<SqlParameter> ListaParametros = new List<SqlParameter>();
            ListaParametros.Add(new SqlParameter("@ano", (decimal)ano));
            ListaParametros.Add(new SqlParameter("@fecha", DateTime.Parse(System.Configuration.ConfigurationSettings.AppSettings["Fecha"])));

            if (semestre == 1)
            {
                string query = @"SELECT TOP 5 *, [1]+[2]+[3]+[4]+[5]+[6] Total_Primer_Semestre
                            FROM ( SELECT Bono_Farmacia.codigo AS ID_Bono_Farmacia,
                            MONTH(Compra.fecha) Mes,
                            YEAR(Compra.fecha) AS Anio,
                            Persona.nombre Nombre,
                            Persona.apellido Apellido,
                            Persona.documento Documento
                            FROM mario_killers.Bono_Farmacia
                            JOIN mario_killers.Compra ON Bono_Farmacia.compra = Compra.id
                            JOIN mario_killers.Afiliado ON Compra.persona = Afiliado.persona
                            JOIN mario_killers.Persona ON Persona.id = Afiliado.persona
                            WHERE @fecha < Compra.fecha + 60
                            ) AS Pivot_source
                            PIVOT (COUNT(ID_Bono_Farmacia) FOR Mes IN ([1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11], [12])) as Bonos_Por_Mes
                            WHERE Anio=@ano
                            ORDER BY Total_Primer_Semestre DESC";

                SqlDataReader lector = Clases.BaseDeDatosSQL.ObtenerDataReader(query, "T", ListaParametros);

                if (lector.HasRows)
                {
                    while (lector.Read())
                    {
                        Listado2 unRegistro = new Listado2();
                        unRegistro.Apellido = (string)lector["Apellido"];
                        unRegistro.Nombre = (string)lector["Nombre"];
                        unRegistro.Documento = (int)(decimal)lector["Documento"];
                        unRegistro.CantBonos = (int)lector["Total_Primer_Semestre"];
                        unRegistro.CantBonos1 = (int)lector["1"];
                        unRegistro.CantBonos2 = (int)lector["2"];
                        unRegistro.CantBonos3 = (int)lector["3"];
                        unRegistro.CantBonos4 = (int)lector["4"];
                        unRegistro.CantBonos5 = (int)lector["5"];
                        unRegistro.CantBonos6 = (int)lector["6"];
                        unRegistro.ano = ano;
                        listaListado2.Add(unRegistro);
                    }
                }
                return listaListado2;
            }
            else
            {
                string query = @"SELECT TOP 5 *, [7]+[8]+[9]+[10]+[11]+[12] Total_Segundo_Semestre
                            FROM ( SELECT Bono_Farmacia.codigo AS ID_Bono_Farmacia,
                            MONTH(Compra.fecha) Mes,
                            YEAR(Compra.fecha) AS Anio,
                            Persona.nombre Nombre,
                            Persona.apellido Apellido,
                            Persona.documento Documento
                            FROM mario_killers.Bono_Farmacia
                            JOIN mario_killers.Compra ON Bono_Farmacia.compra = Compra.id
                            JOIN mario_killers.Afiliado ON Compra.persona = Afiliado.persona
                            JOIN mario_killers.Persona ON Persona.id = Afiliado.persona
                            WHERE @fecha < Compra.fecha + 60
                            ) AS Pivot_source
                            PIVOT (COUNT(ID_Bono_Farmacia) FOR Mes IN ([1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11], [12])) as Bonos_Por_Mes
                            WHERE Anio=@ano
                            ORDER BY Total_Segundo_Semestre DESC";

                SqlDataReader lector = Clases.BaseDeDatosSQL.ObtenerDataReader(query, "T", ListaParametros);

                if (lector.HasRows)
                {
                    while (lector.Read())
                    {
                        Listado2 unRegistro = new Listado2();
                        unRegistro.Apellido = (string)lector["Apellido"];
                        unRegistro.Nombre = (string)lector["Nombre"];
                        unRegistro.Documento = (int)(decimal)lector["Documento"];
                        unRegistro.CantBonos = (int)lector["Total_Segundo_Semestre"];
                        unRegistro.CantBonos1 = (int)lector["7"];
                        unRegistro.CantBonos2 = (int)lector["8"];
                        unRegistro.CantBonos3 = (int)lector["9"];
                        unRegistro.CantBonos4 = (int)lector["10"];
                        unRegistro.CantBonos5 = (int)lector["11"];
                        unRegistro.CantBonos6 = (int)lector["12"];
                        unRegistro.ano = ano;
                        listaListado2.Add(unRegistro);
                    }
                }
                return listaListado2;
            }
        }
예제 #2
0
        public static List <Listado2> Listado2(int semestre, int ano)
        {
            List <Listado2> listaListado2 = new List <Listado2>();

            List <SqlParameter> ListaParametros = new List <SqlParameter>();

            ListaParametros.Add(new SqlParameter("@ano", (decimal)ano));
            ListaParametros.Add(new SqlParameter("@fecha", DateTime.Parse(System.Configuration.ConfigurationSettings.AppSettings["Fecha"])));

            if (semestre == 1)
            {
                string query = @"SELECT TOP 5 *, [1]+[2]+[3]+[4]+[5]+[6] Total_Primer_Semestre
                            FROM ( SELECT Bono_Farmacia.codigo AS ID_Bono_Farmacia,
                            MONTH(Compra.fecha) Mes,
                            YEAR(Compra.fecha) AS Anio,
                            Persona.nombre Nombre,
                            Persona.apellido Apellido,
                            Persona.documento Documento
                            FROM mario_killers.Bono_Farmacia
		                    JOIN mario_killers.Compra ON Bono_Farmacia.compra = Compra.id
		                    JOIN mario_killers.Afiliado ON Compra.persona = Afiliado.persona
		                    JOIN mario_killers.Persona ON Persona.id = Afiliado.persona 
	                        WHERE @fecha < Compra.fecha + 60 
	                        ) AS Pivot_source
                            PIVOT (COUNT(ID_Bono_Farmacia) FOR Mes IN ([1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11], [12])) as Bonos_Por_Mes
                            WHERE Anio=@ano
                            ORDER BY Total_Primer_Semestre DESC";

                SqlDataReader lector = Clases.BaseDeDatosSQL.ObtenerDataReader(query, "T", ListaParametros);

                if (lector.HasRows)
                {
                    while (lector.Read())
                    {
                        Listado2 unRegistro = new Listado2();
                        unRegistro.Apellido   = (string)lector["Apellido"];
                        unRegistro.Nombre     = (string)lector["Nombre"];
                        unRegistro.Documento  = (int)(decimal)lector["Documento"];
                        unRegistro.CantBonos  = (int)lector["Total_Primer_Semestre"];
                        unRegistro.CantBonos1 = (int)lector["1"];
                        unRegistro.CantBonos2 = (int)lector["2"];
                        unRegistro.CantBonos3 = (int)lector["3"];
                        unRegistro.CantBonos4 = (int)lector["4"];
                        unRegistro.CantBonos5 = (int)lector["5"];
                        unRegistro.CantBonos6 = (int)lector["6"];
                        unRegistro.ano        = ano;
                        listaListado2.Add(unRegistro);
                    }
                }
                return(listaListado2);
            }
            else
            {
                string query = @"SELECT TOP 5 *, [7]+[8]+[9]+[10]+[11]+[12] Total_Segundo_Semestre
                            FROM ( SELECT Bono_Farmacia.codigo AS ID_Bono_Farmacia,
                            MONTH(Compra.fecha) Mes,
                            YEAR(Compra.fecha) AS Anio,
                            Persona.nombre Nombre,
                            Persona.apellido Apellido,
                            Persona.documento Documento
                            FROM mario_killers.Bono_Farmacia
		                    JOIN mario_killers.Compra ON Bono_Farmacia.compra = Compra.id
		                    JOIN mario_killers.Afiliado ON Compra.persona = Afiliado.persona
		                    JOIN mario_killers.Persona ON Persona.id = Afiliado.persona 
	                        WHERE @fecha < Compra.fecha + 60
	                        ) AS Pivot_source
                            PIVOT (COUNT(ID_Bono_Farmacia) FOR Mes IN ([1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11], [12])) as Bonos_Por_Mes
                            WHERE Anio=@ano
                            ORDER BY Total_Segundo_Semestre DESC";

                SqlDataReader lector = Clases.BaseDeDatosSQL.ObtenerDataReader(query, "T", ListaParametros);

                if (lector.HasRows)
                {
                    while (lector.Read())
                    {
                        Listado2 unRegistro = new Listado2();
                        unRegistro.Apellido   = (string)lector["Apellido"];
                        unRegistro.Nombre     = (string)lector["Nombre"];
                        unRegistro.Documento  = (int)(decimal)lector["Documento"];
                        unRegistro.CantBonos  = (int)lector["Total_Segundo_Semestre"];
                        unRegistro.CantBonos1 = (int)lector["7"];
                        unRegistro.CantBonos2 = (int)lector["8"];
                        unRegistro.CantBonos3 = (int)lector["9"];
                        unRegistro.CantBonos4 = (int)lector["10"];
                        unRegistro.CantBonos5 = (int)lector["11"];
                        unRegistro.CantBonos6 = (int)lector["12"];
                        unRegistro.ano        = ano;
                        listaListado2.Add(unRegistro);
                    }
                }
                return(listaListado2);
            }
        }