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; } }
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); } }