private void BindPagingGrid()
		{
			try
			{
				System.Collections.Generic.List<CedForecastWebEntidades.RFoPA> lista;
                
                CedForecastWebEntidades.RFoPA Forecast = new CedForecastWebEntidades.RFoPA();
                Forecast.IdTipoPlanilla = "RollingForecast";
                Forecast.IdCuenta = CuentaDropDownList.SelectedValue.ToString().Trim();
                Forecast.Cliente.Id = ClienteDropDownList.SelectedValue.ToString().Trim();
                CedForecastWebRN.Periodo.ValidarPeriodoYYYYMM(PeriodoTextBox.Text);
                Forecast.IdPeriodo = PeriodoTextBox.Text;
                int CantidadFilas = 0;
                lista = CedForecastWebRN.RFoPA.Lista(out CantidadFilas, ForecastPagingGridView.PageIndex, ForecastPagingGridView.PageSize, ForecastPagingGridView.OrderBy, Forecast, Session.SessionID, (CedForecastWebEntidades.Sesion)Session["Sesion"]);
                ForecastPagingGridView.VirtualItemCount = CantidadFilas;
				ViewState["lista"] = lista;
				ForecastPagingGridView.DataSource = (System.Collections.Generic.List<CedForecastWebEntidades.RFoPA>)ViewState["lista"];
                int colFijas = 6; //Es 0 y 1.
                for (int i = 1; i <= 12; i++)
                {
                    ForecastPagingGridView.Columns[i + colFijas].HeaderText = TextoCantidadHeader(i, PeriodoTextBox.Text);
                }
                ForecastPagingGridView.Columns[13 + colFijas].HeaderText = "Total";
                ForecastPagingGridView.DataBind();
			}
			catch (System.Threading.ThreadAbortException)
			{
				Trace.Warn("Thread abortado");
			}
		}
		private void BindPagingGrid()
		{
			try
			{
				System.Collections.Generic.List<CedForecastWebEntidades.RFoPA> lista;
                CedForecastWebEntidades.RFoPA Forecast = new CedForecastWebEntidades.RFoPA();
                Forecast.IdTipoPlanilla = "Proyectado";
                Forecast.IdCuenta = ((CedForecastWebEntidades.Sesion)Session["Sesion"]).Cuenta.Id;
                CedForecastWebRN.Periodo.ValidarPeriodoYYYYMM(PeriodoTextBox.Text);
                Forecast.IdPeriodo = PeriodoTextBox.Text;
                Forecast.Cliente.Id = ClienteDropDownList.SelectedValue;
                int CantidadFilas = 0;
                lista = CedForecastWebRN.RFoPA.Lista(out CantidadFilas, ForecastPagingGridView.PageIndex, ForecastPagingGridView.PageSize, ForecastPagingGridView.OrderBy, Forecast, Session.SessionID, (CedForecastWebEntidades.Sesion)Session["Sesion"]);
                ForecastPagingGridView.VirtualItemCount = CantidadFilas;
				ViewState["lista"] = lista;
				ForecastPagingGridView.DataSource = (System.Collections.Generic.List<CedForecastWebEntidades.RFoPA>)ViewState["lista"];
				ForecastPagingGridView.DataBind();
			}
			catch (System.Threading.ThreadAbortException)
			{
				Trace.Warn("Thread abortado");
			}
            catch (Exception ex)
            {
                CedeiraUIWebForms.Excepciones.Redireccionar(ex, "~/Excepcion.aspx");
            }
		}
		protected void ForecastPagingGridView_Sorting(object sender, GridViewSortEventArgs e)
		{
			try
			{
				DesSeleccionarFilas();
				System.Collections.Generic.List<CedForecastWebEntidades.RFoPA> lista = new System.Collections.Generic.List<CedForecastWebEntidades.RFoPA>();

                CedForecastWebEntidades.RFoPA Forecast = new CedForecastWebEntidades.RFoPA();
                Forecast.IdTipoPlanilla = "Proyectado";
                Forecast.IdCuenta = ((CedForecastWebEntidades.Sesion)Session["Sesion"]).Cuenta.Id;
                Forecast.IdPeriodo = PeriodoTextBox.Text;
                int CantidadFilas = 0;
				lista = CedForecastWebRN.RFoPA.Lista(out CantidadFilas, ForecastPagingGridView.PageIndex, ForecastPagingGridView.PageSize, ForecastPagingGridView.OrderBy, Forecast, Session.SessionID, (CedEntidades.Sesion)Session["Sesion"]);
				ViewState["lista"] = lista;
				ForecastPagingGridView.DataSource = (System.Collections.Generic.List<CedForecastWebEntidades.RFoPA>)ViewState["lista"];
				ForecastPagingGridView.DataBind();
			}
			catch (System.Threading.ThreadAbortException)
			{
				Trace.Warn("Thread abortado");
			}
			catch (Exception ex)
			{
				CedeiraUIWebForms.Excepciones.Redireccionar(ex, "~/Excepcion.aspx");
			}
		}
Ejemplo n.º 4
0
 protected void LeerButton_Click(object sender, EventArgs e)
 {
     try
     {
         CedForecastWebEntidades.RFoPA forecast = new CedForecastWebEntidades.RFoPA();
         forecast.IdCuenta = ((CedForecastWebEntidades.Sesion)Session["Sesion"]).Cuenta.Id;
         forecast.IdPeriodo = PeriodoTextBox.Text;
         forecast.IdTipoPlanilla = "Proyectado";
         if (!ClienteDropDownList.SelectedValue.Equals(string.Empty))
         {
             forecast.Cliente.Id = ClienteDropDownList.SelectedValue;
         }
         else
         {
             throw new Exception("Cliente no seleccionado");
         }
         if (!DivisionDropDownList.SelectedValue.Equals(string.Empty))
         {
             forecast.Articulo.GrupoArticulo.Division.Id = DivisionDropDownList.SelectedValue;
         }
         else
         {
             throw new Exception("División no seleccionada");
         }
         if (!FamiliaArticuloDropDownList.SelectedValue.Equals(string.Empty))
         {
             forecast.Articulo.FamiliaArticulo.Id = FamiliaArticuloDropDownList.SelectedValue;
         }
         List<CedForecastWebEntidades.RFoPA> forecastLista = CedForecastWebRN.RFoPA.Lista(forecast, (CedEntidades.Sesion)Session["Sesion"]);
         BindearGrillayDropDownLists(forecastLista, "");
         
         LeerButton.Enabled = false;
         PanelSeleccion.Enabled = false;
         detalleGridView.Enabled = true;
         CancelarButton.Enabled = true;
         AceptarButton.Enabled = true;
     }
     catch (Exception ex)
     {
         ScriptManager.RegisterClientScriptBlock(this, GetType(), "Message", "<SCRIPT LANGUAGE='javascript'>alert('" + ex.Message.ToString().Replace("'", "") + "');</SCRIPT>", false);
     }
 }
Ejemplo n.º 5
0
        protected void detalleGridView_RowDeleting(object sender, GridViewDeleteEventArgs e)
        {
            try
            {
                List<CedForecastWebEntidades.RFoPA> lineas = ((List<CedForecastWebEntidades.RFoPA>)ViewState["lineas"]);
                CedForecastWebEntidades.RFoPA l = lineas[e.RowIndex];
                lineas.Remove(l);

                if (lineas.Count.Equals(0))
                {
                    CedForecastWebEntidades.RFoPA nueva = new CedForecastWebEntidades.RFoPA();
                    lineas.Add(nueva);
                }

                detalleGridView.EditIndex = -1;

                detalleGridView.DataSource = ViewState["lineas"];
                detalleGridView.DataBind();
                BindearGrillayDropDownLists(((List<CedForecastWebEntidades.RFoPA>)ViewState["lineas"]), "");
            }
            catch { }

        }
Ejemplo n.º 6
0
        protected void detalleGridView_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            if (e.CommandName.Equals("AddDetalle"))
            {
                try
                {
                    if (ClienteDropDownList.SelectedItem.Value.Equals(string.Empty))
                    {
                        throw new Exception("Debe seleccionar un cliente antes de ingresar un detalle");
                    }
                    
                    CultureInfo cedeiraCultura = new System.Globalization.CultureInfo(System.Configuration.ConfigurationManager.AppSettings["Cultura"]);
                    
                    string auxIdArticulo = ((DropDownList)detalleGridView.FooterRow.FindControl("ddlIdArticulo")).SelectedValue;
                    CedForecastWebEntidades.RFoPA forecast = ((List<CedForecastWebEntidades.RFoPA>)ViewState["lineas"]).Find((delegate(CedForecastWebEntidades.RFoPA e1) { return e1.Articulo.Id == auxIdArticulo; }));
                    if (forecast != null && forecast.Articulo.Id == auxIdArticulo)
                    {
                        throw new Exception("Articulo ya ingresado.");
                    }

                    CedForecastWebEntidades.RFoPA l = new CedForecastWebEntidades.RFoPA();
                    l.IdCuenta = ((CedForecastWebEntidades.Sesion)Session["Sesion"]).Cuenta.Id;
                    l.Articulo.GrupoArticulo.Division.Id = DivisionDropDownList.SelectedValue;
                    l.Cliente.Id = ClienteDropDownList.SelectedValue;
                    l.IdPeriodo = PeriodoTextBox.Text;
                    l.IdTipoPlanilla = "Proyectado";

                    if (!auxIdArticulo.Equals(string.Empty))
                    {
                        l.Articulo = new CedForecastWebEntidades.Articulo();
                        l.Articulo.Id = auxIdArticulo;
                        List<CedForecastWebEntidades.Articulo> ArticuloLista = new List<CedForecastWebEntidades.Articulo>();
                        string listaArticulosADescartar = ListaArticulosADescartar("");
                        ArticuloLista = CedForecastWebRN.Articulo.Lista(true, (CedForecastWebEntidades.Sesion)Session["Sesion"], FamiliaArticuloDropDownList.SelectedValue, listaArticulosADescartar);
                        CedForecastWebEntidades.Articulo articulo = new CedForecastWebEntidades.Articulo();
                        articulo = ArticuloLista.Find((delegate(CedForecastWebEntidades.Articulo e1) { return e1.Id == auxIdArticulo; }));
                        l.Articulo.Descr = articulo.Descr;
                    }
                    else
                    {
                        throw new Exception("Seleccione un artículo");
                    }

                    int sumaCantidades = 0;
                    for (int i = 1; i < 15; i++)
                    {
                        sumaCantidades += Convert.ToInt32(((TextBox)detalleGridView.FooterRow.FindControl("txtCantidad" + i.ToString())).Text);
                    }
                    if (sumaCantidades == 0)
                    {
                        throw new Exception("Debe informar por lo menos un dato para el articulo seleccionado.");
                    }

                    string auxCantidad1 = ((TextBox)detalleGridView.FooterRow.FindControl("txtCantidad1")).Text;
                    if (!auxCantidad1.Contains(","))
                    {
                        l.Cantidad1 = Convert.ToDecimal(auxCantidad1, cedeiraCultura);
                    }
                    else
                    {
                        throw new Exception("Detalle no agregado porque el separador de decimales debe ser el punto");
                    }
                    string auxCantidad2 = ((TextBox)detalleGridView.FooterRow.FindControl("txtCantidad2")).Text;
                    if (!auxCantidad2.Contains(","))
                    {
                        l.Cantidad2 = Convert.ToDecimal(auxCantidad2, cedeiraCultura);
                    }
                    else
                    {
                        throw new Exception("Detalle no actualizado porque el separador de decimales debe ser el punto");
                    }
                    string auxCantidad3 = ((TextBox)detalleGridView.FooterRow.FindControl("txtCantidad3")).Text;
                    if (!auxCantidad3.Contains(","))
                    {
                        l.Cantidad3 = Convert.ToDecimal(auxCantidad3, cedeiraCultura);
                    }
                    else
                    {
                        throw new Exception("Detalle no actualizado porque el separador de decimales debe ser el punto");
                    }
                    string auxCantidad4 = ((TextBox)detalleGridView.FooterRow.FindControl("txtCantidad4")).Text;
                    if (!auxCantidad4.Contains(","))
                    {
                        l.Cantidad4 = Convert.ToDecimal(auxCantidad4, cedeiraCultura);
                    }
                    else
                    {
                        throw new Exception("Detalle no actualizado porque el separador de decimales debe ser el punto");
                    }
                    string auxCantidad5 = ((TextBox)detalleGridView.FooterRow.FindControl("txtCantidad5")).Text;
                    if (!auxCantidad5.Contains(","))
                    {
                        l.Cantidad5 = Convert.ToDecimal(auxCantidad5, cedeiraCultura);
                    }
                    else
                    {
                        throw new Exception("Detalle no actualizado porque el separador de decimales debe ser el punto");
                    }
                    string auxCantidad6 = ((TextBox)detalleGridView.FooterRow.FindControl("txtCantidad6")).Text;
                    if (!auxCantidad6.Contains(","))
                    {
                        l.Cantidad6 = Convert.ToDecimal(auxCantidad6, cedeiraCultura);
                    }
                    else
                    {
                        throw new Exception("Detalle no actualizado porque el separador de decimales debe ser el punto");
                    }
                    string auxCantidad7 = ((TextBox)detalleGridView.FooterRow.FindControl("txtCantidad7")).Text;
                    if (!auxCantidad7.Contains(","))
                    {
                        l.Cantidad7 = Convert.ToDecimal(auxCantidad7, cedeiraCultura);
                    }
                    else
                    {
                        throw new Exception("Detalle no actualizado porque el separador de decimales debe ser el punto");
                    }
                    string auxCantidad8 = ((TextBox)detalleGridView.FooterRow.FindControl("txtCantidad8")).Text;
                    if (!auxCantidad8.Contains(","))
                    {
                        l.Cantidad8 = Convert.ToDecimal(auxCantidad8, cedeiraCultura);
                    }
                    else
                    {
                        throw new Exception("Detalle no actualizado porque el separador de decimales debe ser el punto");
                    }
                    string auxCantidad9 = ((TextBox)detalleGridView.FooterRow.FindControl("txtCantidad9")).Text;
                    if (!auxCantidad9.Contains(","))
                    {
                        l.Cantidad9 = Convert.ToDecimal(auxCantidad9, cedeiraCultura);
                    }
                    else
                    {
                        throw new Exception("Detalle no actualizado porque el separador de decimales debe ser el punto");
                    }
                    string auxCantidad10 = ((TextBox)detalleGridView.FooterRow.FindControl("txtCantidad10")).Text;
                    if (!auxCantidad10.Contains(","))
                    {
                        l.Cantidad10 = Convert.ToDecimal(auxCantidad10, cedeiraCultura);
                    }
                    else
                    {
                        throw new Exception("Detalle no actualizado porque el separador de decimales debe ser el punto");
                    }
                    string auxCantidad11 = ((TextBox)detalleGridView.FooterRow.FindControl("txtCantidad11")).Text;
                    if (!auxCantidad11.Contains(","))
                    {
                        l.Cantidad11 = Convert.ToDecimal(auxCantidad11, cedeiraCultura);
                    }
                    else
                    {
                        throw new Exception("Detalle no actualizado porque el separador de decimales debe ser el punto");
                    }
                    string auxCantidad12 = ((TextBox)detalleGridView.FooterRow.FindControl("txtCantidad12")).Text;
                    if (!auxCantidad12.Contains(","))
                    {
                        l.Cantidad12 = Convert.ToDecimal(auxCantidad12, cedeiraCultura);
                    }
                    else
                    {
                        throw new Exception("Detalle no actualizado porque el separador de decimales debe ser el punto");
                    }
                    string auxCantidad13 = ((TextBox)detalleGridView.FooterRow.FindControl("txtCantidad13")).Text;
                    if (!auxCantidad13.Contains(","))
                    {
                        l.Cantidad13 = Convert.ToDecimal(auxCantidad13, cedeiraCultura);
                    }
                    else
                    {
                        throw new Exception("Detalle no actualizado porque el separador de decimales debe ser el punto");
                    }
                    string auxCantidad14 = ((TextBox)detalleGridView.FooterRow.FindControl("txtCantidad14")).Text;
                    if (!auxCantidad14.Contains(","))
                    {
                        l.Cantidad14 = Convert.ToDecimal(auxCantidad14, cedeiraCultura);
                    }
                    else
                    {
                        throw new Exception("Detalle no actualizado porque el separador de decimales debe ser el punto");
                    }

                    //Agrego la nueva linea
                    ((List<CedForecastWebEntidades.RFoPA>)ViewState["lineas"]).Add(l);

                    //Me fijo si elimino la fila automática
                    List<CedForecastWebEntidades.RFoPA> lineas = ((List<CedForecastWebEntidades.RFoPA>)ViewState["lineas"]);
                    CedForecastWebEntidades.RFoPA lineaInicial = lineas[0];
                    if (lineaInicial.IdCuenta == null)
                    {
                        ((List<CedForecastWebEntidades.RFoPA>)ViewState["lineas"]).Remove(lineaInicial);
                    }
                    detalleGridView.DataSource = ViewState["lineas"];
                    detalleGridView.DataBind();

                    BindearGrillayDropDownLists(((List<CedForecastWebEntidades.RFoPA>)ViewState["lineas"]), "");
                }
                catch (Exception ex)
                {
                    ScriptManager.RegisterClientScriptBlock(this, GetType(), "Message", "<SCRIPT LANGUAGE='javascript'>alert('" + ex.Message.ToString().Replace("'", "") + "');</SCRIPT>", false);
                }
            }
        }
Ejemplo n.º 7
0
        private void BindearGrillayDropDownLists(List<CedForecastWebEntidades.RFoPA> Forecast, string IdArticuloEnModificacion)
        {
            if (Forecast.Count > 0)
            {
                detalleGridView.DataSource = Forecast;
                detalleGridView.DataBind();
                ViewState["lineas"] = Forecast;
            }
            else
            {
                CedForecastWebEntidades.RFoPA vacio = new CedForecastWebEntidades.RFoPA();
                Forecast.Add(vacio);
                detalleGridView.DataSource = Forecast;
                detalleGridView.DataBind();
                ViewState["lineas"] = Forecast;

                int cantidadColumnas = detalleGridView.Rows[0].Cells.Count;
                detalleGridView.Rows[0].Cells.Clear();
                detalleGridView.Rows[0].Cells.Add(new TableCell());
                detalleGridView.Rows[0].Cells[0].ColumnSpan = cantidadColumnas;
                detalleGridView.Rows[0].Cells[0].Text = "No hay registros";
            }
            BindearDropDownLists(IdArticuloEnModificacion);
        }
Ejemplo n.º 8
0
 public List<CedForecastWebEntidades.RFoPA> Lista(out int CantidadFilas, int IndicePagina, int TamañoPagina, string OrderBy, string SessionID, List<CedForecastWebEntidades.RFoPA> ForecastLista, int CantidadMesesParaDesvio)
 {
     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("[Proyectado] [decimal](18, 0) NOT NULL, ");
     a.Append("[Ventas] [decimal](18, 0) 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.RFoPA Forecast in ForecastLista)
     {
         a.Append("Insert #Forecast" + SessionID + " values ('" + Forecast.IdTipoPlanilla + "', '");
         a.Append(Forecast.IdCuenta + "', '");
         a.Append(Forecast.Cliente.Id + "', '");
         a.Append(Forecast.Articulo.Id + "', '");
         a.Append(Forecast.IdPeriodo + "', ");
         a.Append(Forecast.Proyectado + ", ");
         a.Append(Forecast.Ventas + ", ");
         a.Append(Forecast.Cantidad1 + ", ");
         a.Append(Forecast.Cantidad2 + ", ");
         a.Append(Forecast.Cantidad3 + ", ");
         a.Append(Forecast.Cantidad4 + ", ");
         a.Append(Forecast.Cantidad5 + ", ");
         a.Append(Forecast.Cantidad6 + ", ");
         a.Append(Forecast.Cantidad7 + ", ");
         a.Append(Forecast.Cantidad8 + ", ");
         a.Append(Forecast.Cantidad9 + ", ");
         a.Append(Forecast.Cantidad10 + ", ");
         a.Append(Forecast.Cantidad11 + ", ");
         a.Append(Forecast.Cantidad12 + ", ");
         a.Append(Forecast.Cantidad13 + ", ");
         a.Append(Forecast.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("Proyectado, Ventas, 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);
     if (OrderBy.Trim().ToUpper() == "IDARTICULO" || OrderBy.Trim().ToUpper() == "IDARTICULO DESC" || OrderBy.Trim().ToUpper() == "IDARTICULO ASC")
     {
         OrderBy = "#Forecast" + SessionID + "." + OrderBy;
     }
     if (OrderBy.Trim().ToUpper() == "IDCLIENTE" || OrderBy.Trim().ToUpper() == "IDCLIENTE DESC" || OrderBy.Trim().ToUpper() == "IDCLIENTE ASC")
     {
         OrderBy = "#Forecast" + SessionID + "." + OrderBy;
     }
     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.RFoPA> lista = new List<CedForecastWebEntidades.RFoPA>();
     if (dt.Rows.Count != 0)
     {
         for (int i = 0; i < dt.Rows.Count; i++)
         {
             CedForecastWebEntidades.RFoPA forecast = new CedForecastWebEntidades.RFoPA();
             forecast.IdTipoPlanilla = dt.Rows[i]["IdTipoPlanilla"].ToString();
             forecast.IdPeriodo = dt.Rows[i]["IdPeriodo"].ToString();
             forecast.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();
             forecast.Cliente = cliente;
             CedForecastWebEntidades.Articulo articulo = new CedForecastWebEntidades.Articulo();
             articulo.Id = dt.Rows[i]["IdArticulo"].ToString();
             articulo.Descr = dt.Rows[i]["DescrArticulo"].ToString();
             forecast.Articulo = articulo;
             forecast.Proyectado = Convert.ToDecimal(dt.Rows[i]["Proyectado"].ToString());
             forecast.CantidadMesesParaDesvio = CantidadMesesParaDesvio;
             forecast.Ventas = Convert.ToDecimal(dt.Rows[i]["Ventas"].ToString());
             forecast.Cantidad1 = Convert.ToDecimal(dt.Rows[i]["Cantidad1"].ToString());
             forecast.Cantidad2 = Convert.ToDecimal(dt.Rows[i]["Cantidad2"].ToString());
             forecast.Cantidad3 = Convert.ToDecimal(dt.Rows[i]["Cantidad3"].ToString());
             forecast.Cantidad4 = Convert.ToDecimal(dt.Rows[i]["Cantidad4"].ToString());
             forecast.Cantidad5 = Convert.ToDecimal(dt.Rows[i]["Cantidad5"].ToString());
             forecast.Cantidad6 = Convert.ToDecimal(dt.Rows[i]["Cantidad6"].ToString());
             forecast.Cantidad7 = Convert.ToDecimal(dt.Rows[i]["Cantidad7"].ToString());
             forecast.Cantidad8 = Convert.ToDecimal(dt.Rows[i]["Cantidad8"].ToString());
             forecast.Cantidad9 = Convert.ToDecimal(dt.Rows[i]["Cantidad9"].ToString());
             forecast.Cantidad10 = Convert.ToDecimal(dt.Rows[i]["Cantidad10"].ToString());
             forecast.Cantidad11 = Convert.ToDecimal(dt.Rows[i]["Cantidad11"].ToString());
             forecast.Cantidad12 = Convert.ToDecimal(dt.Rows[i]["Cantidad12"].ToString());
             forecast.Cantidad13 = Convert.ToDecimal(dt.Rows[i]["Cantidad13"].ToString());
             forecast.Cantidad14 = Convert.ToDecimal(dt.Rows[i]["Cantidad14"].ToString());
             lista.Add(forecast);
         }
     }
     CantidadFilas = cantidadFilas;
     return lista;
 }
Ejemplo n.º 9
0
 public List<CedForecastWebEntidades.RFoPA> Lista(CedForecastWebEntidades.RFoPA Forecast)
 {
     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='" + Forecast.IdTipoPlanilla + "' ");
     if (Forecast.IdCuenta != null && Forecast.IdCuenta != "")
     {
         a.Append("and Forecast.IdCuenta='" + Forecast.IdCuenta + "' ");
     }
     if (Forecast.IdCliente != null && Forecast.IdCliente != "")
     {
         a.Append("and Forecast.IdCliente='" + Forecast.IdCliente + "' ");
     }
     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);
     if (Forecast.IdTipoPlanilla == "Proyectado" && Forecast.IdPeriodo.Substring(0, 4) == periodo.Substring(0, 4))
     {
         periodo = Forecast.IdPeriodo.Substring(0, 4) + "99";
     }
     a.Append("and IdPeriodo >= '" + Forecast.IdPeriodo + "' ");
     a.Append("and IdPeriodo <= '" + periodo + "' ");
     a.Append("order by Forecast.IdArticulo asc, Forecast.IdCliente asc, IdPeriodo asc");
     DataTable dt = new DataTable();
     dt = (DataTable)Ejecutar(a.ToString(), TipoRetorno.TB, Transaccion.NoAcepta, sesion.CnnStr);
     List<CedForecastWebEntidades.RFoPA> lista = new List<CedForecastWebEntidades.RFoPA>();
     if (dt.Rows.Count != 0)
     {
         CedForecastWebEntidades.RFoPA forecast = new CedForecastWebEntidades.RFoPA();
         string idArticulo = dt.Rows[0]["IdArticulo"].ToString() + dt.Rows[0]["IdCliente"].ToString();
         CopiarCab(dt.Rows[0], forecast, Forecast.IdPeriodo);
         //Lista de ventas para Rolling Forecast
         List<CedForecastWebEntidades.Venta> ventaLista = new List<CedForecastWebEntidades.Venta>();
         List<CedForecastWebEntidades.RFoPA> totalProyectadoLista = new List<CedForecastWebEntidades.RFoPA>();
         int cantidadMesesParaDevio = 0;
         if (Forecast.IdTipoPlanilla == "RollingForecast")
         {
             Venta ventaRN = new Venta(sesion);
             ventaLista = ventaRN.ConsultarTotales(PrimerMes(Forecast.IdPeriodo), Forecast.IdPeriodo);
             CedForecastWebEntidades.Venta venta = new CedForecastWebEntidades.Venta();
             venta = ventaLista.Find((delegate(CedForecastWebEntidades.Venta e) { return e.IdCliente == dt.Rows[0]["IdCliente"].ToString() && e.IdArticulo == dt.Rows[0]["IdArticulo"].ToString(); }));
             if (venta != null)
             {
                 forecast.Ventas = venta.Cantidad;
             }
             //Lista de totales proyectados por articulo
             totalProyectadoLista = TotalProyectado(Forecast);
             //Buscar total proyectado
             CedForecastWebEntidades.RFoPA totalProyectado = new CedForecastWebEntidades.RFoPA();
             totalProyectado = totalProyectadoLista.Find((delegate(CedForecastWebEntidades.RFoPA e) { return e.IdCliente == dt.Rows[0]["IdCliente"].ToString() && e.Articulo.Id == dt.Rows[0]["IdArticulo"].ToString(); }));
             if (totalProyectado != null)
             {
                 forecast.Proyectado = totalProyectado.Proyectado;
             }
             //Buscar primer mes de ejercicio economico.
             string ProyectadoMesInicio = System.Configuration.ConfigurationManager.AppSettings["ProyectadoMesInicio"];
             DateTime FechaInicio = DateTime.Today;
             if (Convert.ToInt32(Forecast.IdPeriodo.Substring(4, 2)) < Convert.ToInt32(ProyectadoMesInicio))
             {
                 FechaInicio = Convert.ToDateTime("01/" + ProyectadoMesInicio + "/" + Convert.ToDateTime("01/" + Forecast.IdPeriodo.Substring(4, 2) + "/" + Forecast.IdPeriodo.Substring(0, 4)).AddYears(-1).Year);
             }
             else
             {
                 FechaInicio = Convert.ToDateTime("01/" + ProyectadoMesInicio + "/" + Forecast.IdPeriodo.Substring(0, 4));
             }
             //Diferencia entre el año-mes del ejercicio económico y año-mes inicial del Rolling
             cantidadMesesParaDevio = MesAProcesar(Forecast.IdPeriodo, FechaInicio.ToString("yyyyMM"));
             cantidadMesesParaDevio = cantidadMesesParaDevio - 1;
             forecast.CantidadMesesParaDesvio = cantidadMesesParaDevio;
         }
         for (int i = 0; i < dt.Rows.Count; i++)
         {
             string periodoInicial = Forecast.IdPeriodo;
             int mes = 0;
             if (Forecast.IdTipoPlanilla == "Proyectado" && (dt.Rows[i]["IdPeriodo"].ToString().Substring(4, 2) == "13" || dt.Rows[i]["IdPeriodo"].ToString().Substring(4, 2) == "14"))
             {
                 mes = Convert.ToInt32(dt.Rows[i]["IdPeriodo"].ToString().Substring(4, 2));
             }
             else
             {
                 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(forecast);
                 forecast = new CedForecastWebEntidades.RFoPA();
                 forecast.CantidadMesesParaDesvio = cantidadMesesParaDevio;
                 CopiarCab(dt.Rows[i], forecast, Forecast.IdPeriodo);
                 if (Forecast.IdTipoPlanilla == "RollingForecast")
                 {
                     //Buscar ventas reales
                     CedForecastWebEntidades.Venta venta = new CedForecastWebEntidades.Venta();
                     venta = ventaLista.Find((delegate(CedForecastWebEntidades.Venta e) { return e.IdCliente == dt.Rows[i]["IdCliente"].ToString() && e.IdArticulo == dt.Rows[i]["IdArticulo"].ToString(); }));
                     if (venta != null)
                     {
                         forecast.Ventas = venta.Cantidad;
                     }
                     //Buscar total proyectado
                     CedForecastWebEntidades.RFoPA totalProyectado = new CedForecastWebEntidades.RFoPA();
                     totalProyectado = totalProyectadoLista.Find((delegate(CedForecastWebEntidades.RFoPA e) { return e.IdCliente == dt.Rows[i]["IdCliente"].ToString() && e.Articulo.Id == dt.Rows[i]["IdArticulo"].ToString(); }));
                     if (totalProyectado != null)
                     {
                         forecast.Proyectado = totalProyectado.Proyectado;
                     }
                 }
             }
             CopiarDet(dt.Rows[i], forecast, mes);
          }
          lista.Add(forecast);
     }
     cantidadFilas = lista.Count;
     return lista;
 }
Ejemplo n.º 10
0
 public List<CedForecastWebEntidades.RFoPA> TotalProyectado(CedForecastWebEntidades.RFoPA Forecast)
 { 
     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' ");
     if (Forecast.IdCuenta != null && Forecast.IdCuenta != "")
     {
         a.Append("and Forecast.IdCuenta='" + Forecast.IdCuenta + "' ");
     }
     if (Forecast.IdCliente != null && Forecast.IdCliente != "")
     {
         a.Append("and Forecast.IdCliente='" + Forecast.IdCliente + "' ");
     }
     try
     {
         string ProyectadoMesInicio = System.Configuration.ConfigurationManager.AppSettings["ProyectadoMesInicio"];
         DateTime FechaInicio = DateTime.Today;
         if (Convert.ToInt32(Forecast.IdPeriodo.Substring(4, 2)) < Convert.ToInt32(ProyectadoMesInicio))
         {
             FechaInicio = Convert.ToDateTime("01/" + ProyectadoMesInicio + "/" + Convert.ToDateTime("01/" + Forecast.IdPeriodo.Substring(4, 2) + "/" + Forecast.IdPeriodo.Substring(0, 4)).AddYears(-1).Year);
         }
         else
         {
             FechaInicio = Convert.ToDateTime("01/" + ProyectadoMesInicio + "/" + Forecast.IdPeriodo.Substring(0, 4));
         }
         string periodoDsd = FechaInicio.ToString("yyyyMM");
         string periodoHst = UltimoMesForecast(FechaInicio.ToString("yyyyMM"));
         if (Forecast.IdTipoPlanilla == "Proyectado" && periodoDsd.Substring(0, 4) == periodoHst.Substring(0, 4))
         {
             a.Append("and (IdPeriodo >= '" + periodoDsd + "' ");
             a.Append("and IdPeriodo <= '" + periodoDsd.Substring(0, 4) + "12') ");
         }
         else
         {
             a.Append("and ((IdPeriodo >= '" + periodoDsd + "' ");
             a.Append("and IdPeriodo <= '" + periodoDsd.Substring(0, 4) + "12') or ");
             a.Append("(IdPeriodo >= '" + periodoHst.Substring(0, 4) + "01' ");
             a.Append("and IdPeriodo <= '" + periodoHst + "')) ");
         }
     }
     catch
     {
         //MessageBox.Show("Problemas para obtener el mes inicial del ejercicio ecónomico.", "ATENCIÓN", MessageBoxButtons.OK, MessageBoxIcon.Warning);
         a.Append("and IdPeriodo >= '" + Forecast.IdPeriodo.Substring(0, 4) + "01' ");
         a.Append("and IdPeriodo <= '" + Forecast.IdPeriodo.Substring(0, 4) + "12' ");
     }
     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.RFoPA> lista = new List<CedForecastWebEntidades.RFoPA>();
     if (dt.Rows.Count != 0)
     {
         CedForecastWebEntidades.RFoPA forecast = new CedForecastWebEntidades.RFoPA();
         string idArticulo = dt.Rows[0]["IdArticulo"].ToString() + dt.Rows[0]["IdCliente"].ToString();
         CopiarCab(dt.Rows[0], forecast, Forecast.IdPeriodo);
         for (int i = 0; i < dt.Rows.Count; i++)
         {
             if (!(dt.Rows[i]["IdPeriodo"].ToString().Substring(4, 2) == "13" || dt.Rows[i]["IdPeriodo"].ToString().Substring(4, 2) == "14"))
             {
                 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(forecast);
                     forecast = new CedForecastWebEntidades.RFoPA();
                     CopiarCab(dt.Rows[i], forecast, Forecast.IdPeriodo);
                 }
                 forecast.Proyectado += Convert.ToDecimal(dt.Rows[i]["Cantidad"]);
             }
         }
         lista.Add(forecast);
     }
     return lista;
 }
Ejemplo n.º 11
0
		private void BindPagingGrid()
		{
			try
			{
                MsgErrorLabel.Text = "";
				System.Collections.Generic.List<CedForecastWebEntidades.RFoPA> lista;
                CedForecastWebEntidades.RFoPA Forecast = new CedForecastWebEntidades.RFoPA();
                Forecast.IdTipoPlanilla = "RollingForecast";
                Forecast.IdCuenta = CuentaDropDownList.SelectedValue;
                if (Forecast.IdCuenta.Trim() == "")
                {
                     throw new Exception("Seleccione el vendedor.");
                }
                if (PeriodoTextBox.Text.Trim() == "")
                {
                    throw new Exception("Seleccione un período.");
                }
                CedForecastWebRN.Periodo.ValidarPeriodoYYYYMM(PeriodoTextBox.Text);
                Forecast.IdPeriodo = PeriodoTextBox.Text;
                Forecast.Cliente.Id = ClienteDropDownList.SelectedValue;
                //if (Forecast.IdCliente.Trim() == "")
                //{
                //    throw new Exception("Seleccione el cliente.");
                //}
                int CantidadFilas = 0;
                lista = CedForecastWebRN.RFoPA.Lista(out CantidadFilas, ForecastPagingGridView.PageIndex, ForecastPagingGridView.PageSize, ForecastPagingGridView.OrderBy, Forecast, Session.SessionID, (CedForecastWebEntidades.Sesion)Session["Sesion"]);
                int colFijas = 6; //Es 0 y 1.
                for (int i = 1; i <= 12; i++)
                {
                    ForecastPagingGridView.Columns[i + colFijas].HeaderText = TextoCantidadHeader(i, PeriodoTextBox.Text);
                }
                ForecastPagingGridView.Columns[13 + colFijas].HeaderText = "Total";
                ForecastPagingGridView.VirtualItemCount = CantidadFilas;
				ViewState["lista"] = lista;
				ForecastPagingGridView.DataSource = (System.Collections.Generic.List<CedForecastWebEntidades.RFoPA>)ViewState["lista"];
				ForecastPagingGridView.DataBind();
                AceptarButton.Enabled = true;
                CancelarButton.Enabled = true;
                PanelSeleccion.Enabled = false;
                LeerButton.Enabled = false;
                CuentaAReasignarDropDownList.Enabled = true;
                if (Forecast.IdCliente.Trim() == "")
                {
                    ClienteAReasignarDropDownList.Enabled = false;
                }
                else
                {
                    ClienteAReasignarDropDownList.Enabled = true;
                }
                CuentaAReasignarDropDownList.SelectedIndex = -1;
                ClienteAReasignarDropDownList.SelectedIndex = -1;
			}
			catch (System.Threading.ThreadAbortException)
			{
				Trace.Warn("Thread abortado");
			}
            catch (Exception ex)
            {
                CedeiraUIWebForms.Excepciones.Redireccionar(ex, "~/Excepcion.aspx");
            }
		}
Ejemplo n.º 12
0
 protected void ConfirmarOK_Click(object sender, EventArgs e)
 {
     try
     {
         DivConfirmar.Visible = false;
         DivAceptarCancelar.Visible = true;
         AceptarButton.Enabled = false;
         CancelarButton.Enabled = false;
         System.Collections.Generic.List<CedForecastWebEntidades.RFoPA> lista;
         CedForecastWebEntidades.RFoPA Forecast = new CedForecastWebEntidades.RFoPA();
         Forecast.IdTipoPlanilla = "RollingForecast";
         Forecast.IdCuenta = CuentaDropDownList.SelectedValue;
         CedForecastWebRN.Periodo.ValidarPeriodoYYYYMM(PeriodoTextBox.Text);
         Forecast.IdPeriodo = PeriodoTextBox.Text;
         Forecast.Cliente.Id = ClienteDropDownList.SelectedValue;
         if (CuentaAReasignarDropDownList.SelectedValue.Trim() != "" && ClienteAReasignarDropDownList.SelectedValue.Trim() != "")
         {
             throw new Exception("Seleccione un vendedor o un cliente, no ambos.");
         }
         if (CuentaAReasignarDropDownList.SelectedValue.Trim() == "" && ClienteAReasignarDropDownList.SelectedValue.Trim() == "")
         {
             throw new Exception("Seleccione un vendedor o un cliente, al cual asignar los datos.");
         }
         lista = CedForecastWebRN.RFoPA.Lista(Forecast, (CedEntidades.Sesion)Session["Sesion"]);
         if (lista.Count == 0)
         {
             throw new Exception("No hay datos a reasignar, para la selección realizada.");
         }
         else
         {
             if (CuentaAReasignarDropDownList.SelectedValue != "")
             {
                 if (ClienteDropDownList.SelectedValue != "")
                 {
                     CedForecastWebRN.ForecastReasignar.Modificar(lista, "Cuenta", CuentaAReasignarDropDownList.SelectedValue.Trim(), PeriodoTextBox.Text, (CedEntidades.Sesion)Session["Sesion"]);
                 }
                 else
                 {
                     CedForecastWebRN.ForecastReasignar.Modificar(lista, "CuentaCompleta", CuentaAReasignarDropDownList.SelectedValue.Trim(), PeriodoTextBox.Text, (CedEntidades.Sesion)Session["Sesion"]);
                 }
             }
             else
             {
                 CedForecastWebRN.ForecastReasignar.Modificar(lista, "Cliente", ClienteAReasignarDropDownList.SelectedValue.Trim(), PeriodoTextBox.Text, (CedEntidades.Sesion)Session["Sesion"]);
             }
         }
     }
     catch (System.Threading.ThreadAbortException)
     {
         Trace.Warn("Thread abortado");
     }
     catch (Exception ex)
     {
         CedeiraUIWebForms.Excepciones.Redireccionar(ex, "~/Excepcion.aspx");
     }
     finally
     {
         AceptarButton.Enabled = false;
         CancelarButton.Enabled = false;
         CuentaAReasignarDropDownList.Enabled = false;
         ClienteAReasignarDropDownList.Enabled = false;
         PanelSeleccion.Enabled = true;
         LeerButton.Enabled = true;
         ForecastPagingGridView.DataSource = new System.Collections.Generic.List<CedForecastWebEntidades.RFoPA>();
         ForecastPagingGridView.DataBind();
         MsgErrorLabel.Text = "El cambio se ha realizado correctamente.";
     }
 }
Ejemplo n.º 13
0
		protected void ForecastPagingGridView_PageIndexChanging(object sender, GridViewPageEventArgs e)
		{
			try
			{
				DesSeleccionarFilas();
				ForecastPagingGridView.PageIndex = e.NewPageIndex;
				System.Collections.Generic.List<CedForecastWebEntidades.RFoPA> lista;
                CedForecastWebEntidades.RFoPA Forecast = new CedForecastWebEntidades.RFoPA();
                Forecast.IdTipoPlanilla = "RollingForecast";
                Forecast.IdCuenta = CuentaDropDownList.SelectedValue;
                Forecast.Cliente.Id = ClienteDropDownList.SelectedValue;
                Forecast.IdPeriodo = PeriodoTextBox.Text;
                int CantidadFilas = 0;
                lista = CedForecastWebRN.RFoPA.Lista(out CantidadFilas, ForecastPagingGridView.PageIndex, ForecastPagingGridView.PageSize, ForecastPagingGridView.OrderBy, Forecast, Session.SessionID, (CedEntidades.Sesion)Session["Sesion"]);
                ForecastPagingGridView.VirtualItemCount = CantidadFilas;
				ViewState["lista"] = lista;
				ForecastPagingGridView.DataSource = lista;
				ForecastPagingGridView.DataBind();
			}
			catch (System.Threading.ThreadAbortException)
			{
				Trace.Warn("Thread abortado.");
			}
			catch (Exception ex)
			{
				CedeiraUIWebForms.Excepciones.Redireccionar(ex, "~/Excepcion.aspx");
			}
		}