Ejemplo n.º 1
0
        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;
        }
Ejemplo n.º 2
0
        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;
        }