public List<CedForecastWebEntidades.Forecast> ListaRollingForecast(string Periodo) { System.Text.StringBuilder a = new StringBuilder(); a.Append("select Forecast.IdTipoPlanilla, Forecast.IdCuenta, Forecast.IdCliente, Forecast.IdArticulo, Forecast.IdPeriodo, Forecast.Cantidad "); a.Append("from Forecast "); a.Append("where Forecast.IdTipoPlanilla='RollingForecast' and Forecast.IdPeriodo>='" + Periodo + "'"); DataTable dt = new DataTable(); dt = (DataTable)Ejecutar(a.ToString(), TipoRetorno.TB, Transaccion.NoAcepta, sesion.CnnStr); List<CedForecastWebEntidades.Forecast> lista = new List<CedForecastWebEntidades.Forecast>(); if (dt.Rows.Count != 0) { for (int i = 0; i < dt.Rows.Count; i++) { CedForecastWebEntidades.Forecast elemento = new CedForecastWebEntidades.Forecast(); Copiar(dt.Rows[i], elemento); lista.Add(elemento); } } return lista; }
protected void ExportarDinamicaButton1_Click(object sender, EventArgs e) { System.Collections.Generic.List<CedForecastWebEntidades.Forecast> lista; CedForecastWebEntidades.Forecast Forecast = new CedForecastWebEntidades.Forecast(); Forecast.IdTipoPlanilla = "RollingForecast"; Forecast.IdCuenta = CuentaDropDownList.SelectedValue.Trim(); CedForecastWebEntidades.Cliente cliente = new CedForecastWebEntidades.Cliente(); cliente.Id = ClienteDropDownList.SelectedValue.ToString().Trim(); Forecast.Cliente = cliente; CedForecastWebRN.Periodo.ValidarPeriodoYYYYMM(PeriodoTextBox.Text); Forecast.IdPeriodo = PeriodoTextBox.Text; lista = CedForecastWebRN.Forecast.Lista(Forecast, (CedForecastWebEntidades.Sesion)Session["Sesion"]); string archivo = "Id.Cliente; Nombre Cliente; Familia Artículo; Id.Artículo; Nombre Artículo; Periodo; Volumen"; archivo += "\r\n"; FileHelperEngine fhe = new FileHelperEngine(typeof(CedForecastWebEntidades.Forecast)); archivo += fhe.WriteString(lista); byte[] a = System.Text.Encoding.GetEncoding("iso-8859-1").GetBytes(archivo); System.IO.MemoryStream m = new System.IO.MemoryStream(a); Byte[] byteArray = m.ToArray(); m.Flush(); m.Close(); Response.Clear(); Response.AddHeader("Content-Disposition", "attachment; filename=RollingForecastDinamico.csv"); Response.ContentType = "application/octet-stream"; Response.BinaryWrite(byteArray); Response.End(); }
// Entidad Forecast ( completando: 1 - Bejerman.Clientes cliente / 2 - Bejerman.Articulos articulo / 3 - CedForecastEntidades.Articulo familiaArticulo public List<CedForecastWebEntidades.Forecast> Lista(CedForecastWebEntidades.Forecast Forecast) { System.Text.StringBuilder a = new StringBuilder(); a.Append("select Forecast.IdTipoPlanilla, Forecast.IdCuenta, Forecast.IdCliente, Cliente.DescrCliente, Forecast.IdPeriodo, Forecast.IdArticulo, Articulo.DescrArticulo, Articulo.IdGrupoArticulo, GrupoArticulo.DescrGrupoArticulo, Division.IdDivision, Division.DescrDivision, FamiliaArticulo.IdFamiliaArticulo, FamiliaArticulo.DescrFamiliaArticulo, Forecast.Cantidad "); a.Append("from Forecast inner join Articulo on Forecast.IdArticulo=Articulo.IdArticulo "); a.Append("inner join Cliente on Forecast.IdCliente=Cliente.IdCliente "); a.Append("inner join GrupoArticulo on Articulo.IdGrupoArticulo=GrupoArticulo.IdGrupoArticulo "); a.Append("inner join Division on GrupoArticulo.IdDivision=Division.IdDivision "); a.Append("left outer join FamiliaArticuloXArticulo on Forecast.IdArticulo=FamiliaArticuloXArticulo.IdArticulo "); a.Append("left outer join FamiliaArticulo on FamiliaArticuloXArticulo.IdFamiliaArticulo=FamiliaArticulo.IdFamiliaArticulo "); a.Append("where Forecast.IdTipoPlanilla='" + Forecast.IdTipoPlanilla + "' "); if (Forecast.IdCliente != null && Forecast.IdCliente != "") { a.Append("and Forecast.IdCliente='" + Forecast.IdCliente + "' "); } if (Forecast.IdCuenta != null && Forecast.IdCuenta != "") { a.Append("and Forecast.IdCuenta='" + Forecast.IdCuenta + "' "); } if (Forecast.Articulo.FamiliaArticulo.Id != null && Forecast.Articulo.FamiliaArticulo.Id != "") { a.Append("and FamiliaArticulo.IdFamiliaArticulo='" + Forecast.Articulo.FamiliaArticulo.Id + "' "); } string periodo = ""; periodo = UltimoMesForecast(Forecast.IdPeriodo); a.Append("and IdPeriodo >= '" + Forecast.IdPeriodo + "' "); a.Append("and IdPeriodo <= '" + periodo + "' "); a.Append("order by IdCuenta asc, IdCliente asc, IdArticulo asc, IdPeriodo asc "); DataTable dt = new DataTable(); dt = (DataTable)Ejecutar(a.ToString(), TipoRetorno.TB, Transaccion.NoAcepta, sesion.CnnStr); List<CedForecastWebEntidades.Forecast> lista = new List<CedForecastWebEntidades.Forecast>(); if (dt.Rows.Count != 0) { for (int i = 0; i < dt.Rows.Count; i++) { CedForecastWebEntidades.Forecast elemento = new CedForecastWebEntidades.Forecast(); Copiar2(dt.Rows[i], elemento); lista.Add(elemento); } } return lista; }