예제 #1
0
        private void butGuardarTarifario_Click(object sender, System.EventArgs e)
        {
            RequiredFieldValidator     reqDescrip = (RequiredFieldValidator)this.phValidTarifarioDescrip.FindControl("reqDescrip");
            RegularExpressionValidator valDescrip = (RegularExpressionValidator)this.phValidTarifarioDescrip.FindControl("valDescrip");

            reqDescrip.Enabled = true;
            valDescrip.Enabled = true;
            reqDescrip.Validate();
            valDescrip.Validate();
            if (!reqDescrip.IsValid || !valDescrip.IsValid)
            {
                return;
            }

            //Habilitar
            CustomValidator valValorizacion = (CustomValidator)this.phValidValorizacion.FindControl("valValorizacion");

            valValorizacion.Enabled = true;
            valValorizacion.Validate();
            if (!valValorizacion.IsValid)
            {
                return;
            }

            RegularExpressionValidator valImporteKgExc = (RegularExpressionValidator)this.phValidImporteKgExcedente.FindControl("valImporteKgExc");

            valImporteKgExc.Enabled = true;
            valImporteKgExc.Validate();
            if (!valImporteKgExc.IsValid)
            {
                return;
            }

            CustomValidator valImporte = (CustomValidator)this.phValidImporteKgExcedente.FindControl("valImporte");

            valImporte.Enabled = true;
            valImporte.Validate();
            if (!valImporte.IsValid)
            {
                return;
            }

            // Obtenemos el usuario que ejecuta la acción.
            IUsuarios usuarioConectado = UsuariosFactory.GetUsuario();

            usuarioConectado.Login = this.UsuarioConectadoID;
            usuarioConectado.ConsultarByLogin();

            if (chkVariacionTarifario.Checked)
            {
                if (rbtImporte.Checked && ddlTarifarioReferencia.SelectedIndex > 0 && chkVariacionTarifario.Checked)
                {
                    RequiredFieldValidator     reqImporteAjuste = (RequiredFieldValidator)this.phValidImporteAjuste.FindControl("reqImporteAjuste");
                    RegularExpressionValidator valImporteAjuste = (RegularExpressionValidator)this.phValidImporteAjuste.FindControl("valImporteAjuste");
                    reqImporteAjuste.Enabled = true;
                    valImporteAjuste.Enabled = true;
                    valImporteAjuste.Validate();
                    reqImporteAjuste.Validate();
                    if (!reqImporteAjuste.IsValid || !valImporteAjuste.IsValid)
                    {
                        return;
                    }

                    /*if(Convert.ToDouble(txtImporteAjuste.Text)==0)
                     * {
                     *      ((ErrorWeb)this.phErrores.Controls[0]).setMensaje(this.TraducirTexto("Errores.Invalidos.ImportePositivo"));
                     *      return;
                     * }*/
                }
                else if (rbtPorcentaje.Checked && ddlTarifarioReferencia.SelectedIndex > 0 && chkVariacionTarifario.Checked)
                {
                    RequiredFieldValidator     reqPorcenAjuste = (RequiredFieldValidator)this.phValidImporteAjuste.FindControl("reqPorcenAjuste");
                    RegularExpressionValidator valPorcenAjuste = (RegularExpressionValidator)this.phValidImporteAjuste.FindControl("valPorcenAjuste");

                    reqPorcenAjuste.Enabled = true;
                    valPorcenAjuste.Enabled = true;
                    reqPorcenAjuste.Validate();
                    valPorcenAjuste.Validate();
                    if (!reqPorcenAjuste.IsValid || !valPorcenAjuste.IsValid)
                    {
                        return;
                    }
                    if (Convert.ToDouble(txtPorcentajeAjuste.Text) == 0)
                    {
                        ((ErrorWeb)this.phErrores.Controls[0]).setMensaje(this.TraducirTexto("Errores.Invalidos.Porcentaje"));
                        return;
                    }
                }
            }
            //Ver de habilitar todos los validadores y nunca usar el Page.Validate

            //Page.Validate();
            //if (!Page.IsValid)
            //				return;

            tari = (ITarifario)Session["tarifario"];
            //Verificar si hubo cambios...ver si acepta que se realice un recalculo de los importes
            bool okChange = CambiaronDatos();

            tari.UnidadNegocioID    = this.UnidadNegocioID;
            tari.EsTarifarioGeneral = chkTarifarioGeneral.Checked;
            //tari.ImporteKgExcedente=Convert.ToDouble(this.txtImporteKgExcedente.Text);
            tari.TarifarioDescrip = this.txtTarifarioDescrip.Text.Trim();
            if (ddlValorizacion.SelectedIndex > 0)
            {
                tari.ValorizacionTarifario = (NegociosSisPackInterface.SisPack.ValorizacionTarifario)Convert.ToInt32(ddlValorizacion.SelectedValue);
            }
            else
            {
                tari.ValorizacionTarifario = (NegociosSisPackInterface.SisPack.ValorizacionTarifario)Convert.ToInt32(this.txtValorizacionSelec.Text);
            }

            if (this.txtImporteKgExcedente.Text != "")
            {
                tari.ImporteKgExcedente = Convert.ToDouble(this.txtImporteKgExcedente.Text);
            }

            else
            {
                tari.ImporteKgExcedente = Convert.ToDouble(this.txtImporteKg.Text);
            }

            if (ddlTarifarioReferencia.SelectedIndex > 0)
            {
                tari.TarifarioRefID = Convert.ToInt32(ddlTarifarioReferencia.SelectedValue);
                if (chkVariacionTarifario.Checked)
                {
                    if (rbtPorcentaje.Checked)
                    {
                        tari.PorcentajeAjuste = Convert.ToDouble(this.txtPorcentajeAjuste.Text);
                        tari.ImporteAjuste    = 0;
                        //Ver si esto queda
                        this.txtImporteAjuste.Text = "";
                    }
                    else
                    {
                        tari.ImporteAjuste    = Convert.ToDouble(this.txtImporteAjuste.Text);
                        tari.PorcentajeAjuste = 0;
                        //Ver si esto queda
                        this.txtPorcentajeAjuste.Text = "";
                    }
                    if (rbtFactorPositivo.Checked)
                    {
                        tari.FactorAjuste = "+";
                    }
                    else
                    {
                        tari.FactorAjuste = "-";
                    }
                }
                else
                {
                    tari.FactorAjuste             = "";
                    tari.PorcentajeAjuste         = 0;
                    tari.ImporteAjuste            = 0;
                    this.txtPorcentajeAjuste.Text = "";
                    this.txtImporteAjuste.Text    = "";
                }
            }
            /*SFE Guardar el Importe Minimo de Valor Declarado para el tipo de Valorizacion Valor Declarado*/
            if (tari.ValorizacionTarifario == NegociosSisPackInterface.SisPack.ValorizacionTarifario.ValorDeclarado)
            {
                tari.ImporteMinimoValorDeclarado = Utiles.Validaciones.obtieneDouble(this.txtImporteMinValorDeclarado.Text);

                RegularExpressionValidator valImporteMinValorDeclarado = (RegularExpressionValidator)this.phValidImporteMinimo.FindControl("valImporteMinValorDeclarado");
                valImporteMinValorDeclarado.Enabled = true;
                valImporteMinValorDeclarado.Validate();

                if (!valImporteMinValorDeclarado.IsValid)
                {
                    return;
                }
            }

            Label lblResul = new Label();

            try
            {
                //Si cambiaron los datos tengo que empezar una transaccion en la que guarde todo.
                if (okChange)
                {
                    if (AdministrarTarifarios.RecalcularImportesTarifarioTope(tari, this.Request.QueryString["Tipo"], usuarioConectado.UsuarioID))
                    {
                        tari.Guardar(usuarioConectado.UsuarioID);
                        Session["tarifario"] = tari;
                        this.ConsultarTarifario();
                        this.LoadUCTopes();
                        //this.LoadUCZonasTopes();
                    }
                }
                else
                {
                    if (tari.Guardar(usuarioConectado.UsuarioID))
                    {
                        txtTarifarioID.Text = tari.TarifarioID.ToString();

                        if (!modal)
                        {
                            string mensaje = "Los datos se guardaron correctamente. ";
                            string script  = "<script language='javascript'>\n";
                            script += "alert('" + mensaje + "');";
                            script += "</script>";

                            //Page.RegisterStartupScript("scriptOk", script);
                            Page.RegisterClientScriptBlock("scriptOK", script);
                        }
                        Session["tarifario"] = tari;
                        this.LoadUCTopes();
                        this.ConsultarTarifario();
                    }
                }
                //		this.SetUC();
            }
            catch (Exception ex)
            {
                string mensaje = ex.Message;
                try
                {
                    mensaje = this.TraducirTexto(ex.Message);
                    if (mensaje == "" || mensaje == null)
                    {
                        mensaje = ex.Message;
                    }
                }
                catch (Exception)
                {
                    mensaje = ex.Message;
                }
                ((ErrorWeb)this.phErrores.Controls[0]).setMensaje(mensaje);
            }
        }
        private void butTopes_Click(object sender, System.EventArgs e)
        {
            ITarifariosTopeCol tariTopes = tari.TopesCol;

            tariTopes.TarifarioID = tari.TarifarioID;
            string vol = "";
            double importe, importeBultoExc;
            bool   bul     = false;
            bool   bulKilo = false;
            bool   isOK    = true;

            /*SFE Se agrega validador de volumen para Bulto_Variable, a pedido de Carlos Marcon*/
            if (tari.ValorizacionTarifario == SisPack.ValorizacionTarifario.Bulto || tari.ValorizacionTarifario == SisPack.ValorizacionTarifario.Bulto_Variable)
            {
                bul = true;
            }
            if (tari.ValorizacionTarifario == SisPack.ValorizacionTarifario.Bulto_Kilogramo)
            {
                bul     = true;
                bulKilo = true;
            }
            // SFE: Borrar esto si no se usa. Es decir si no se muestra el excedente por bulto_variable
//			/*SFE Agregar Validador para Bulto Variable en el importe bulto excedente*/
//			if(tari.ValorizacionTarifario == SisPack.ValorizacionTarifario.Bulto_Variable)
//			{
//				bulKilo = 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 (bulKilo)
                        {
                            BaseValidator          valImporteBultoDisp = (RegularExpressionValidator)((PlaceHolder)item.FindControl("phValidImporteBultoDisp")).FindControl("valImporteBultoDisp");
                            RequiredFieldValidator reqImporteBultoDisp = (RequiredFieldValidator)((PlaceHolder)item.FindControl("phValidImporteBultoDisp")).FindControl("reqImporteBultoDisp");
                            valImporteBultoDisp.Enabled = true;
                            reqImporteBultoDisp.Enabled = true;
                            valImporteBultoDisp.Validate();
                            reqImporteBultoDisp.Validate();
                            if (!valImporteBultoDisp.IsValid || !reqImporteBultoDisp.IsValid)
                            {
                                isOK = false;
                            }
                        }
                    }
                    BaseValidator          valImporteDisp = (RegularExpressionValidator)((PlaceHolder)item.FindControl("phValidImporteDisp")).FindControl("valImporteDisp");
                    RequiredFieldValidator reqImporteDisp = (RequiredFieldValidator)((PlaceHolder)item.FindControl("phValidImporteDisp")).FindControl("reqImporteDisp");
                    valImporteDisp.Enabled = true;
                    reqImporteDisp.Enabled = true;
                    valImporteDisp.Validate();
                    reqImporteDisp.Validate();
                    if (!valImporteDisp.IsValid || !reqImporteDisp.IsValid)
                    {
                        isOK = false;
                    }
                }
            }
            if (!isOK)
            {
                return;
            }
            foreach (DataGridItem item in dtgTopesDisponibles.Items)
            {
                if (((CheckBox)item.FindControl("chkTopeDisp")).Checked)
                {
                    importe         = Convert.ToDouble(((TextBox)item.FindControl("txtImporteDisp")).Text);
                    vol             = ((TextBox)item.FindControl("txtVolumen")).Text;
                    importeBultoExc = ((TextBox)item.FindControl("txtImporteBultoDisp")).Text == "" ? 0 : Convert.ToDouble(((TextBox)item.FindControl("txtImporteBultoDisp")).Text);
                    ITarifarioTope oTariTope = tariTopes.AddTarifarioTope();
                    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*/
                    oTariTope.KgVariable = ((CheckBox)item.FindControl("chkTopeDispVar")).Checked;
                    //oTariTope.Importe = Convert.ToDouble(((TextBox)item.FindControl("txtImporteDisp")).Text);
                    if (bul)
                    {
                        oTariTope.Cm3Hasta = Convert.ToDouble(vol);
                    }
                    if (bulKilo)
                    {
                        oTariTope.ImporteBultoExc = importeBultoExc;
                    }
                    if (tari.TarifarioRefID != 0)
                    {
                        oTariTope.Importe = CalcularImporte(importe);
                        if (bulKilo)
                        {
                            oTariTope.ImporteBultoExc = AdministrarTarifarios.CalcularImporte(importeBultoExc, tari.FactorAjuste, tari.PorcentajeAjuste, tari.ImporteAjuste);
                            if (oTariTope.ImporteBultoExc < 0)
                            {
                                oTariTope.ImporteBultoExc = 0;
                            }
                        }
                    }
                    else
                    {
                        oTariTope.Importe = importe;
                        if (bulKilo)
                        {
                            oTariTope.ImporteBultoExc = importeBultoExc;
                        }
                    }
                }
            }
            try
            {
                // Obtenemos el usuario que ejecuta la acción.
                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"] = tari;
        }
예제 #3
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;
        }