private void Page_Load(object sender, System.EventArgs e) { try { this.tariFlete = (ITarifarioFlete)Session["tarifario"]; this.tariTopes = (ITarifariosFleteTopeCol)Session ["topes"]; this.tariZonas = (ITarifariosFleteZonaCol)Session["zonas"]; if (!IsPostBack) { Page.SmartNavigation = false; Response.Buffer = true; Response.Expires = -1000; Response.ExpiresAbsolute = DateTime.Now.AddDays(-1); Response.AddHeader("pragma", "no-cache"); Response.AddHeader("cache-control", "private"); Response.CacheControl = "no-cache"; Session["dsTopesImportes"] = null; } else { dsTopesImportes = (DataView)Session["dsTopesImportes"]; this.SetGrilla(); } AdministrarGrillas.ConfigurarChica(dtgImportes, "TarifarioFleteTopeID"); //this.BindGrid(0); this.Consultar(); if (tariFlete.ValorizacionTarifario == NegociosSisPackInterface.SisPack.ValorizacionTarifario.Kilogramo) { dtgImportes.Columns[1].Visible = false; dtgImportes.Columns[3].Visible = false; } if (tariFlete.ValorizacionTarifario == NegociosSisPackInterface.SisPack.ValorizacionTarifario.Bulto) { dtgImportes.Columns[3].Visible = false; } //SFE: Ocultar columnas y cambiar el titulo si la Valorizacion es por Valor Declarado o Bulto_Variable if (tariFlete.ValorizacionTarifario == NegociosSisPackInterface.SisPack.ValorizacionTarifario.ValorDeclarado || tariFlete.ValorizacionTarifario == NegociosSisPackInterface.SisPack.ValorizacionTarifario.Bulto_Variable) { dtgImportes.Columns[1].Visible = false; dtgImportes.Columns[3].Visible = false; } } catch (Exception ex) { throw ex; } }
public void ValidateImportes(object source, System.Web.UI.WebControls.ServerValidateEventArgs args) { if (tariFlete.ValorizacionTarifario == SisPack.ValorizacionTarifario.Bulto_Kilogramo) { ITarifariosFleteZonaTopeCol zonasTopes = tariFlete.ZonasTopesCol; ITarifariosFleteTopeCol tariTopes = tariFlete.TopesCol; ITarifariosFleteZonaCol tariZonas = tariFlete.ZonasCol; TextBox txt1, txt2; //Se lo agregué para poder probar los validadores agregados a los text string mje = "Error en la "; for (int i = 0; i < tariTopes.getCount(); i++) { ITarifarioFleteTope oTope = (ITarifarioFleteTope)tariTopes.GetTarifarioFleteTope(i); for (int j = 0; j < tariZonas.getCount(); j++) { ITarifarioFleteZona oZona = (ITarifarioFleteZona)tariZonas.GetTarifarioFleteZona(j); ITarifarioFleteZonaTope oZonaTope = zonasTopes.ConsultarExiste(oTope.TarifarioFleteTopeID, oZona.TarifarioFleteZonaID); if (oZonaTope != null) { txt1 = (TextBox)this.FindControl("txtImporte_" + oZona.Zona.ZonaID + "_" + oTope.Tope.TopeID); txt2 = (TextBox)this.FindControl("txtImporteBulto_" + oZona.Zona.ZonaID + "_" + oTope.Tope.TopeID); if ((txt1.Text.Trim() == "" & txt2.Text.Trim() != "") || (txt1.Text.Trim() != "" & txt2.Text.Trim() == "")) { mje += ((ITarifarioFleteZona)tariZonas.GetTarifarioFleteZona(j)).Zona.ZonaDescrip + ", Tope " + ((ITarifarioFleteTope)tariTopes.GetTarifarioFleteTope(i)).Tope.TopeKgHasta + "; "; } } } } if (mje != "Error en la ") { args.IsValid = false; ((CustomValidator)source).ErrorMessage = "Debe ingresar o borrar los dos valores para una combinacion: " + mje; //"Debe seleccionar tope y zona para asignar importes"; return; } args.IsValid = true; } }
public void CargarTablaImportes(bool edit) { ITarifariosFleteZonaTopeCol zonasTopes = tariFlete.ZonasTopesCol; ITarifariosFleteTopeCol tariTopes = tariFlete.TopesCol; ITarifariosFleteZonaCol tariZonas = tariFlete.ZonasCol; if (zonasTopes.getCount() > 0) { HtmlTable tblTabla = (HtmlTable)FindControl("tblImportesTarifario"); HtmlTableRow rowFila = new HtmlTableRow(); HtmlTableCell celCelda = new HtmlTableCell(); TextBox txt1, txt2; Label lbl1, lbl2; PlaceHolder ph1, ph2; celCelda.InnerText = ""; celCelda.Attributes.Add("Class", "TituloGrilla"); rowFila.Cells.Add(celCelda); for (int i = 0; i < tariZonas.getCount(); i++) { celCelda = new HtmlTableCell(); celCelda.Attributes.Add("Class", "TituloGrillaFijo"); if (tariFlete.ValorizacionTarifario == SisPack.ValorizacionTarifario.Bulto_Kilogramo) { celCelda.Attributes.Add("Colspan", "2"); } celCelda.InnerText = ((ITarifarioFleteZona)tariZonas.GetTarifarioFleteZona(i)).Zona.ZonaDescrip; rowFila.Controls.Add(celCelda); } tblTabla.Rows.Add(rowFila); //Si la valorizacion del Tarifario es Bulto-kilogramo agrego los subtitulos Primer Bulto y Bulto Exc if (tariFlete.ValorizacionTarifario == SisPack.ValorizacionTarifario.Bulto_Kilogramo) { rowFila = new HtmlTableRow(); celCelda = new HtmlTableCell(); celCelda.InnerText = ""; celCelda.Attributes.Add("Class", "TituloGrilla"); rowFila.Cells.Add(celCelda); for (int i = 0; i < tariZonas.getCount(); i++) { celCelda = new HtmlTableCell(); celCelda.Attributes.Add("Class", "TituloGrillaFijo"); celCelda.Attributes.Add("Colspan", "1"); celCelda.InnerText = "Primer Bulto"; rowFila.Controls.Add(celCelda); celCelda = new HtmlTableCell(); celCelda.Attributes.Add("Class", "TituloGrillaFijo"); celCelda.Attributes.Add("Colspan", "1"); celCelda.InnerText = "Bulto Exc"; rowFila.Controls.Add(celCelda); } tblTabla.Rows.Add(rowFila); } for (int i = 0; i < tariTopes.getCount(); i++) { ITarifarioFleteTope oTope = (ITarifarioFleteTope)tariTopes.GetTarifarioFleteTope(i); rowFila = new HtmlTableRow(); celCelda = new HtmlTableCell(); celCelda.InnerText = oTope.Tope.TopeKgHasta.ToString(); celCelda.Attributes.Add("Class", "TituloGrilla"); rowFila.Cells.Add(celCelda); for (int j = 0; j < tariZonas.getCount(); j++) { ITarifarioFleteZona oZona = (ITarifarioFleteZona)tariZonas.GetTarifarioFleteZona(j); ITarifarioFleteZonaTope oZonaTope = zonasTopes.ConsultarExiste(oTope.TarifarioFleteTopeID, oZona.TarifarioFleteZonaID); celCelda = new HtmlTableCell(); celCelda.InnerText = ""; HtmlTableCell celCelda1 = new HtmlTableCell(); celCelda1.InnerText = ""; if (oZonaTope != null) { if (edit) { txt1 = new TextBox(); txt1.CssClass = "CampoChicoFijo"; txt1.ID = "txtImporte_" + oZona.Zona.ZonaID + "_" + oTope.Tope.TopeID; txt1.EnableViewState = false; txt1.Text = oZonaTope.Importe.ToString("0.###"); txt1.MaxLength = 12; celCelda.Controls.Add(txt1); ph1 = new PlaceHolder(); ph1.Controls.Add(GenerarValidadores.DecimalPositivo(txt1.ID, this.TraducirTexto("Errores.Invalidos.Importe"), true, "valImporte_" + oZona.Zona.ZonaID + "_" + oTope.Tope.TopeID)); celCelda.Controls.Add(ph1); //rowFila.Cells.Add(celCelda); if (tariFlete.ValorizacionTarifario == SisPack.ValorizacionTarifario.Bulto_Kilogramo) { txt2 = new TextBox(); txt2.CssClass = "CampoChicoFijo"; txt2.ID = "txtImporteBulto_" + oZona.Zona.ZonaID + "_" + oTope.Tope.TopeID; txt2.EnableViewState = false; txt2.Text = oZonaTope.ImporteBultoExc.ToString("0.###"); txt2.MaxLength = 12; celCelda1.Controls.Add(txt2); ph2 = new PlaceHolder(); //VER ph2.Controls.Add(GenerarValidadores.DecimalPositivo(txt2.ID, this.TraducirTexto("Errores.Invalidos.Importe"), true, "valImporteBulto_" + oZona.Zona.ZonaID + "_" + oTope.Tope.TopeID)); celCelda1.Controls.Add(ph2); //rowFila.Cells.Add(celCelda1); } } else { lbl1 = new Label(); lbl1.CssClass = "TextoChicoFijo"; lbl1.ID = "lblImporte_" + oZona.Zona.ZonaID + "_" + oTope.Tope.TopeID; lbl1.Text = oZonaTope.Importe.ToString("0.###"); /*SFE Mostrar en la tabla el texto "/Kg" si es Kilogramo Variable o "%" si es Por Valor Declarado*/ if (tariFlete.ValorizacionTarifario == SisPack.ValorizacionTarifario.Kilogramo) { if (oTope.KgVariable) { lbl1.Text = lbl1.Text + " / Kg."; } } else if (tariFlete.ValorizacionTarifario == SisPack.ValorizacionTarifario.ValorDeclarado) { lbl1.Text = lbl1.Text + " %"; } celCelda.Controls.Add(lbl1); //rowFila.Cells.Add(celCelda); if (tariFlete.ValorizacionTarifario == SisPack.ValorizacionTarifario.Bulto_Kilogramo) { //HtmlTableCell celCelda1 = new HtmlTableCell(); //celCelda1.InnerText = ""; lbl2 = new Label(); lbl2.CssClass = "TextoChicoFijo"; lbl2.ID = "lblImporteBulto_" + oZona.Zona.ZonaID + "_" + oTope.Tope.TopeID; lbl2.Text = oZonaTope.ImporteBultoExc.ToString("0.###"); celCelda1.Controls.Add(lbl2); //rowFila.Cells.Add(celCelda1); } } } rowFila.Cells.Add(celCelda); if (tariFlete.ValorizacionTarifario == SisPack.ValorizacionTarifario.Bulto_Kilogramo) { rowFila.Cells.Add(celCelda1); } } tblTabla.Rows.Add(rowFila); } if ((this.txtAccion.Text == "E") || (this.txtAccion.Text == "G")) { this.SetearBotones("GuardarCancelar"); } else { this.SetearBotones("Editar"); } } else { this.SetearBotones("Ninguno"); } }
public bool GuardarImportesTabla() { ITarifariosFleteZonaTopeCol zonasTopes = tariFlete.ZonasTopesCol; ITarifariosFleteTopeCol tariTopes = tariFlete.TopesCol; ITarifariosFleteZonaCol tariZonas = tariFlete.ZonasCol; TextBox txt1, txt2; //Se lo agregué para poder probar los validadores agregados a los text for (int i = 0; i < tariTopes.getCount(); i++) { ITarifarioFleteTope oTope = (ITarifarioFleteTope)tariTopes.GetTarifarioFleteTope(i); for (int j = 0; j < tariZonas.getCount(); j++) { ITarifarioFleteZona oZona = (ITarifarioFleteZona)tariZonas.GetTarifarioFleteZona(j); ITarifarioFleteZonaTope oZonaTope = zonasTopes.ConsultarExiste(oTope.TarifarioFleteTopeID, oZona.TarifarioFleteZonaID); if (oZonaTope != null) { txt1 = (TextBox)this.FindControl("txtImporte_" + oZona.Zona.ZonaID + "_" + oTope.Tope.TopeID); if (txt1.Text.Trim() == "") { // Guardamos el usuario que ejecuta la acción. IUsuarios usuarioConectado = NegociosSisPackFactory.UsuariosFactory.GetUsuario(); usuarioConectado.Login = this.UsuarioConectadoID; usuarioConectado.ConsultarByLogin(); if (oZonaTope.Eliminar(usuarioConectado.UsuarioID)) { zonasTopes.RemoveTarifarioFleteZonaTope(oZonaTope); } } else { oZonaTope.Importe = Convert.ToDouble(txt1.Text); if (tariFlete.ValorizacionTarifario == SisPack.ValorizacionTarifario.Bulto_Kilogramo) { txt2 = (TextBox)this.FindControl("txtImporteBulto_" + oZona.Zona.ZonaID + "_" + oTope.Tope.TopeID); oZonaTope.ImporteBultoExc = Convert.ToDouble(txt2.Text); } } } } } // Obtenemos el usuario que graba el tope. IUsuarios usuarioConectado2 = NegociosSisPackFactory.UsuariosFactory.GetUsuario(); usuarioConectado2.Login = this.UsuarioConectadoID; usuarioConectado2.ConsultarByLogin(); if (zonasTopes.Guardar(usuarioConectado2.UsuarioID)) { Session["tarifario"] = this.tariFlete; return(true); } else { return(false); } }
/// <summary> /// Método que asigna un tarifario, los importes correspondientes para las /// zonas y topes que se le pasan como parámetro. /// El cálculo se realiza en base a la información que posee el tarifario, con respecto al /// tarifario de referncia y la variación a aplicar. /// </summary> /// <param name="tariFlete">Tarifario al que se asignan los importes</param> /// <param name="topesCol">Topes para los que se asignaran importes</param> /// <param name="zonasCol">Zonas para las que se asignaran importes</param> /// <param name="ok">Estado de la relación, si es OK pudo insertar todas las relaciones, /// si es ERR no pudo porque la base no lo tiene asociado</param> public static bool AsignarImportes(ITarifarioFlete tariFleteNuevo, ITarifariosFleteTopeCol topesCol, ITarifariosFleteZonaCol zonasCol, ArrayList ok, int usuarioID) { ITarifarioFlete tariRef = TarifarioFleteFactory.GetTarifarioFlete(); //PAO //Inicializo el parámetro ok.Add("OK"); //PAO //Solo me interesa consultar los importes del tarifario de referencia tariRef.ZonasTopesCol.TarifarioFleteID = tariFleteNuevo.TarifarioFleteRefID; tariRef.ZonasTopesCol.Consultar(); bool esPorcentaje; if (tariFleteNuevo.PorcentajeAjuste != 0) { esPorcentaje = true; } else { esPorcentaje = false; } for (int i = 0; i < topesCol.getCount(); i++) { ITarifarioFleteTope oTope = (ITarifarioFleteTope)topesCol.GetTarifarioFleteTope(i); for (int j = 0; j < zonasCol.getCount(); j++) { ITarifarioFleteZona oZona = (ITarifarioFleteZona)zonasCol.GetTarifarioFleteZona(j); //Recupero el importe al cual voy a aplicarle la variacion. ITarifarioFleteZonaTope oZonaTopeRef = TarifarioFleteZonaTopeFactory.GetTarifarioFleteZonaTope(); oZonaTopeRef = tariRef.ZonasTopesCol.ConsultarExisteByZonaTopeID(oTope.Tope.TopeID, oZona.Zona.ZonaID); if (oZonaTopeRef != null) { //Agregar un objeto de la coleccion, para setear el importe ITarifarioFleteZonaTope oZonaTopeNuevo = tariFleteNuevo.ZonasTopesCol.AddTarifarioFleteZonaTope(); //Asignar Ids oZonaTopeNuevo.TarifarioFleteZona.TarifarioFleteZonaID = oZona.TarifarioFleteZonaID; oZonaTopeNuevo.TarifarioFleteTope.TarifarioFleteTopeID = oTope.TarifarioFleteTopeID; //Hacer el calculo segun corresponda...Si se trata de un porcentaje o if (tariFleteNuevo.FactorAjuste != "") { if (esPorcentaje) { if (tariFleteNuevo.FactorAjuste == "+") { oZonaTopeNuevo.Importe = oZonaTopeRef.Importe + (oZonaTopeRef.Importe * (tariFleteNuevo.PorcentajeAjuste / 100)); //Nuevo Metodo de valorizacion de tarifarios Bulto-Kilogramo Bety if (tariFleteNuevo.ValorizacionTarifario == SisPack.ValorizacionTarifario.Bulto_Kilogramo) { oZonaTopeNuevo.ImporteBultoExc = oZonaTopeRef.ImporteBultoExc + (oZonaTopeRef.ImporteBultoExc * (tariFleteNuevo.PorcentajeAjuste / 100)); } } else { oZonaTopeNuevo.Importe = oZonaTopeRef.Importe - (oZonaTopeRef.Importe * (tariFleteNuevo.PorcentajeAjuste / 100)); if (tariFleteNuevo.ValorizacionTarifario == SisPack.ValorizacionTarifario.Bulto_Kilogramo) { oZonaTopeNuevo.ImporteBultoExc = oZonaTopeRef.ImporteBultoExc - (oZonaTopeRef.ImporteBultoExc * (tariFleteNuevo.PorcentajeAjuste / 100)); if (oZonaTopeNuevo.ImporteBultoExc < 0) { oZonaTopeNuevo.ImporteBultoExc = 0; } } if (oZonaTopeNuevo.Importe < 0) { oZonaTopeNuevo.Importe = 0; } } } else { if (tariFleteNuevo.FactorAjuste == "+") { oZonaTopeNuevo.Importe = oZonaTopeRef.Importe + tariFleteNuevo.ImporteAjuste; if (tariFleteNuevo.ValorizacionTarifario == SisPack.ValorizacionTarifario.Bulto_Kilogramo) { oZonaTopeNuevo.ImporteBultoExc = oZonaTopeRef.ImporteBultoExc + tariFleteNuevo.ImporteAjuste; } } else { oZonaTopeNuevo.Importe = oZonaTopeRef.Importe - tariFleteNuevo.ImporteAjuste; if (tariFleteNuevo.ValorizacionTarifario == SisPack.ValorizacionTarifario.Bulto_Kilogramo) { oZonaTopeNuevo.ImporteBultoExc = oZonaTopeRef.ImporteBultoExc - tariFleteNuevo.ImporteAjuste; if (oZonaTopeNuevo.ImporteBultoExc < 0) { oZonaTopeNuevo.ImporteBultoExc = 0; } } if (oZonaTopeNuevo.Importe < 0) { oZonaTopeNuevo.Importe = 0; } } } } else { oZonaTopeNuevo.Importe = oZonaTopeRef.Importe; if (tariFleteNuevo.ValorizacionTarifario == SisPack.ValorizacionTarifario.Bulto_Kilogramo) { oZonaTopeNuevo.ImporteBultoExc = oZonaTopeRef.ImporteBultoExc; } } } //PAO else { //Marco la variable ok con ERR, para mostrarle al usuario que no existe esa relación ok[0] = "ERR"; } //PAO } } try { tariFleteNuevo.ZonasTopesCol.TarifarioFleteID = tariFleteNuevo.TarifarioFleteID; if (tariFleteNuevo.ZonasTopesCol.Guardar(usuarioID)) { return(true); } else { return(false); } } catch (Exception) { return(false); } }
private void butTopes_Click(object sender, System.EventArgs e) { ITarifariosFleteTopeCol tariTopes = tariFlete.TopesCol; tariTopes.TarifarioFleteID = tariFlete.TarifarioFleteID; string vol = ""; bool bul = false; bool isOK = true; /*SFE Se agrega validador de volumen para Bulto_Variable, a pedido de Carlos Marcon*/ if (tariFlete.ValorizacionTarifario == SisPack.ValorizacionTarifario.Bulto || tariFlete.ValorizacionTarifario == SisPack.ValorizacionTarifario.Bulto_Kilogramo || tariFlete.ValorizacionTarifario == SisPack.ValorizacionTarifario.Bulto_Variable) { bul = true; } foreach (DataGridItem item in dtgTopesDisponibles.Items) { if (((CheckBox)item.FindControl("chkTopeDisp")).Checked) { if (bul) { BaseValidator valVolumen = (RegularExpressionValidator)((PlaceHolder)item.FindControl("phValidVol")).FindControl("valVolumen"); RequiredFieldValidator reqVolumen = (RequiredFieldValidator)((PlaceHolder)item.FindControl("phValidVol")).FindControl("reqVolumen"); valVolumen.Enabled = true; reqVolumen.Enabled = true; valVolumen.Validate(); reqVolumen.Validate(); if (!valVolumen.IsValid || !reqVolumen.IsValid) { isOK = false; } } } } if (!isOK) { return; } foreach (DataGridItem item in dtgTopesDisponibles.Items) { if (((CheckBox)item.FindControl("chkTopeDisp")).Checked) { vol = ((TextBox)item.FindControl("txtVolumen")).Text; ITarifarioFleteTope oTariTope = tariTopes.AddTarifarioFleteTope(); oTariTope.Tope.TopeID = Convert.ToInt32(dtgTopesDisponibles.DataKeys[item.DataSetIndex]); oTariTope.Tope.TopeKgHasta = Convert.ToInt32(((Label)item.FindControl("lblTopeKgHasta")).Text); /*SFE Asignar el item checkeado o no en la tabla TopesDisponibles para Kg Variable*/ oTariTope.KgVariable = ((CheckBox)item.FindControl("chkTopeDispVar")).Checked; if (bul) { oTariTope.Cm3Hasta = Convert.ToDouble(vol); } } } try { // Obtenemos el usuario que graba el tope. IUsuarios usuarioConectado = UsuariosFactory.GetUsuario(); usuarioConectado.Login = this.UsuarioConectadoID; usuarioConectado.ConsultarByLogin(); tariTopes.Guardar(usuarioConectado.UsuarioID); this.BindGridTopesDisp(0); this.BindGridTopesTarif(0); this.SetearPorTarifarioReferencia(); } catch (Exception ex) { throw ex; } Session["tarifario"] = tariFlete; }
public void ValidateZonasTopes(object source, System.Web.UI.WebControls.ServerValidateEventArgs args) { this.topesTMP = null; this.zonasTMP = null; int topeID, tariToID; int zonaID, tariZoID; this.topesTMP = TarifariosFleteTopeColFactory.GetTarifariosFleteTopeCol(); this.zonasTMP = TarifariosFleteZonaColFactory.getTarifarioFleteZonaCol(); ITarifariosFleteZonaTopeCol zonasTopes = tariFlete.ZonasTopesCol; bool pri = true; foreach (DataGridItem itemTope in this.dtgTopesTarifario.Items) { if (((CheckBox)itemTope.FindControl("chkTopeTari")).Checked) { tariToID = Convert.ToInt32(dtgTopesTarifario.DataKeys[itemTope.DataSetIndex]); topeID = Convert.ToInt32(((TextBox)itemTope.FindControl("txtTopeID")).Text); if (zonasTMP.getCount() > 0) { pri = false; } foreach (DataGridItem itemZona in this.dtgZonasTarifario.Items) { if (((CheckBox)itemZona.FindControl("chkZonaTari")).Checked) { //Chequear que no exista para esa zona y ese tope un importe asignado. //topeID = Convert.ToInt32(dtgTopesTarifario.DataKeys[itemTope.DataSetIndex]); tariZoID = Convert.ToInt32(dtgZonasTarifario.DataKeys[itemZona.DataSetIndex]); zonaID = Convert.ToInt32(((TextBox)itemZona.FindControl("txtZonaID")).Text); if (zonasTopes.ConsultarExiste(tariToID, tariZoID) != null) { args.IsValid = false; ((CustomValidator)source).ErrorMessage = "Ya existe un importe para la zona " + ((Label)itemZona.FindControl("lblZonaDescripTari")).Text + " y el tope " + ((Label)itemTope.FindControl("lblTopeKgHastaTari")).Text; return; } if (pri) { if (itemZona.FindControl("lblZonaDescripTari") != null) { ITarifarioFleteZona zona = zonasTMP.AddTarifarioFleteZona(); zona.TarifarioFleteID = tariFlete.TarifarioFleteID; zona.TarifarioFleteZonaID = Convert.ToInt32(dtgZonasTarifario.DataKeys[itemZona.DataSetIndex]); zona.Zona.ZonaDescrip = ((Label)itemZona.FindControl("lblZonaDescripTari")).Text; zona.Zona.ZonaID = zonaID; //Convert.ToInt32(((TextBox)itemZona.FindControl("txtZonaID")).Text); } } } } if (itemTope.FindControl("lblVolumenTari") != null) { ITarifarioFleteTope tope = topesTMP.AddTarifarioFleteTope(); tope.TarifarioFleteID = tariFlete.TarifarioFleteID; tope.TarifarioFleteTopeID = Convert.ToInt32(dtgTopesTarifario.DataKeys[itemTope.DataSetIndex]); tope.Tope.TopeKgHasta = Convert.ToInt32(((Label)itemTope.FindControl("lblTopeKgHastaTari")).Text); tope.Cm3Hasta = Convert.ToDouble(((Label)itemTope.FindControl("lblVolumenTari")).Text); tope.Tope.TopeID = topeID; //Convert.ToInt32(((TextBox)itemTope.FindControl("txtTopeID")).Text); } } } if ((this.topesTMP.getCount() == 0) || (this.zonasTMP.getCount() == 0)) { args.IsValid = false; ((CustomValidator)source).ErrorMessage = TraducirTexto("Errores.Obligatorios.ZonaTope"); //"Debe seleccionar tope y zona para asignar importes"; return; } args.IsValid = true; }