//public void Leer(CedForecastWebEntidades.Articulo Articulo) //{ // StringBuilder a = new StringBuilder(string.Empty); // a.Append("select ltrim(rtrim(Articulo.IdArticulo)) as IdArticulo, Articulo.DescrArticulo, Articulo.PesoBruto, Articulo.UnidadMedida, Articulo.IdGrupoArticulo, GrupoArticulo.DescrGrupoArticulo, Articulo.Habilitado, Articulo.FechaUltModif, GrupoArticulo.IdDivision, Division.DescrDivision "); // a.Append("from Articulo inner join GrupoArticulo on Articulo.IdGrupoArticulo=GrupoArticulo.IdGrupoArticulo inner join Division on GrupoArticulo.IdDivision=Division.IdDivision "); // a.Append("where Articulo.IdArticulo='" + Articulo.Id.ToString() + "'"); // DataTable dt = (DataTable)Ejecutar(a.ToString(), TipoRetorno.TB, Transaccion.NoAcepta, sesion.CnnStr); // if (dt.Rows.Count == 0) // { // throw new Microsoft.ApplicationBlocks.ExceptionManagement.Validaciones.ElementoInexistente("Articulo " + Articulo.Id.ToString()); // } // else // { // Copiar(dt.Rows[0], Articulo); // } //} public List<CedForecastWebEntidades.Articulo> Lista(bool ConArticuloSinInformar, CedForecastWebEntidades.Division Division, string IdFamiliaArticulo, string ListaArticulosADescartar) { System.Text.StringBuilder a = new StringBuilder(); a.Append("select ltrim(rtrim(Articulo.IdArticulo)) as IdArticulo, Articulo.DescrArticulo, Articulo.PesoBruto, Articulo.UnidadMedida, Articulo.IdGrupoArticulo, GrupoArticulo.DescrGrupoArticulo, Articulo.Habilitado, Articulo.FechaUltModif, GrupoArticulo.IdDivision, Division.DescrDivision, FamiliaArticulo.IdFamiliaArticulo, FamiliaArticulo.DescrFamiliaArticulo "); a.Append("from Articulo inner join GrupoArticulo on Articulo.IdGrupoArticulo=GrupoArticulo.IdGrupoArticulo inner join Division on GrupoArticulo.IdDivision=Division.IdDivision "); a.Append("inner join FamiliaArticuloXArticulo on Articulo.IdArticulo=FamiliaArticuloXArticulo.IdArticulo "); a.Append("inner join FamiliaArticulo on FamiliaArticuloXArticulo.IdFamiliaArticulo=FamiliaArticulo.IdFamiliaArticulo "); a.Append("where GrupoArticulo.IdDivision = '" + Division.Id + "'"); if (IdFamiliaArticulo != "") { a.Append(" and FamiliaArticuloXArticulo.IdFamiliaArticulo = '" + IdFamiliaArticulo + "'"); } if (ListaArticulosADescartar != "") { a.Append(" and Articulo.IdArticulo not in (" + ListaArticulosADescartar + ") "); } DataTable dt = new DataTable(); dt = (DataTable)Ejecutar(a.ToString(), TipoRetorno.TB, Transaccion.NoAcepta, sesion.CnnStr); List<CedForecastWebEntidades.Articulo> lista = new List<CedForecastWebEntidades.Articulo>(); if (dt.Rows.Count != 0) { if (ConArticuloSinInformar) { lista.Add(new CedForecastWebEntidades.Articulo()); } for (int i = 0; i < dt.Rows.Count; i++) { CedForecastWebEntidades.Articulo Articulo = new CedForecastWebEntidades.Articulo(); Copiar(dt.Rows[i], Articulo); lista.Add(Articulo); } } return lista; }
private void CopiarCab(DataRow Desde, CedForecastWebEntidades.Proyectado Hasta, string PeriodoInicial) { Hasta.IdTipoPlanilla = Convert.ToString(Desde["IdTipoPlanilla"]); Hasta.IdCuenta = Convert.ToString(Desde["IdCuenta"]); CedForecastWebEntidades.Cliente cliente = new CedForecastWebEntidades.Cliente(); cliente.Id = Convert.ToString(Desde["IdCliente"]); cliente.Descr = Convert.ToString(Desde["DescrCliente"]); Hasta.Cliente = cliente; CedForecastWebEntidades.Articulo articulo = new CedForecastWebEntidades.Articulo(); articulo.Id = Convert.ToString(Desde["IdArticulo"]); articulo.Descr = Convert.ToString(Desde["DescrArticulo"]); Hasta.Articulo = articulo; CedForecastWebEntidades.GrupoArticulo grupoArticulo = new CedForecastWebEntidades.GrupoArticulo(); grupoArticulo.IdGrupoArticulo = Convert.ToString(Desde["IdGrupoArticulo"]); grupoArticulo.DescrGrupoArticulo = Convert.ToString(Desde["DescrGrupoArticulo"]); Hasta.Articulo.GrupoArticulo = grupoArticulo; CedForecastWebEntidades.Division division = new CedForecastWebEntidades.Division(); division.Id = Convert.ToString(Desde["IdDivision"]); division.Descr = Convert.ToString(Desde["DescrDivision"]); Hasta.Articulo.GrupoArticulo.Division = division; CedForecastWebEntidades.FamiliaArticulo familiaArticulo = new CedForecastWebEntidades.FamiliaArticulo(); familiaArticulo.Id = Convert.ToString(Desde["IdFamiliaArticulo"]); familiaArticulo.Descr = Convert.ToString(Desde["DescrFamiliaArticulo"]); Hasta.Articulo.FamiliaArticulo = familiaArticulo; Hasta.IdPeriodo = PeriodoInicial; }
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; }
public Proyectado() { articulo = new Articulo(); cliente = new Cliente(); }
public Forecast() { articulo = new Articulo(); cliente = new Cliente(); }
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); } } }
private void CopiarCab(DataRow Desde, CedForecastWebEntidades.RFoPA Hasta, string PeriodoInicial) { Hasta.IdTipoPlanilla = Convert.ToString(Desde["IdTipoPlanilla"]); Hasta.IdCuenta = Convert.ToString(Desde["IdCuenta"]); CedForecastWebEntidades.Cliente cliente = new CedForecastWebEntidades.Cliente(); cliente.Id = Convert.ToString(Desde["IdCliente"]); cliente.Descr = Convert.ToString(Desde["DescrCliente"]); Hasta.Cliente = cliente; CedForecastWebEntidades.Articulo articulo = new CedForecastWebEntidades.Articulo(); articulo.Id = Convert.ToString(Desde["IdArticulo"]); articulo.Descr = Convert.ToString(Desde["DescrArticulo"]); Hasta.Articulo = articulo; CedForecastWebEntidades.GrupoArticulo grupoArticulo = new CedForecastWebEntidades.GrupoArticulo(); grupoArticulo.IdGrupoArticulo = Convert.ToString(Desde["IdGrupoArticulo"]); grupoArticulo.DescrGrupoArticulo = Convert.ToString(Desde["DescrGrupoArticulo"]); Hasta.Articulo.GrupoArticulo = grupoArticulo; CedForecastWebEntidades.Division division = new CedForecastWebEntidades.Division(); division.Id = Convert.ToString(Desde["IdDivision"]); division.Descr = Convert.ToString(Desde["DescrDivision"]); Hasta.Articulo.GrupoArticulo.Division = division; CedForecastWebEntidades.FamiliaArticulo familiaArticulo = new CedForecastWebEntidades.FamiliaArticulo(); familiaArticulo.Id = Convert.ToString(Desde["IdFamiliaArticulo"]); familiaArticulo.Descr = Convert.ToString(Desde["DescrFamiliaArticulo"]); Hasta.Articulo.FamiliaArticulo = familiaArticulo; Hasta.IdPeriodo = PeriodoInicial; if (Hasta.IdTipoPlanilla == "RollingForecast") { //Hasta.CantidadMesesParaDesvio = 13 - Convert.ToInt32(PeriodoInicial.Substring(4, 2)); } }
public RFoPA() { articulo = new Articulo(); cliente = new Cliente(); CantidadMesesParaDesvio = 0; }