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; }