private void dtgTarifarios_ItemCommandNew(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
        {
            bool UPDTarifario = false;

            //Cuando se asigna un tarifario, puede ocurrir:
            //							- Se setea por primera vez el tarifario: no tengo ID de registro
            //							- Se realiza un update del dato del tarifario: recibo un ID
            if (e.CommandName == "Asignar")
            {
                int IDTarifActual = Convert.ToInt32(dtgTarifarios.DataKeys[(int)e.Item.ItemIndex]);
                //Para cada ID que obtengo, crear una instancia, consultar y guardar
                for (int i = 0; i < cotizCol.getCount(); i++)
                {
                    ICotizacionClienteUVentaModOrigenDestino oCotCliente = cotizCol.GetCotizacionClienteUVentaModalidad(i);
                    //Si en la coleccion, un elemento (queda el valor del ultimo, pero es indistinto) tiene un ID, se está realizando un UPD
                    UPDTarifario = oCotCliente.CotizacionClienteUVentaModalidadOrigenDestinoID != 0;
                    if (tipoTari == NegociosSisPackInterface.SisPack.TipoTarifario.Ninguno)
                    {
                        //Setear el tarifario correspondiente, y el otro ponerlo en cero.
                        oCotCliente.TarifarioClienteFleteID    = IDTarifActual;
                        oCotCliente.TarifarioVentaReDespachoID = 0;
                        oCotCliente.TarifarioFleteID           = 0;
                    }
                    else if (tipoTari == NegociosSisPackInterface.SisPack.TipoTarifario.Cliente || tipoTari == NegociosSisPackInterface.SisPack.TipoTarifario.ClienteEstandarizado)
                    {
                        //Setear el tarifario correspondiente, y el otro ponerlo en cero.
                        oCotCliente.TarifarioFleteID           = IDTarifActual;
                        oCotCliente.TarifarioVentaReDespachoID = 0;
                        oCotCliente.TarifarioClienteFleteID    = 0;
                    }
                }
                //if(tipoTari == SisPack.TipoTarifario.Ninguno)
                //{
                //Tarifario Flete Particular
                //cotizCol.GuardarTarifarioFlete();
                string result1 = "";
                try
                {
                    if (!UPDTarifario)
                    {
                        cotizCol.Guardar(usuario.UsuarioID);
                    }
                    else
                    {
                        cotizCol.GuardarTarifarioFlete(usuario.UsuarioID);
                    }
                }
                catch (Exception ex)
                {
                    //VER!!!
                    //throw ex;
                    result1 = ex.Message;
                }

                //}

                /*else if( tipoTari == SisPack.TipoTarifario.Cliente)
                 *      {
                 *              cotizCol.GuardarTarifarioFlete();
                 *      }*/
                string result = cotizCol.GetErrorDescrip();

                StringBuilder scriptString = new StringBuilder();
                scriptString.Append("<script language='javascript'>\n");

                if (result1 != "")
                {
                    scriptString.Append("alert('" + result1 + "');\n");
                }
                else if (result != "")
                {
                    scriptString.Append("alert('El tarifario asociado no contiene zonas seleccionadas.\\nNo se pudo asociar la tarifa a las siguientes zonas: " + result + "');\n");
                }
                scriptString.Append("window.returnValue = true;\n");
                scriptString.Append("window.close();\n");
                scriptString.Append("</script>");
                Page.RegisterClientScriptBlock("scrptTarifario", scriptString.ToString());
                //Page.RegisterStartupScript ("scriptTari", scriptString.ToString());
            }
        }
        private void dtgTarifarios_ItemCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
        {
            if (e.CommandName == "Seleccionar")
            {
                StringBuilder scriptString         = new StringBuilder();
                IConvenioRedespachoDetalle detalle = ConvenioRedespachoDetalleFactory.GetConvenioRedespachoDetalle();
                detalle.TarifarioCostoReDespachoID = Convert.ToInt32(dtgTarifarios.DataKeys[(int)e.Item.ItemIndex]);

                string esMasivo = Request.QueryString["EsMasivo"] == null ? "" :Request.QueryString["EsMasivo"];
                if (esMasivo.Equals(""))
                {
                    int tipoTarifario = 0;

                    if (this.Request.QueryString["TipoTarifario"] == "Costo")
                    {
                        tipoTarifario = (int)NegociosSisPackInterface.SisPack.TipoTarifario.CostoRedespacho;
                    }
                    else
                    {
                        tipoTarifario = (int)NegociosSisPackInterface.SisPack.TipoTarifario.VentaRedespacho;
                    }
                    detalle.ConvenioReDespachoDetalleID = Utiles.Validaciones.obtieneEntero(this.txtConvenioRedespachoDetalleID.Text);
                    detalle.ActualizarTarifario((int)tipoTarifario);

                    scriptString.Append("<script language='javascript'>\n");
                    scriptString.Append("window.returnValue = true;\n");
                    scriptString.Append("window.close();\n");
                    scriptString.Append("</script>");
                }
                else
                {
                    scriptString.Append("<script language='javascript'>\n");
                    scriptString.Append("window.returnValue = " + detalle.TarifarioCostoReDespachoID + ";\n");
                    scriptString.Append("window.close();\n");
                    scriptString.Append("</script>");
                }

                Page.RegisterClientScriptBlock("scriptCierraTarifarioRedespachoModal", scriptString.ToString());
            }
            else if (e.CommandName == "SeleccionarBolsin")
            {
                bool UPDTarifario = false;

                //Cuando se asigna un tarifario, puede ocurrir:
                //							- Se setea por primera vez el tarifario: no tengo ID de registro
                //							- Se realiza un update del dato del tarifario: recibo un ID

                int IDTarifActual = Convert.ToInt32(dtgTarifarios.DataKeys[(int)e.Item.ItemIndex]);
                //Para cada ID que obtengo, crear una instancia, consultar y guardar
                for (int i = 0; i < cotizCol.getCount(); i++)
                {
                    ICotizacionClienteUVentaModOrigenDestino oCotCliente = cotizCol.GetCotizacionClienteUVentaModalidad(i);
                    //Si en la coleccion, un elemento (queda el valor del ultimo, pero es indistinto) tiene un ID, se está realizando un UPD
                    UPDTarifario = oCotCliente.CotizacionClienteUVentaModalidadOrigenDestinoID != 0;

                    //Setear el tarifario correspondiente, y el otro ponerlo en cero.
                    oCotCliente.TarifarioVentaReDespachoID = IDTarifActual;
                    oCotCliente.TarifarioFleteID           = 0;
                    oCotCliente.TarifarioClienteFleteID    = 0;
                }

                string result1 = "";
                try
                {
                    if (!UPDTarifario)
                    {
                        cotizCol.Guardar(usuario.UsuarioID);
                    }
                    else
                    {
                        cotizCol.GuardarTarifarioRedespacho(usuario.UsuarioID);
                    }
                }
                catch (Exception ex)
                {
                    result1 = ex.Message;
                }

                string result = cotizCol.GetErrorDescrip();

                // Me guardo este dato para indicar en la página de origenes/destinos que hay que bindear
                // nuevamente la grilla de tarifarios
                Session["HacerBindGridTarifario"] = true;

                StringBuilder scriptString = new StringBuilder();
                scriptString.Append("<script language='javascript'>\n");

                if (result1 != "")
                {
                    scriptString.Append("alert('" + result1 + "');\n");
                }
                if (result != "")
                {
                    scriptString.Append("alert('El tarifario asociado no contiene zonas seleccionadas.\\nNo se pudo asociar la tarifa a las siguientes zonas: " + result + "');\n");
                }
                scriptString.Append("window.returnValue = true;\n");
                scriptString.Append("window.close();\n");
                scriptString.Append("</script>");
                Page.RegisterClientScriptBlock("scrptTarifario", scriptString.ToString());
            }
        }