private void butZonas_Click(object sender, System.EventArgs e) { ITarifariosFleteZonaCol tariZonas = tariFlete.ZonasCol; tariZonas.TarifarioFleteID = tariFlete.TarifarioFleteID; double importe; bool isOK = true; foreach (DataGridItem item in dtgZonasDisponibles.Items) { if (((CheckBox)item.FindControl("chkZonaDisp")).Checked) { /*SFE No requerir el excedente si es Valorizacion por Valor Declarado*/ if ((tariFlete.TarifarioFleteRefID == 0) && (tariFlete.ValorizacionTarifario != SisPack.ValorizacionTarifario.ValorDeclarado)) { BaseValidator valImporteExc = (RegularExpressionValidator)((PlaceHolder)item.FindControl("phValidKgExc")).FindControl("valImporteExc"); RequiredFieldValidator reqImporteExc = (RequiredFieldValidator)((PlaceHolder)item.FindControl("phValidKgExc")).FindControl("reqImporteExc"); valImporteExc.Enabled = true; reqImporteExc.Enabled = true; valImporteExc.Validate(); reqImporteExc.Validate(); if (!valImporteExc.IsValid || !reqImporteExc.IsValid) { isOK = false; } } } } if (!isOK) { return; } foreach (DataGridItem item in dtgZonasDisponibles.Items) { if (((CheckBox)item.FindControl("chkZonaDisp")).Checked) { importe = Utiles.Validaciones.obtieneDouble(((TextBox)item.FindControl("txtKgExc")).Text); ITarifarioFleteZona oTariZona = tariZonas.AddTarifarioFleteZona(); oTariZona.Zona.ZonaID = Convert.ToInt32(dtgZonasDisponibles.DataKeys[item.DataSetIndex]); oTariZona.Zona.ZonaDescrip = ((Label)item.FindControl("lblZonaDescripDisp")).Text; oTariZona.Zona.KmDesde = Convert.ToInt32(((TextBox)item.FindControl("txtKmDesdeDisp")).Text); /*SFE No requerir el excedente si es Valorizacion por Valor Declarado*/ if ((tariFlete.TarifarioFleteRefID != 0) && (tariFlete.ValorizacionTarifario != SisPack.ValorizacionTarifario.ValorDeclarado)) { //oTariZona.ImporteKgExcedente = CalcularImporte(importe); oTariZona.ImporteKgExcedente = AdministrarTarifarios.CalcularImporte(importe, tariFlete.FactorAjuste, tariFlete.PorcentajeAjuste, tariFlete.ImporteAjusteKgExcedente); } else { oTariZona.ImporteKgExcedente = importe; } } } try { // Obtenemos el usuario que graba el tope. IUsuarios usuarioConectado = UsuariosFactory.GetUsuario(); usuarioConectado.Login = this.UsuarioConectadoID; usuarioConectado.ConsultarByLogin(); tariZonas.Guardar(usuarioConectado.UsuarioID); this.BindGridZonasDisp(0); this.BindGridZonasTarif(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; }