private void BindPagingGrid()
		{
			try
			{
                ArmarTextoHeader();
				System.Collections.Generic.List<CedForecastWebEntidades.Proyectado> lista;
                CedForecastWebEntidades.Proyectado Proyectado = new CedForecastWebEntidades.Proyectado();
                Proyectado.IdTipoPlanilla = "Proyectado";
                Proyectado.IdCuenta = CuentaDropDownList.SelectedValue.Trim();
                CedForecastWebRN.Periodo.ValidarPeriodoYYYYMM(PeriodoTextBox.Text);
                Proyectado.IdPeriodo = PeriodoTextBox.Text;
                CedForecastWebEntidades.Cliente cliente = new CedForecastWebEntidades.Cliente();
                cliente.Id = ClienteDropDownList.SelectedValue.ToString().Trim();
                Proyectado.Cliente = cliente;
                int CantidadFilas = 0;
                lista = CedForecastWebRN.Proyectado.Lista(out CantidadFilas, ForecastPagingGridView.PageIndex, ForecastPagingGridView.PageSize, ForecastPagingGridView.OrderBy, Proyectado, Session.SessionID, (CedForecastWebEntidades.Sesion)Session["Sesion"]);
                ForecastPagingGridView.VirtualItemCount = CantidadFilas;
				ViewState["lista"] = lista;
				ForecastPagingGridView.DataSource = (System.Collections.Generic.List<CedForecastWebEntidades.Proyectado>)ViewState["lista"];
				ForecastPagingGridView.DataBind();
			}
			catch (System.Threading.ThreadAbortException)
			{
				Trace.Warn("Thread abortado");
			}
            catch (Exception ex)
            {
                CedeiraUIWebForms.Excepciones.Redireccionar(ex, "~/Excepcion.aspx");
            }
		}
 protected void ExportarButton_Click(object sender, EventArgs e)
 {
     System.Collections.Generic.List<CedForecastWebEntidades.Proyectado> lista;
     CedForecastWebEntidades.Proyectado Proyectado = new CedForecastWebEntidades.Proyectado();
     Proyectado.IdTipoPlanilla = "Proyectado";
     Proyectado.IdCuenta = CuentaDropDownList.SelectedValue.Trim();
     CedForecastWebEntidades.Cliente cliente = new CedForecastWebEntidades.Cliente();
     cliente.Id = ClienteDropDownList.SelectedValue.ToString().Trim();
     Proyectado.Cliente = cliente;
     CedForecastWebRN.Periodo.ValidarPeriodoYYYYMM(PeriodoTextBox.Text);
     Proyectado.IdPeriodo = PeriodoTextBox.Text;
     lista = CedForecastWebRN.Proyectado.Lista(Proyectado, (CedForecastWebEntidades.Sesion)Session["Sesion"]);
     string archivo = "Id.Vendedor; Id.Cliente; Nombre Cliente; Id.Artículo; Nombre Artículo; ";
     int colFijas = 4;
     for (int i = 1; i <= 12; i++)
     {
         archivo += TextoCantidadHeader(i, PeriodoTextBox.Text) + "; ";
     }
     archivo += "Total " + PeriodoTextBox.Text + "; ";
     archivo += "Total " + Convert.ToDateTime("01" + PeriodoTextBox.Text.Substring(4,2) + "/" + PeriodoTextBox.Text.Substring(0,4)).AddYears(1).Year.ToString() + "; ";
     archivo += "Total " + Convert.ToDateTime("01" + PeriodoTextBox.Text.Substring(4,2) + "/" + PeriodoTextBox.Text.Substring(0,4)).AddYears(2).Year.ToString() + "; ";
     archivo += "\r\n";
     FileHelperEngine fhe = new FileHelperEngine(typeof(CedForecastWebEntidades.Proyectado));
     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=Proyectado.csv");
     Response.ContentType = "application/octet-stream";
     Response.BinaryWrite(byteArray);
     Response.End();
 }
예제 #3
0
 public List<CedForecastWebEntidades.Proyectado> Lista(out int CantidadFilas, int IndicePagina, int TamañoPagina, string OrderBy, string SessionID, List<CedForecastWebEntidades.Proyectado> ProyectadoLista)
 {
     System.Text.StringBuilder a = new StringBuilder();
     a.Append("CREATE TABLE #Forecast" + SessionID +"( ");
     a.Append("[IdTipoPlanilla] [varchar](15) collate database_default NOT NULL, ");
     a.Append("[IdCuenta] [varchar](50) collate database_default NOT NULL, ");
     a.Append("[IdCliente] [varchar](6) collate database_default NOT NULL, ");
     a.Append("[IdArticulo] [varchar](20) collate database_default NOT NULL, ");
     a.Append("[IdPeriodo] [varchar](6) collate database_default NOT NULL, ");
     a.Append("[Cantidad1] [decimal](18, 0) NOT NULL, ");
     a.Append("[Cantidad2] [decimal](18, 0) NOT NULL, ");
     a.Append("[Cantidad3] [decimal](18, 0) NOT NULL, ");
     a.Append("[Cantidad4] [decimal](18, 0) NOT NULL, ");
     a.Append("[Cantidad5] [decimal](18, 0) NOT NULL, ");
     a.Append("[Cantidad6] [decimal](18, 0) NOT NULL, ");
     a.Append("[Cantidad7] [decimal](18, 0) NOT NULL, ");
     a.Append("[Cantidad8] [decimal](18, 0) NOT NULL, ");
     a.Append("[Cantidad9] [decimal](18, 0) NOT NULL, ");
     a.Append("[Cantidad10] [decimal](18, 0) NOT NULL, ");
     a.Append("[Cantidad11] [decimal](18, 0) NOT NULL, ");
     a.Append("[Cantidad12] [decimal](18, 0) NOT NULL, ");
     a.Append("[Cantidad13] [decimal](18, 0) NOT NULL, ");
     a.Append("[Cantidad14] [decimal](18, 0) NOT NULL, ");
     a.Append("CONSTRAINT [PK_Forecast"+ SessionID +"] PRIMARY KEY CLUSTERED ");
     a.Append("( ");
     a.Append("[IdTipoPlanilla] ASC, ");
     a.Append("[IdCuenta] ASC, ");
     a.Append("[IdCliente] ASC, ");
     a.Append("[IdArticulo] ASC, ");
     a.Append("[IdPeriodo] ASC ");
     a.Append(")WITH (PAD_INDEX  = OFF, IGNORE_DUP_KEY = OFF) ON [PRIMARY] ");
     a.Append(") ON [PRIMARY] ");
     foreach (CedForecastWebEntidades.Proyectado Proyectado in ProyectadoLista)
     {
         a.Append("Insert #Forecast" + SessionID + " values ('" + Proyectado.IdTipoPlanilla + "', '");
         a.Append(Proyectado.IdCuenta + "', '");
         a.Append(Proyectado.Cliente.Id + "', '");
         a.Append(Proyectado.Articulo.Id + "', '");
         a.Append(Proyectado.IdPeriodo + "', ");
         a.Append(Proyectado.Cantidad1 + ", ");
         a.Append(Proyectado.Cantidad2 + ", ");
         a.Append(Proyectado.Cantidad3 + ", ");
         a.Append(Proyectado.Cantidad4 + ", ");
         a.Append(Proyectado.Cantidad5 + ", ");
         a.Append(Proyectado.Cantidad6 + ", ");
         a.Append(Proyectado.Cantidad7 + ", ");
         a.Append(Proyectado.Cantidad8 + ", ");
         a.Append(Proyectado.Cantidad9 + ", ");
         a.Append(Proyectado.Cantidad10 + ", ");
         a.Append(Proyectado.Cantidad11 + ", ");
         a.Append(Proyectado.Cantidad12 + ", ");
         a.Append(Proyectado.Cantidad13 + ", ");
         a.Append(Proyectado.Cantidad14 + ") ");
     }
     a.Append("select * ");
     a.Append("from (select top {0} ROW_NUMBER() OVER (ORDER BY {1}) as ROW_NUM, ");
     a.Append("IdTipoPlanilla, IdCuenta, #Forecast"+SessionID+".IdCliente, DescrCliente, IdPeriodo, #Forecast" + SessionID + ".IdArticulo, Articulo.DescrArticulo, Articulo.IdGrupoArticulo, GrupoArticulo.DescrGrupoArticulo, Division.IdDivision, Division.DescrDivision, ");
     a.Append("Cantidad1, Cantidad2, Cantidad3, Cantidad4, Cantidad5, Cantidad6, Cantidad7, Cantidad8, Cantidad9, Cantidad10, Cantidad11, Cantidad12, Cantidad13, Cantidad14 ");
     a.Append("from #Forecast"+SessionID+" inner join Articulo on #Forecast"+SessionID+".IdArticulo=Articulo.IdArticulo ");
     a.Append("inner join Cliente on #Forecast"+SessionID+".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("ORDER BY ROW_NUM) innerSelect WHERE ROW_NUM > {2} ");
     a.Append("DROP TABLE #Forecast" + SessionID);
     string commandText = string.Format(a.ToString(), ((IndicePagina + 1) * TamañoPagina), OrderBy, (IndicePagina * TamañoPagina));
     DataTable dt = new DataTable();
     dt = (DataTable)Ejecutar(commandText.ToString(), TipoRetorno.TB, Transaccion.NoAcepta, sesion.CnnStr);
     List<CedForecastWebEntidades.Proyectado> lista = new List<CedForecastWebEntidades.Proyectado>();
     if (dt.Rows.Count != 0)
     {
         for (int i = 0; i < dt.Rows.Count; i++)
         {
             CedForecastWebEntidades.Proyectado proyectado = new CedForecastWebEntidades.Proyectado();
             proyectado.IdTipoPlanilla = dt.Rows[i]["IdTipoPlanilla"].ToString();
             proyectado.IdPeriodo = dt.Rows[i]["IdPeriodo"].ToString();
             proyectado.IdCuenta = dt.Rows[i]["IdCuenta"].ToString();
             CedForecastWebEntidades.Cliente cliente = new CedForecastWebEntidades.Cliente();
             cliente.Id = dt.Rows[i]["IdCliente"].ToString();
             cliente.Descr = dt.Rows[i]["DescrCliente"].ToString();
             proyectado.Cliente = cliente;
             CedForecastWebEntidades.Articulo articulo = new CedForecastWebEntidades.Articulo();
             articulo.Id = dt.Rows[i]["IdArticulo"].ToString();
             articulo.Descr = dt.Rows[i]["DescrArticulo"].ToString();
             proyectado.Articulo = articulo;
             proyectado.Cantidad1 = Convert.ToDecimal(dt.Rows[i]["Cantidad1"].ToString());
             proyectado.Cantidad2 = Convert.ToDecimal(dt.Rows[i]["Cantidad2"].ToString());
             proyectado.Cantidad3 = Convert.ToDecimal(dt.Rows[i]["Cantidad3"].ToString());
             proyectado.Cantidad4 = Convert.ToDecimal(dt.Rows[i]["Cantidad4"].ToString());
             proyectado.Cantidad5 = Convert.ToDecimal(dt.Rows[i]["Cantidad5"].ToString());
             proyectado.Cantidad6 = Convert.ToDecimal(dt.Rows[i]["Cantidad6"].ToString());
             proyectado.Cantidad7 = Convert.ToDecimal(dt.Rows[i]["Cantidad7"].ToString());
             proyectado.Cantidad8 = Convert.ToDecimal(dt.Rows[i]["Cantidad8"].ToString());
             proyectado.Cantidad9 = Convert.ToDecimal(dt.Rows[i]["Cantidad9"].ToString());
             proyectado.Cantidad10 = Convert.ToDecimal(dt.Rows[i]["Cantidad10"].ToString());
             proyectado.Cantidad11 = Convert.ToDecimal(dt.Rows[i]["Cantidad11"].ToString());
             proyectado.Cantidad12 = Convert.ToDecimal(dt.Rows[i]["Cantidad12"].ToString());
             proyectado.Cantidad13 = Convert.ToDecimal(dt.Rows[i]["Cantidad13"].ToString());
             proyectado.Cantidad14 = Convert.ToDecimal(dt.Rows[i]["Cantidad14"].ToString());
             CalcularCantidadTotal(proyectado);
             lista.Add(proyectado);
         }
     }
     CantidadFilas = cantidadFilas;
     return lista;
 }
		protected void ForecastPagingGridView_Sorting(object sender, GridViewSortEventArgs e)
		{
			try
			{
				DesSeleccionarFilas();
				System.Collections.Generic.List<CedForecastWebEntidades.Proyectado> lista = new System.Collections.Generic.List<CedForecastWebEntidades.Proyectado>();

                CedForecastWebEntidades.Proyectado Proyectado = new CedForecastWebEntidades.Proyectado();
                Proyectado.IdTipoPlanilla = "Proyectado";
                Proyectado.IdCuenta = CuentaDropDownList.SelectedValue.Trim();
                Proyectado.IdPeriodo = PeriodoTextBox.Text;
                int CantidadFilas = 0;
                lista = CedForecastWebRN.Proyectado.Lista(out CantidadFilas, ForecastPagingGridView.PageIndex, ForecastPagingGridView.PageSize, ForecastPagingGridView.OrderBy, Proyectado, Session.SessionID, (CedEntidades.Sesion)Session["Sesion"]);
				ViewState["lista"] = lista;
				ForecastPagingGridView.DataSource = (System.Collections.Generic.List<CedForecastWebEntidades.Proyectado>)ViewState["lista"];
				ForecastPagingGridView.DataBind();
			}
			catch (System.Threading.ThreadAbortException)
			{
				Trace.Warn("Thread abortado");
			}
			catch (Exception ex)
			{
				CedeiraUIWebForms.Excepciones.Redireccionar(ex, "~/Excepcion.aspx");
			}
		}
예제 #5
0
 public List<CedForecastWebEntidades.Proyectado> Lista(CedForecastWebEntidades.Proyectado Proyectado)
 {
     cantidadFilas = 0;
     System.Text.StringBuilder a = new StringBuilder();
     a.Append("select Forecast.IdTipoPlanilla, Forecast.IdCuenta, Forecast.IdCliente, Forecast.IdPeriodo, Forecast.IdArticulo, Articulo.DescrArticulo, Articulo.IdGrupoArticulo, Cliente.DescrCliente, 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='" + Proyectado.IdTipoPlanilla + "' ");
     if (Proyectado.IdCuenta != null && Proyectado.IdCuenta != "")
     {
         a.Append("and Forecast.IdCuenta='" + Proyectado.IdCuenta + "' ");
     }
     if (Proyectado.IdCliente != null && Proyectado.IdCliente != "")
     {
         a.Append("and Forecast.IdCliente='" + Proyectado.IdCliente + "' ");
     }
     if (Proyectado.Articulo.FamiliaArticulo.Id != null && Proyectado.Articulo.FamiliaArticulo.Id != "")
     {
         a.Append("and FamiliaArticulo.IdFamiliaArticulo='" + Proyectado.Articulo.FamiliaArticulo.Id + "' ");
     }
     string periodo = "";
     periodo = UltimoMesForecast(Proyectado.IdPeriodo);
     if (Proyectado.IdTipoPlanilla == "Proyectado" && Proyectado.IdPeriodo.Substring(0, 4) == periodo.Substring(0, 4))
     {
         periodo = Proyectado.IdPeriodo.Substring(0, 4) + "99";
     }
     a.Append("and IdPeriodo >= '" + Proyectado.IdPeriodo + "' ");
     a.Append("and IdPeriodo <= '" + periodo + "' ");
     a.Append("order by IdArticulo asc, IdCliente asc, IdPeriodo asc");
     DataTable dt = new DataTable();
     dt = (DataTable)Ejecutar(a.ToString(), TipoRetorno.TB, Transaccion.NoAcepta, sesion.CnnStr);
     List<CedForecastWebEntidades.Proyectado> lista = new List<CedForecastWebEntidades.Proyectado>();
     if (dt.Rows.Count != 0)
     {
         CedForecastWebEntidades.Proyectado proyectado = new CedForecastWebEntidades.Proyectado();
         string idArticulo = dt.Rows[0]["IdArticulo"].ToString() + dt.Rows[0]["IdCliente"].ToString();
         CopiarCab(dt.Rows[0], proyectado, Proyectado.IdPeriodo);
         for (int i = 0; i < dt.Rows.Count; i++)
         {
             string periodoInicial = proyectado.IdPeriodo;
             int mes = 0;
             mes = MesAProcesar(dt.Rows[i]["IdPeriodo"].ToString(), periodoInicial);
             if (idArticulo != dt.Rows[i]["IdArticulo"].ToString() + dt.Rows[i]["IdCliente"].ToString())
             {
                 idArticulo = dt.Rows[i]["IdArticulo"].ToString() + dt.Rows[i]["IdCliente"].ToString();
                 lista.Add(proyectado);
                 proyectado = new CedForecastWebEntidades.Proyectado();
                 CopiarCab(dt.Rows[i], proyectado, Proyectado.IdPeriodo);
             }
             CopiarDet(dt.Rows[i], proyectado, mes);
             CalcularCantidadTotal(proyectado);
          }
          lista.Add(proyectado);
     }
     cantidadFilas = lista.Count;
     return lista;
 }