Beispiel #1
0
 public void EliminarMailCliente(int ClienteID, string Mail)
 {
     try
     {
         IAdministrarClientes clientes = AdministrarClientesFactory.GetAdministrarClientes();
         clientes.EliminarMailCliente(ClienteID, Mail);
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
Beispiel #2
0
        public DatosCliente GetCliente(String Codigo, String Nombre, String Apellido, String CUIT, Int32 AgenciaID, String TipoCliente)
        {
            DatosCliente cliente = null;

            int total = 0;

            try
            {
                IAdministrarClientes clientes = AdministrarClientesFactory.GetAdministrarClientes();
                DsClientesGuia       ds       = new DsClientesGuia();
                IAgencia             agencia  = AgenciaFactory.GetAgencia();
                agencia.AgenciaID = Convert.ToInt32(AgenciaID);
                agencia.ConsultarBasico();
                int    localidadID    = agencia.Domicilio.Localidad.LocalidadID;
                int    provinciaID    = agencia.Domicilio.Localidad.Provincia.ProvinciaID;
                int    departamentoID = agencia.Domicilio.Localidad.Departamento.DepartamentoID;
                int    paisID         = agencia.Domicilio.Localidad.Provincia.Pais.PaisID;
                int    codigoPostalID = agencia.Domicilio.OCodigoPostal.CodigoPostalID;
                string filtroCorp     = "";
                int    totalPrueba;

                if (TipoCliente != null)
                {
                    if (TipoCliente == "1")
                    {
                        // 29/09/2014. Si viene de emision de conceptos no tiene que verificar convenios, sino traer todos los clientes
                        ds = clientes.GetClientesCorpALLDataSet(Codigo, Nombre, "", Apellido, CUIT, 0, out totalPrueba);
                        // 29/09/2014. Esto estaba antes del cambio de emision de conceptos
                        //ds = clientes.GetClientesCorpOrigenSet(Codigo, Nombre, "", Apellido, CUIT, 0, out totalPrueba, AgenciaID, localidadID, departamentoID, provinciaID, paisID);
                        total = ds.Datos.Select("").Length;
                    }
                    else
                    {
                        ds    = clientes.GetClientesEvenOrigenSet(Codigo, Nombre, "", Apellido, CUIT, 0, out totalPrueba);
                        total = ds.Datos.Rows.Count;
                    }
                }
                if (ds == null)
                {
                    total = 0;
                }

                if (total == 1)
                {
                    DsClientesGuia.DatosRow dr = (DsClientesGuia.DatosRow)((DsClientesGuia.DatosRow[])ds.Datos.Select(filtroCorp))[0];
                    cliente               = new DatosCliente();
                    cliente.ClienteID     = dr.ClienteID.ToString();
                    cliente.TipoDoc       = dr.IsTipoDocNull() ? "" : dr.TipoDoc.ToString();
                    cliente.Codigo        = dr.IsCodigoNull() ? "" : dr.Codigo;
                    cliente.Nombre        = dr.IsNombreNull() ? "" : dr.Nombre;
                    cliente.Apellido      = dr.IsApellidoNull() ? "" : dr.Apellido;
                    cliente.DomicilioID   = dr.IsDomicilioIDNull() ? "" : dr.DomicilioID.ToString();
                    cliente.Calle         = dr.IsCalleNull() ? "" : dr.Calle;
                    cliente.CalleNro      = dr.IsCalleNroNull() ? "" : dr.CalleNro;
                    cliente.Telefono      = dr.IsTelefonoNull() ? "" : dr.Telefono;
                    cliente.Fax           = dr.IsFaxNull() ? "" : dr.Fax;
                    cliente.LocalidadID   = dr.IsLocalidadIDNull() ? "" : dr.LocalidadID.ToString();
                    cliente.ProvinciaID   = dr.IsProvinciaIDNull() ? "" : dr.ProvinciaID.ToString();
                    cliente.Depto         = dr.IsDeptoNull() ? "" : dr.Depto.ToString();
                    cliente.CondicionIVA  = dr.IsCondicionIvaIDNull() ? "" : dr.CondicionIvaID.ToString();
                    cliente.CondicionPago = dr.IsCondicionPagoDescripNull() ? "" : dr.CondicionPagoDescrip;
                    cliente.Cuit          = dr.IsNroCUITNull() ? "" : dr.NroCUIT;
                    cliente.TipoCliente   = dr.TipoCliente.ToString();
                }
            }
            catch (Exception ex)
            {
                throw new Exception("Error al consultar datos de clientes: " + ex.Message);
            }

            return(cliente);
        }
Beispiel #3
0
        public DatosClienteCorp[] GetClientes(String Codigo, String Nombre, String Apellido, String CUIT, Int32 AgenciaID, String TipoCliente)
        {
            var clientesCorp = new List <DatosClienteCorp>();

            IAdministrarClientes clientes = AdministrarClientesFactory.GetAdministrarClientes();
            DsClientesGuia       ds       = new DsClientesGuia();
            IAgencia             agencia  = AgenciaFactory.GetAgencia();

            agencia.AgenciaID = Convert.ToInt32(AgenciaID);
            agencia.ConsultarBasico();
            int    localidadID    = agencia.Domicilio.Localidad.LocalidadID;
            int    provinciaID    = agencia.Domicilio.Localidad.Provincia.ProvinciaID;
            int    departamentoID = agencia.Domicilio.Localidad.Departamento.DepartamentoID;
            int    paisID         = agencia.Domicilio.Localidad.Provincia.Pais.PaisID;
            int    codigoPostalID = agencia.Domicilio.OCodigoPostal.CodigoPostalID;
            string filtroCorp     = "";
            int    totalPrueba;

            if (TipoCliente != null)
            {
                if (TipoCliente == "1")
                {
                    ds = clientes.GetClientesCorpALL(Codigo, Nombre, "", Apellido, CUIT);
                }
                else
                {
                    ds = clientes.GetClientesEvenOrigenSet(Codigo, Nombre, "", Apellido, CUIT, 0, out totalPrueba);
                    //  ds = clientes.GetClientesEvenOrigenSet(codi, nombre, nombreCompleto, apellido, cuit, dtgClientes.CurrentPageIndex, out totalPrueba);
                }
            }

            for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
            {
                DatosClienteCorp clienteCorp = new DatosClienteCorp
                {
                    Codigo                 = ds.Tables[0].Rows[i]["Codigo"] == null ? "" : ds.Tables[0].Rows[i]["Codigo"].ToString(),
                    ClienteID              = ds.Tables[0].Rows[i]["ClienteID"] == null ? "" : ds.Tables[0].Rows[i]["ClienteID"].ToString(),
                    TipoDoc                = ds.Tables[0].Rows[i]["TipoDoc"] == null ? "" : ds.Tables[0].Rows[i]["TipoDoc"].ToString(),
                    NombreCompleto         = ds.Tables[0].Rows[i]["NombreCompleto"] == null ? "" : ds.Tables[0].Rows[i]["NombreCompleto"].ToString(),
                    Nombre                 = ds.Tables[0].Rows[i]["Nombre"] == null ? "" : ds.Tables[0].Rows[i]["Nombre"].ToString(),
                    Apellido               = ds.Tables[0].Rows[i]["Apellido"] == null ? "" : ds.Tables[0].Rows[i]["Apellido"].ToString(),
                    CondicionPagoID        = ds.Tables[0].Rows[i]["CondicionPagoID"] == null ? "" : ds.Tables[0].Rows[i]["CondicionPagoID"].ToString(),
                    CondicionIvaID         = ds.Tables[0].Rows[i]["CondicionIvaID"] == null ? "" : ds.Tables[0].Rows[i]["CondicionIvaID"].ToString(),
                    DomicilioID            = ds.Tables[0].Rows[i]["DomicilioID"] == null ? "" : ds.Tables[0].Rows[i]["DomicilioID"].ToString(),
                    Calle                  = ds.Tables[0].Rows[i]["Calle"] == null ? "" : ds.Tables[0].Rows[i]["Calle"].ToString(),
                    CalleNro               = ds.Tables[0].Rows[i]["CalleNro"] == null ? "" : ds.Tables[0].Rows[i]["CalleNro"].ToString(),
                    LocalidadID            = ds.Tables[0].Rows[i]["LocalidadID"] == null ? "" : ds.Tables[0].Rows[i]["LocalidadID"].ToString(),
                    Telefono               = ds.Tables[0].Rows[i]["Telefono"] == null ? "" : ds.Tables[0].Rows[i]["Telefono"].ToString(),
                    Localidad              = ds.Tables[0].Rows[i]["Localidad"] == null ? "" : ds.Tables[0].Rows[i]["Localidad"].ToString(),
                    Provincia              = ds.Tables[0].Rows[i]["Provincia"] == null ? "" : ds.Tables[0].Rows[i]["Provincia"].ToString(),
                    TipoCliente            = ds.Tables[0].Rows[i]["TipoCliente"] == null ? "" : ds.Tables[0].Rows[i]["TipoCliente"].ToString(),
                    Fax                    = ds.Tables[0].Rows[i]["Fax"] == null ? "" : ds.Tables[0].Rows[i]["Fax"].ToString(),
                    ProvinciaID            = ds.Tables[0].Rows[i]["ProvinciaID"] == null ? "" : ds.Tables[0].Rows[i]["ProvinciaID"].ToString(),
                    Depto                  = ds.Tables[0].Rows[i]["Depto"] == null ? "" : ds.Tables[0].Rows[i]["Depto"].ToString(),
                    NroCUIT                = ds.Tables[0].Rows[i]["NroCUIT"] == null ? "" : ds.Tables[0].Rows[i]["NroCUIT"].ToString(),
                    TipoRetiroEntregaID    = ds.Tables[0].Rows[i]["TipoRetiroEntregaID"] == null ? "" : ds.Tables[0].Rows[i]["TipoRetiroEntregaID"].ToString(),
                    DomicilioRetiroEntrega = ds.Tables[0].Rows[i]["DomicilioRetiroEntrega"] == null ? "" : ds.Tables[0].Rows[i]["DomicilioRetiroEntrega"].ToString(),
                    TipoOrigenDestinoID    = ds.Tables[0].Rows[i]["TipoOrigenDestinoID"] == null ? "" : ds.Tables[0].Rows[i]["TipoOrigenDestinoID"].ToString(),
                    OrigenID               = ds.Tables[0].Rows[i]["OrigenID"] == null ? "" : ds.Tables[0].Rows[i]["OrigenID"].ToString(),
                    DepartamentoID         = ds.Tables[0].Rows[i]["DepartamentoID"] == null ? "" : ds.Tables[0].Rows[i]["DepartamentoID"].ToString(),
                    TelCodArea             = ds.Tables[0].Rows[i]["TelCodArea"] == null ? "" : ds.Tables[0].Rows[i]["TelCodArea"].ToString(),
                    CodPostal              = ds.Tables[0].Rows[i]["CodPostal"] == null ? "" : ds.Tables[0].Rows[i]["CodPostal"].ToString(),
                    CodigoPostalID         = ds.Tables[0].Rows[i]["CodigoPostalID"] == null ? "" : ds.Tables[0].Rows[i]["CodigoPostalID"].ToString()
                };
                clientesCorp.Add(clienteCorp);
            }

            JavaScriptSerializer ser = new JavaScriptSerializer();

            ser.MaxJsonLength = Int32.MaxValue;
            string json = ser.Serialize(clientesCorp);

            DatosClienteCorp[] resul = ser.Deserialize <DatosClienteCorp[]>(json);

            return(resul);
        }
        /// <summary>
        /// Metodo que filtra los clientes por agencia, de acuerdo al origen que los clientes tienen en sus convenios.
        /// Solo busca entre los clientes CORPORATIVOS!!!!!!
        /// </summary>
        private void BuscarPorAgencia()
        {
            int total = 0;

            try
            {
                IAdministrarClientes clientes = AdministrarClientesFactory.GetAdministrarClientes();
                DsClientesGuia       ds       = new DsClientesGuia();
                //DsClientesGuia ds = clientes.GetClientesCorpOrigenSet(codigo,nombre,"",apellido,cuit);
                IAgencia agencia = AgenciaFactory.GetAgencia();
                agencia.AgenciaID = Convert.ToInt32(this.agenciaID);
                //OJO!!!
                agencia.ConsultarBasico();
                int localidadID    = agencia.Domicilio.Localidad.LocalidadID;
                int codigoPostalID = agencia.Domicilio.OCodigoPostal.CodigoPostalID;

                /*SFE: Desarrollo de Codigos Postales. Veo si la localidad origen de la Agencia esta incluida en una agrupacion de codigos postales. Me traigo el ID de la agrupacion para ver si esta como origenflete en un convenio de cliente*/
                ICodigoPostalAgrupacion codigoPostalAgrupacion = CodigoPostalAgrupacionFactory.GetCodigoPostalAgrupacion();
                int agrupacionLocalidadOrigenID = codigoPostalAgrupacion.GetAgrupacionDeLocalidad(localidadID, codigoPostalID);

                int    provinciaID    = agencia.Domicilio.Localidad.Provincia.ProvinciaID;
                int    departamentoID = agencia.Domicilio.Localidad.Departamento.DepartamentoID;
                int    paisID         = agencia.Domicilio.Localidad.Provincia.Pais.PaisID;
                string filtroCorp     = "";
                int    totalPrueba;

                if (this.tipoCliConsul != null)
                {
                    if (tipoCliConsul == "1")
                    {
                        ds = clientes.GetClientesCorpOrigenSet(codigo, nombre, "", apellido, cuit, 0, out totalPrueba,
                                                               Utiles.Validaciones.obtieneEntero(agenciaID), localidadID, departamentoID, provinciaID, paisID, codigoPostalID);

                        /*filtroCorp = "Codigo LIKE '" + codigo + "%'AND Nombre LIKE '" + nombre + "%' AND Apellido LIKE'%"+ apellido +
                         *      "%' AND TipoCliente = 1 AND NroCuit like '" + this.cuit + "%' AND ((TipoOrigenDestinoID=" + (int)NegociosSisPackInterface.SisPack.TipoOrigenDestino.Agencia + " AND OrigenID=" + agenciaID +") OR (TipoOrigenDestinoID=" +(int)NegociosSisPackInterface.SisPack.TipoOrigenDestino.Localidad +" AND OrigenID="+ localidadID +
                         *      ")OR ( TipoOrigenDestinoID = "+ (int)NegociosSisPackInterface.SisPack.TipoOrigenDestino.Departamento + " AND OrigenID=" + departamentoID +
                         *      ")OR (TipoOrigenDestinoID = " + (int)NegociosSisPackInterface.SisPack.TipoOrigenDestino.Provincia + " AND OrigenID=" + provinciaID +
                         *      ") OR (TipoOrigenDestinoID = " + (int)NegociosSisPackInterface.SisPack.TipoOrigenDestino.Pais + " AND OrigenID=" + paisID + ") OR (TipoOrigenDestinoID = 0 AND OrigenID = 0))";*/

                        //Utiles.DataSetHelper.RemoveEqualRows(ds.Datos,"ClienteID", ""); //filtroCorp
                        total = ds.Datos.Select("").Length;                         //filtroCorp
                    }
                    else
                    {
                        ds = clientes.GetClientesEvenOrigenSet(codigo, nombre, "", apellido, cuit, 0, out totalPrueba);

                        /*filtroCorp = "Codigo LIKE '" + codigo + "%'AND Nombre LIKE '" + nombre + "%' AND Apellido LIKE'%"+ apellido +
                         *      "%' AND TipoCliente = 0 AND NroCuit like '" + this.cuit + "'";*/
                        total = ds.Datos.Rows.Count;
                    }
                }

                /*
                 * string filtro = "Codigo LIKE '" + codigo + "%' AND Nombre LIKE '%" + nombre + "%' AND Apellido LIKE'%"+ apellido +
                 *                                                                      "%' AND (TipoCliente = 0 OR (TipoCliente = 1 AND ((TipoOrigenDestinoID="+ (int)NegociosSisPackInterface.SisPack.TipoOrigenDestino.Agencia + " AND OrigenID=" + agenciaID + ") OR (TipoOrigenDestinoID=" + (int)NegociosSisPackInterface.SisPack.TipoOrigenDestino.Localidad + " AND OrigenID=" + localidadID +
                 *                                                                      ") OR ( TipoOrigenDestinoID=" + (int)NegociosSisPackInterface.SisPack.TipoOrigenDestino.Departamento + " AND OrigenID=" + departamentoID + ") OR (TipoOrigenDestinoID=" + (int)NegociosSisPackInterface.SisPack.TipoOrigenDestino.Provincia + " AND OrigenID=" + provinciaID +
                 *                                                                      " )OR (TipoOrigenDestinoID=" + (int)NegociosSisPackInterface.SisPack.TipoOrigenDestino.Pais + " AND OrigenID=" + paisID +" ))))";
                 *
                 * DsClientesGuia.DatosRow[] drLista = (DsClientesGuia.DatosRow[])ds.Datos.Select ("Codigo LIKE '" + codigo + "%' AND Nombre LIKE '%" + nombre + "%' AND Apellido LIKE'%"+ apellido +
                 *                                                                      "%' AND ((TipoOrigenDestinoID="+ (int)NegociosSisPackInterface.SisPack.TipoOrigenDestino.Agencia + " AND OrigenID=" + agenciaID + ") OR (TipoOrigenDestinoID=" + (int)NegociosSisPackInterface.SisPack.TipoOrigenDestino.Localidad + " AND OrigenID=" + localidadID +
                 *                                                                      ") OR ( TipoOrigenDestinoID=" + (int)NegociosSisPackInterface.SisPack.TipoOrigenDestino.Departamento + " AND OrigenID=" + departamentoID + ") OR (TipoOrigenDestinoID=" + (int)NegociosSisPackInterface.SisPack.TipoOrigenDestino.Provincia + " AND OrigenID=" + provinciaID +
                 *                                                                      " )OR (TipoOrigenDestinoID=" + (int)NegociosSisPackInterface.SisPack.TipoOrigenDestino.Pais + " AND OrigenID=" + paisID +" ))","ClienteID");
                 */
                //DsClientesGuia.DatosDataTable  tablaResul;
                //DataTable tablaResul;


                //tablaResul = Utiles.DataSetHelper.SelectDistinct("Datos", ds.Datos , "ClienteID",filtro);
                //tablaResul = Utiles.DataSetHelper.SelectDistinct("Datos", ds.Datos , "ClienteID",filtro);
                //Utiles.DataSetHelper.RemoveEquals((DataRowCollection)drLista,"ClienteID");
                //	System.Data.DataTable tablaResul = new DataTable();
                //	tablaResul = Utiles.DataSetHelper.SelectDistinct("Resul",ds.Datos,"ClienteID", filtro);

                /*
                 * DsClientesGuia.DatosRow[] drLista = (DsClientesGuia.DatosRow[])ds.Datos.Select ("Codigo LIKE '" + codigo + "%' AND Nombre LIKE '%" + nombre + "%' AND Apellido LIKE'%"+ apellido +
                 *      "%' AND ((TipoOrigenDestinoID="+ (int)NegociosSisPackInterface.SisPack.TipoOrigenDestino.Agencia + " AND OrigenID=" + agenciaID + ") OR (TipoOrigenDestinoID=" + (int)NegociosSisPackInterface.SisPack.TipoOrigenDestino.Localidad + " AND OrigenID=" + localidadID +
                 *      ") OR ( TipoOrigenDestinoID=" + (int)NegociosSisPackInterface.SisPack.TipoOrigenDestino.Departamento + " AND OrigenID=" + departamentoID + ") OR (TipoOrigenDestinoID=" + (int)NegociosSisPackInterface.SisPack.TipoOrigenDestino.Provincia + " AND OrigenID=" + provinciaID +
                 *      " )OR (TipoOrigenDestinoID=" + (int)NegociosSisPackInterface.SisPack.TipoOrigenDestino.Pais + " AND OrigenID=" + paisID +" ))","ClienteID");
                 */
                /*
                 * select * from #temp
                 * where Codigo LIKE '6%'
                 * AND Nombre LIKE '%%'
                 * AND Apellido LIKE'%'
                 * AND (TipoCliente = 0 OR (TipoCliente = 1 AND ((TipoOrigenDestinoID=1 AND OrigenID=1) OR (TipoOrigenDestinoID=2 AND OrigenID=1)
                 * OR ( TipoOrigenDestinoID = 3 AND OrigenID=1)
                 * OR (TipoOrigenDestinoID = 4 AND OrigenID=1 )
                 * OR (TipoOrigenDestinoID = 5 AND OrigenID=1 ))))
                 *
                 * string filtroCorp = "Codigo LIKE '" + codigo + "%'AND Nombre LIKE '%" + nombre + "%' AND Apellido LIKE'%"+ apellido +
                 * "%' AND TipoCliente = 1 AND ((TipoOrigenDestinoID=" + (int)NegociosSisPackInterface.SisPack.TipoOrigenDestino.Agencia + " AND OrigenID=" + agenciaID +") OR (TipoOrigenDestinoID=" +(int)NegociosSisPackInterface.SisPack.TipoOrigenDestino.Localidad +" AND OrigenID="+ localidadID +
                 * ")OR ( TipoOrigenDestinoID = "+ (int)NegociosSisPackInterface.SisPack.TipoOrigenDestino.Departamento + " AND OrigenID=" + departamentoID +
                 * ")OR (TipoOrigenDestinoID = " + (int)NegociosSisPackInterface.SisPack.TipoOrigenDestino.Provincia + " AND OrigenID=" + provinciaID +
                 * ") OR (TipoOrigenDestinoID = " + (int)NegociosSisPackInterface.SisPack.TipoOrigenDestino.Pais + " AND OrigenID=" + paisID + ") OR (TipoOrigenDestinoID = 0 AND OrigenID = 0))";
                 *
                 * Utiles.DataSetHelper.RemoveEqualRows(ds.Datos,"ClienteID", filtroCorp);*/
/*
 *                              string filtro  = "Codigo LIKE '" + codigo + "%'AND Nombre LIKE '%" + nombre + "%' AND Apellido LIKE'%"+ apellido +
 *                                      "%' AND (TipoCliente = 0 OR (TipoCliente = 1 AND ((TipoOrigenDestinoID=" + (int)NegociosSisPackInterface.SisPack.TipoOrigenDestino.Agencia + " AND OrigenID=" + agenciaID +") OR (TipoOrigenDestinoID=" +(int)NegociosSisPackInterface.SisPack.TipoOrigenDestino.Localidad +" AND OrigenID="+ localidadID +
 *                                      ")OR ( TipoOrigenDestinoID = "+ (int)NegociosSisPackInterface.SisPack.TipoOrigenDestino.Departamento + " AND OrigenID=" + departamentoID +
 *                                      ")OR (TipoOrigenDestinoID = " + (int)NegociosSisPackInterface.SisPack.TipoOrigenDestino.Provincia + " AND OrigenID=" + provinciaID +
 *                                      ") OR (TipoOrigenDestinoID = " + (int)NegociosSisPackInterface.SisPack.TipoOrigenDestino.Pais + " AND OrigenID=" + paisID + ") OR (TipoOrigenDestinoID = 0 AND OrigenID = 0))))";
 *                              Utiles.DataSetHelper.RemoveEqualRows(ds.Datos,"ClienteID", filtro);*///NATI
                //total = Utiles.DataSetHelper.DeleteCollectionEqualRows(drLista,"ClienteID");

                //if(tablaResul != null)
                //total = tablaResul.Rows.Count;
                //total = ds.Datos.Select(filtro).Length;// tablaResul.Rows.Count;
                ////total = ((DsClientesGuia.DatosRow[]) ds.Datos.Rows
                //total = ds.Datos.Select(filtro).Length;


                //total = ds.Datos.Select(filtroCorp).Length; --original



                //[0];
                //else
                //	total = 0;
                //total = drLista.Length;

                if (ds == null)
                {
                    total = 0;
                }

                if (total > 0)
                {
                    if (total == 1)
                    {
                        //DsClientesGuia.DatosRow dr = (DsClientesGuia.DatosRow) ((DsClientesGuia.DatosDataTable) ds.Datos).Rows[0]; //drLista[0];

                        //DsClientesGuia.DatosRow dr =(DsClientesGuia.DatosRow) ds.Datos.Rows[0];
                        //DataRow dr = tablaResul.Rows[0];
                        //DsClientesGuia.DatosRow dr =(DsClientesGuia.DatosRow) drLista[0];
                        //DsClientesGuia.DatosRow dr = (DsClientesGuia.DatosRow) ((DsClientesGuia.DatosDataTable)drLista).Rows[0]; //drLista[0];

                        /*
                         * this.txtClienteID.Text = dr["ClienteID"].ToString();
                         * this.txtTipoDoc.Text= dr["TipoDoc"] == null ? "" : dr["TipoDoc"].ToString();
                         * this.txtCodigo.Text = dr["Codigo"] == null ? "" : dr["Codigo"].ToString();
                         * this.txtNombre.Text = dr["Nombre"] == null ? "": dr["Nombre"].ToString();
                         * this.txtApellido.Text = dr["Apellido"] == null ? "" : dr["Apellido"].ToString();
                         * this.txtCalle.Text = dr["Calle"] == null ? "" : dr["Calle"].ToString();
                         * this.txtCalleNro.Text=dr["CalleNro"] == null ? "" : dr["CalleNro"].ToString();
                         * this.txtTelefono.Text=dr["Telefono"] == null ? "" : dr ["Telefono"].ToString();
                         * this.txtFax.Text=dr["Fax"] == null ? "" : dr["Fax"].ToString();
                         * this.txtLocalidadID.Text=dr["LocalidadID"] == null ? "" : dr["LocalidadID"].ToString();
                         * this.txtProvinciaID.Text=dr["ProvinciaID"] == null ? "" : dr["ProvinciaID"].ToString();
                         * this.txtDpto.Text=dr["Depto"] == null ? "" : dr["Depto"].ToString();
                         * this.txtCondicionIVA.Text=dr["CondicionIvaID"] == null ? "" : dr["CondicionIvaID"].ToString();
                         * this.txtCondicionPago.Text=dr["CondicionPagoDescrip"] == null ? "" : dr["CondicionPagoDescrip"].ToString();;
                         * this.txtCuit.Text=dr["NroCUIT"] == null ? "" : dr["NroCUIT"].ToString();
                         * this.txtTipoCliente.Text=dr["TipoCliente"].ToString();
                         */
                        //DsClientesGuia.DatosRow dr = (DsClientesGuia.DatosRow)((DsClientesGuia.DatosRow[]) ds.Datos.Select(filtro))[0];
                        DsClientesGuia.DatosRow dr = (DsClientesGuia.DatosRow)((DsClientesGuia.DatosRow[])ds.Datos.Select(filtroCorp))[0];
                        Session["ClienteCorp.ClienteID"] = dr.ClienteID;
                        this.txtClienteID.Text           = dr.ClienteID.ToString();
                        this.txtTipoDoc.Text             = dr.IsTipoDocNull()? "":dr.TipoDoc.ToString();
                        this.txtCodigo.Text   = dr.IsCodigoNull() ? "" : dr.Codigo;
                        this.txtNombre.Text   = dr.IsNombreNull()? "": dr.Nombre;
                        this.txtApellido.Text = dr.IsApellidoNull()? "": dr.Apellido;


                        if (tipoCliConsul == "1")
                        {
                            /*SFE: Implementacion Codigos Postales. Buscar el domicilio del cliente en la tabla GuiaFacturaCorporativo.*/
                            DsClientesGuia dsC = new DsClientesGuia();
                            dsC = clientes.GetClientesCorpDomicilio(dr.ClienteID, Utiles.Validaciones.obtieneEntero(agenciaID), (int)NegociosSisPackInterface.SisPack.TipoAgenteGuia.Remitente);
                            if (dsC.Datos.Count > 0)
                            {
                                DsClientesGuia.DatosRow drC = (DsClientesGuia.DatosRow)dsC.Tables[0].Rows[0];
                                dr.Calle       = drC.IsCalleNull() ? "" : drC.Calle;
                                dr.CalleNro    = drC.IsCalleNroNull() ? "" : drC.CalleNro;
                                dr.Telefono    = drC.IsTelefonoNull() ? "" : drC.Telefono;
                                dr.TelCodArea  = drC.IsTelCodAreaNull() ? "" : drC.TelCodArea;
                                dr.LocalidadID = drC.LocalidadID;
                                dr.ProvinciaID = drC.ProvinciaID;
                                dr.Depto       = drC.IsDeptoNull() ? "" : drC.Depto;
                                dr.Fax         = drC.IsFaxNull() ? "" : drC.Fax;
                                //VSA: Modificación desarrollo Código postales
                                dr.CodPostal                 = drC.IsCodPostalNull() ? "" : drC.CodPostal;
                                dr.CodigoPostalID            = drC.IsCodigoPostalIDNull() ? 0 : drC.CodigoPostalID;
                                dr.Localidad                 = drC.IsLocalidadNull() ? "" : drC.Localidad;
                                dr.DomicilioID               = drC.IsDomicilioIDNull() ? 0 : drC.DomicilioID;
                                dr.Provincia                 = drC.IsProvinciaNull() ? "" : drC.Provincia;
                                Session["DsClientesGuiaRem"] = drC;
                            }
                            /*SFE: Implementacion Codigos Postales. Buscar el domicilio del cliente en la tabla GuiaFacturaCorporativo.*/
                        }
                        this.txtCalle.Text           = dr.IsCalleNull()? "":dr.Calle;
                        this.txtCalleNro.Text        = dr.IsCalleNroNull()? "":dr.CalleNro;
                        this.txtTelefono.Text        = dr.IsTelefonoNull()? "":dr.Telefono;
                        this.txtTelefonoCodArea.Text = dr.IsTelCodAreaNull() ? "" : dr.TelCodArea;
                        this.txtFax.Text             = dr.IsFaxNull()? "":dr.Fax;
                        this.txtLocalidadID.Text     = dr.IsLocalidadIDNull()?"":dr.LocalidadID.ToString();
                        this.txtDomicilioID.Text     = dr.IsDomicilioIDNull() ? "" : dr.DomicilioID.ToString();
                        this.txtProvinciaID.Text     = dr.IsProvinciaIDNull()?"":dr.ProvinciaID.ToString();
                        this.txtDpto.Text            = dr.IsDeptoNull() ? "" : dr.Depto;
                        //VSA: Modificación desarrollo Código postales
                        this.txtCodPostal.Text      = dr.IsCodPostalNull() ? "" : dr.CodPostal;
                        this.txtCodigoPostalID.Text = dr.IsCodigoPostalIDNull() ? "" : dr.CodigoPostalID.ToString();
                        this.txtLocalidad.Text      = dr.IsLocalidadNull() ? "" : dr.Localidad;
                        this.txtProvincia.Text      = dr.IsProvinciaNull() ? "" : dr.Provincia;
                        if (this.tipoCliConsul == "1")
                        {
                            string locDescrip = dr.IsLocalidadNull()?"":dr.Localidad;
                            this.txtLocalidades.Text = this.txtLocalidadID.Text + "," + locDescrip + ";";
                        }
                        else
                        {
                            this.txtLocalidades.Text = string.Empty;
                            // SFE: Desarrollo de codigos postales, se comenta el llenado de este txt
                            //this.txtLocalidades.Text = LlenarCombos.LlenarStringLocalidades(Convert.ToInt32(this.txtProvinciaID.Text));
                        }


                        this.txtCondicionIVA.Text  = dr.IsCondicionIvaIDNull()? "":dr.CondicionIvaID.ToString();
                        this.txtCondicionPago.Text = dr.IsCondicionPagoDescripNull()?"":dr.CondicionPagoDescrip;
                        this.txtCuit.Text          = dr.IsNroCUITNull()? "": dr.NroCUIT;
                        this.txtTipoCliente.Text   = dr.TipoCliente.ToString();
                        this.txtErrorMsg.Text      = "";
                        this.txtOpen.Text          = "";


                        //Aqui se ejecuta el SP que busca por UVenta para un cliente, desde un origen.
                        //Sólo se ejecuta cuando se selecciona un cliente, y cuando se filtra por agencia.
                        this.txtProducto.Text   = "";
                        this.txtTEntrega.Text   = "";
                        this.txtServicio.Text   = "";
                        this.txtModEntrega.Text = "";


                        if (this.tipoCliConsul == "1")
                        {
                            IAdministrarGuias oAdmGuia = AdministrarGuiasFactory.GetAdministrarGuias();
                            oAdmGuia.ClienteCorp.ClienteID = dr.ClienteID;
                            oAdmGuia.AgenciaOrigenID       = agencia.AgenciaID;
                            //ICotizacionCliente oCotiz = CotizacionClienteFactory.GetCotizacionCliente();
                            //oCotiz.ClienteID = dr.ClienteID;//Convert.ToInt32(dr["ClienteID"]);
                            //oCotiz.ClienteID = Convert.ToInt32(dr["ClienteID"]);
                            //DsUnidadVentaTEntregaProductoServicio dsProd = oCotiz.GetUVentaServTEntregaModOrigenCotizadasByClienteIDDataSet();
                            DsUnidadVentaTEntregaProductoServicio dsProd = oAdmGuia.GetUVentaServTEntregaModOrigenCotizadasByClienteAgenciaDataSet();

                            if (dsProd == null)
                            {
                                return;
                            }

                            DsUnidadVentaTEntregaProductoServicio.DatosRow[] drDatos = (DsUnidadVentaTEntregaProductoServicio.DatosRow[])dsProd.Datos.Select("((TipoOrigenDestinoID=" + (int)NegociosSisPackInterface.SisPack.TipoOrigenDestino.Agencia + " AND OrigenID=" + agenciaID + ") OR (TipoOrigenDestinoID=" + (int)NegociosSisPackInterface.SisPack.TipoOrigenDestino.AgrupacionLocalidad + " AND OrigenID=" + agrupacionLocalidadOrigenID +
                                                                                                                                                             ")  OR (TipoOrigenDestinoID=" + (int)NegociosSisPackInterface.SisPack.TipoOrigenDestino.Localidad + " AND OrigenID=" + localidadID +
                                                                                                                                                             ") OR ( TipoOrigenDestinoID=" + (int)NegociosSisPackInterface.SisPack.TipoOrigenDestino.Departamento + " AND OrigenID=" + departamentoID + ") OR (TipoOrigenDestinoID=" + (int)NegociosSisPackInterface.SisPack.TipoOrigenDestino.Provincia + " AND OrigenID=" + provinciaID +
                                                                                                                                                             " )OR (TipoOrigenDestinoID=" + (int)NegociosSisPackInterface.SisPack.TipoOrigenDestino.Pais + " AND OrigenID=" + paisID + " )OR (TipoOrigenDestinoID = 0 AND OrigenID = 0))");

                            //SortedList listaProd = new SortedList();


                            if (drDatos.Length > 0)
                            {
                                string datosProd       = "";
                                string datosTEntrega   = "";
                                string datosServ       = "";
                                string datosModEntrega = "";


                                /*	foreach(DsUnidadVentaTEntregaProductoServicio.DatosRow dr in ds.Datos.Rows)
                                 *              datos += dr.ProductoID + "," + dr.ProductoDescrip + "," + dr.TiempoEntregaID + "," + dr.TiempoEntregaDescrip + "," + (dr.IsServicioIDNull() ? 0 : Convert.ToInt32(dr.ServicioID)) + "," + (dr.IsServicioDescripNull() ? "Sin Servicio" : dr.ServicioDescrip) + "," + dr.ModalidadEntregaID + "," + dr.ModalidadEntregaDescrip + ";" ;
                                 */
                                foreach (DsUnidadVentaTEntregaProductoServicio.DatosRow drProd in dsProd.Datos.Rows)
                                {
                                    //if(!listaProd.Contains(dr.ProductoID))
                                    //listaProd.Add(dr.ProductoID,dr.ProductoDescrip);

                                    string nuevoProd = drProd.ProductoID + "," + drProd.ProductoDescrip + ";";
                                    if (datosProd.IndexOf(nuevoProd) < 0)
                                    {
                                        datosProd += nuevoProd;
                                    }

                                    string nuevoTEntrega = drProd.ProductoID + "," + drProd.TiempoEntregaID + "," + drProd.TiempoEntregaDescrip + ";";
                                    if (datosTEntrega.IndexOf(nuevoTEntrega) < 0)
                                    {
                                        datosTEntrega += nuevoTEntrega;
                                    }

                                    string nuevoServ = drProd.UnidadVentaID + "," + drProd.ProductoID + "," + drProd.TiempoEntregaID + "," + (drProd.IsServicioIDNull() ? 0 : Convert.ToInt32(drProd.ServicioID)) + "," + (drProd.IsServicioDescripNull() ? "Sin Servicio" : drProd.ServicioDescrip) + ";";
                                    if (datosServ.IndexOf(nuevoServ) < 0)
                                    {
                                        datosServ += nuevoServ;
                                    }

                                    string nuevaMEntrega = drProd.UnidadVentaID + "," + drProd.ModalidadEntregaID + "," + drProd.ModalidadEntregaDescrip + ";";
                                    if (datosModEntrega.IndexOf(nuevaMEntrega) < 0)
                                    {
                                        datosModEntrega += nuevaMEntrega;
                                    }
                                }

                                this.txtProducto.Text   = datosProd;
                                this.txtTEntrega.Text   = datosTEntrega;
                                this.txtServicio.Text   = datosServ;
                                this.txtModEntrega.Text = datosModEntrega;
                            }
                        }
                    }
                    else
                    {
                        this.txtCodigo.Text        = this.codigo;
                        this.txtNombre.Text        = this.nombre;
                        this.txtApellido.Text      = this.apellido;
                        this.txtAgenciaID.Text     = this.agenciaID;
                        this.txtTipoCliConsul.Text = this.tipoCliConsul;
                        this.txtCuit.Text          = this.cuit;
                        this.txtOpen.Text          = "S";
                    }
                }
                else
                {
                    this.txtClienteID.Text = "";
                    this.txtErrorMsg.Text  = "No se encontraron datos.";
                    this.txtOpen.Text      = "";
                }
            }
            catch (Exception ex)
            {
                this.txtErrorMsg.Text = "Error al consultar datos de clientes: " + ex.Message;
            }
        }
Beispiel #5
0
        private void CargarDatosCliente()
        {
            // Cargo los datos del destinatario, que son los datos que inicialmente se van a utilizar para cargar la factura
            IAdministrarClientes datosDest             = AdministrarClientesFactory.GetAdministrarClientes();
            IDatosDomicilio      DomicilioDestinatario = (IDatosDomicilio)DatosDestinatario.FindControl("Domicilio" + DatosDestinatario.ID);

            DsDatosGenerarFactura dsDatosGenFactura;

            // Reviso si hay datos de facturas en memoria
            if (Session[NombreClaveObjSession] != null)
            {
                dsDatosGenFactura = (DsDatosGenerarFactura)Session[NombreClaveObjSession];
            }
            else
            {
                dsDatosGenFactura = new DsDatosGenerarFactura();
            }
            // Reviso si ya se ingresaron los datos para el remito
            DsDatosGenerarFactura.DatosRow datosFacCargados;
            if (Validaciones.obtieneEntero(dsDatosGenFactura.Datos.Compute("count(guiaid)", "GuiaID = " + GuiaID.ToString()).ToString()) > 0)
            {
                // Ya se ingresaron los datos para el remito. recupero los datos ingresados y los cargo
                datosFacCargados = (DsDatosGenerarFactura.DatosRow)dsDatosGenFactura.Datos.Select("GuiaID = " + GuiaID.ToString())[0];

                // Cargo los datos del destinatario
                DatosDestinatario.ClienteID            = datosFacCargados.IsClienteIDNull()? 0  : Convert.ToInt32(datosFacCargados.ClienteID);
                DatosDestinatario.EsClienteCorporativo = datosFacCargados.TipoDeCliente == (int)NegociosSisPackInterface.SisPack.TipoCliente.Corporativo ? true : false;
                DatosDestinatario.Nombre        = datosFacCargados.IsNombreNull()? "" : datosFacCargados.Nombre;
                DatosDestinatario.Apellido      = datosFacCargados.IsApellidoNull()?"":datosFacCargados.Apellido;
                DatosDestinatario.TipoDoc       = datosFacCargados.IsTipoDocumentoNull() ? NegociosSisPackInterface.SisPack.TipoDocumento.Ninguno : (NegociosSisPackInterface.SisPack.TipoDocumento)datosFacCargados.TipoDocumento;
                DatosDestinatario.ClienteNumero = datosFacCargados.IsNumeroClienteNull() ? "" : datosFacCargados.NumeroCliente.ToString();
                DatosDestinatario.NroCuit       = datosFacCargados.IsCUITNull()? "" : datosFacCargados.CUIT.Trim();
                DatosDestinatario.CondicionIVA  = datosFacCargados.IsCondicionIVAIDNull() ? NegociosSisPackInterface.SisPack.CondicionIva.ConsumidorFinal : (NegociosSisPackInterface.SisPack.CondicionIva)datosFacCargados.CondicionIVAID;

                int DomicilioID = datosFacCargados.IsDomicilioIDNull()?0:datosFacCargados.DomicilioID;

                if (datosFacCargados.IsDomicilioIDNull() == false)
                {
                    DomicilioDestinatario.DomicilioID = datosFacCargados.DomicilioID;
                }
                DomicilioDestinatario.Calle    = datosFacCargados.IsCalleNull()?"" : datosFacCargados.Calle;
                DomicilioDestinatario.CalleNro = datosFacCargados.IsCalleNroNull()?"" : datosFacCargados.CalleNro.ToString();
                DomicilioDestinatario.Depto    = datosFacCargados.IsDepartamentoNull()? "" :datosFacCargados.Departamento;
                DomicilioDestinatario.Fax      = datosFacCargados.IsFaxNull()?"": datosFacCargados.Fax;
                DomicilioDestinatario.Telefono = datosFacCargados.IsTelefonoNull()?"": datosFacCargados.Telefono;

                if (!datosFacCargados.IsLocalidadIDNull())
                {
                    DomicilioDestinatario.LocalidadID = datosFacCargados.LocalidadID;

                    ILocalidad localidad = LocalidadFactory.GetLocalidad();
                    localidad.LocalidadID = datosFacCargados.LocalidadID;

                    localidad.Consultar();

                    DomicilioDestinatario.ProvinciaID = localidad.Provincia.ProvinciaID;
                }

                this.txtEsPasajeACtaCte.Text = datosFacCargados.IsEsPasajeACtaCteNull()? "0": (datosFacCargados.EsPasajeACtaCte ?"1":"0");
            }
            else
            {
                // No se  han ingresado los datos para el remito
                DsClientesGuia dsDest;
                /* VSA: Controlar si el remito original se pasó a cuenta corriente -> Imprimir un nuevo remito no factura. */
                IGuiaPasajeACtaCte oDatos = GuiaPasajeACtaCteFactory.GetGuiaPasajeACtaCte();
                oDatos.GuiaID = GuiaID;
                oDatos.Consultar();
                if (oDatos.ClienteIDNuevo != 0 && oDatos.ClienteIDAnt == 0)
                {
                    /* Imprimir remito a cliente corporativo */
                    this.txtEsPasajeACtaCte.Text = oDatos.ClienteIDNuevo.ToString();
                    dsDest = datosDest.GetDestinatarioByClienteID(Convert.ToInt32(oDatos.ClienteIDNuevo.ToString()));
                }
                else
                {
                    this.txtEsPasajeACtaCte.Text = "0";
                    // Obtengo los datos del destinatario y reviso si se encontraron
                    dsDest = datosDest.GetDestinatarioByGuiaID(GuiaID);
                }

                if (dsDest == null || dsDest.Datos.Rows.Count == 0)
                {
                    // Los datos no se encontraron. Salgo del procedimiento
                    return;
                }

                DsClientesGuia.DatosRow drDest = (DsClientesGuia.DatosRow)dsDest.Datos.Rows[0];
                if (drDest == null)
                {
                    return;
                }

                // Cargo los datos del destinatario
                DatosDestinatario.ClienteID            = drDest.IsClienteIDNull()? 0  : Convert.ToInt32(drDest.ClienteID);
                DatosDestinatario.EsClienteCorporativo = drDest.TipoCliente;
                DatosDestinatario.Nombre        = drDest.IsNombreNull()? "" : drDest.Nombre;
                DatosDestinatario.Apellido      = drDest.IsApellidoNull()?"":drDest.Apellido;
                DatosDestinatario.TipoDoc       = drDest.IsTipoDocNull() ? NegociosSisPackInterface.SisPack.TipoDocumento.Ninguno : (NegociosSisPackInterface.SisPack.TipoDocumento)drDest.TipoDoc;
                DatosDestinatario.ClienteNumero = drDest.IsCodigoNull()? "" : drDest.Codigo.ToString();
                DatosDestinatario.NroCuit       = drDest.IsNroCUITNull()? "" : drDest.NroCUIT.Trim();
                DatosDestinatario.CondicionIVA  = drDest.IsCondicionIvaIDNull() ? NegociosSisPackInterface.SisPack.CondicionIva.ConsumidorFinal : (NegociosSisPackInterface.SisPack.CondicionIva)drDest.CondicionIvaID;

                int DomicilioID = drDest.IsDomicilioIDNull()?0:drDest.DomicilioID;

                DomicilioDestinatario.DomicilioID = drDest.IsDomicilioRetiroEntregaNull() ? DomicilioID : drDest.DomicilioRetiroEntrega;
                DomicilioDestinatario.Calle       = drDest.IsCalleNull()?"" : drDest.Calle;
                DomicilioDestinatario.CalleNro    = drDest.IsCalleNroNull()?"" : drDest.CalleNro.ToString();
                DomicilioDestinatario.Depto       = drDest.IsDeptoNull()? "" :drDest.Depto;
                DomicilioDestinatario.Fax         = drDest.IsFaxNull()?"": drDest.Fax;
                DomicilioDestinatario.Telefono    = drDest.IsTelefonoNull()?"": drDest.Telefono;
                if (!drDest.IsProvinciaIDNull())
                {
                    DomicilioDestinatario.ProvinciaID = drDest.ProvinciaID;
                }
                if (!drDest.IsLocalidadIDNull())
                {
                    DomicilioDestinatario.LocalidadID = drDest.LocalidadID;
                }
            }

            // Reviso si el destinatario es un cliente registrado
            if (DatosDestinatario.ClienteID != 0)
            {
                // Es un cliente registrado. Bloqueo los contoles para que no se pueda modificar los datos sin hacer click en el boton limpiar
                bool esPasaje = (this.txtEsPasajeACtaCte.Text.Equals("0") || this.txtEsPasajeACtaCte.Text.Equals("")) ? false : true;

                DatosDestinatario.BloquearCtrsCuandoSeleccionaClienteEventual = false;

                StringBuilder scriptBloquear = new StringBuilder();
                scriptBloquear.Append("<Script>");
                scriptBloquear.Append("try {");
                scriptBloquear.Append("DeshabilitarCtrlDatos" + DatosDestinatario.ClientID + "();");
                if (esPasaje)
                {
                    scriptBloquear.Append("DeshabilitarModDatos" + DatosDestinatario.ClientID + "();");
                }
                scriptBloquear.Append("}");
                scriptBloquear.Append("catch (ex) { }");
                scriptBloquear.Append("</script>");

                Page.RegisterStartupScript("ScriptBloquearControlesCliente", scriptBloquear.ToString());
            }
        }
        private void Buscar()
        {
            int total = 0;

            try
            {
                IAdministrarClientes clientes = AdministrarClientesFactory.GetAdministrarClientes();

                DsClientesGuia ds = new DsClientesGuia();
                //DsClientesGuia ds = clientes.GetClientesDataSet();

                //DsClientesGuia.DatosRow[] drLista = (DsClientesGuia.DatosRow[])ds.Datos.Select("Codigo LIKE '" + codi + "%' AND Nombre LIKE '%" + nombre + "%' AND Apellido LIKE'%"+ apellido +"%'","NombreCompleto");

                int totalPrueba = 0;

                DsClientesGuia.DatosRow[] drLista;
                if (tipoCliConsul.Length > 0)
                {
                    if (tipoCliConsul == "0")
                    {
                        ds      = clientes.GetClientesEvenAllDataSet(codigo, nombre, apellido, apellido, cuit, 0, out totalPrueba);
                        drLista = (DsClientesGuia.DatosRow[])ds.Datos.Select("");

                        //drLista = (DsClientesGuia.DatosRow[])ds.Datos.Select("Codigo LIKE '" + codigo + "%'AND Nombre LIKE '" + nombre + "%' AND Apellido LIKE'%"+ apellido +	"%' AND TipoCliente = 0 AND NroCuit like '" + this.cuit + "%'" ,"NombreCompleto");
                    }
                    else
                    {
                        ds = clientes.GetClientesCorpALLDataSet(codigo, nombre, apellido, apellido, cuit, 0, out totalPrueba);

                        drLista = (DsClientesGuia.DatosRow[])ds.Datos.Select("");
                        //drLista = (DsClientesGuia.DatosRow[])ds.Datos.Select("Codigo LIKE '" + codigo + "%'AND NombreCompleto LIKE '" + nombre + "%' AND TipoCliente = 1 AND NroCuit like '" + this.cuit + "%'" ,"NombreCompleto");
                    }
                    //DsClientesGuia.DatosRow[] drLista = (DsClientesGuia.DatosRow[])ds.Datos.Select("Codigo LIKE '" + codi + "%' AND NombreCompleto LIKE '" + nombreCompleto + "%' AND TipoCliente = "+ tipoCliConsul ,"NombreCompleto");
                }
                else
                {
                    ds      = clientes.GetClientesEvenOrigenSet(codigo, nombre, apellido, apellido, cuit, 0, out totalPrueba);
                    drLista = (DsClientesGuia.DatosRow[])ds.Datos.Select("");

                    //drLista = (DsClientesGuia.DatosRow[])ds.Datos.Select("Codigo LIKE '" + codigo + "%' AND NombreCompleto LIKE '" + nombre + "%'","NombreCompleto");
                }
                //DsClientesGuia.DatosRow[] drLista = (DsClientesGuia.DatosRow[])ds.Datos.Select("Codigo LIKE '" + codigo + "%' AND Nombre LIKE '%" + nombre + "%' AND Apellido LIKE'%"+ apellido +"%'");
                //DsClientesGuia.DatosRow[] drLista = (DsClientesGuia.DatosRow[])ds.Datos.Select("Codigo LIKE '" + codigo + "%' AND NombreCompleto LIKE '%" + nombreCompleto + "%'");

                total = drLista.Length;

                if (total > 0)
                {
                    if (total == 1)
                    {
                        DsClientesGuia.DatosRow dr = drLista[0];
                        this.txtClienteID.Text = dr.ClienteID.ToString();
                        this.txtTipoDoc.Text   = dr.IsTipoDocNull()? "":dr.TipoDoc.ToString();
                        this.txtCodigo.Text    = dr.IsCodigoNull() ? "" : dr.Codigo;
                        this.txtNombre.Text    = dr.IsNombreNull()? "": dr.Nombre;
                        this.txtApellido.Text  = dr.IsApellidoNull()? "": dr.Apellido;

                        if (tipoCliConsul == "1")
                        {
                            /*SFE: Implementacion Codigos Postales. Buscar el domicilio del cliente en la tabla GuiaFacturaCorporativo.*/
                            DsClientesGuia dsC = new DsClientesGuia();
                            dsC = clientes.GetClientesCorpDomicilio(dr.ClienteID, Utiles.Validaciones.obtieneEntero(agenciaOrigenID), (int)NegociosSisPackInterface.SisPack.TipoAgenteGuia.Destinatario);
                            if (dsC.Datos.Count > 0)
                            {
                                DsClientesGuia.DatosRow drC = (DsClientesGuia.DatosRow)dsC.Tables[0].Rows[0];
                                dr.Calle       = drC.IsCalleNull() ? "" : drC.Calle;
                                dr.CalleNro    = drC.IsCalleNroNull() ? "" : drC.CalleNro;
                                dr.Telefono    = drC.IsTelefonoNull() ? "" : drC.Telefono;
                                dr.TelCodArea  = drC.IsTelCodAreaNull() ? "" : drC.TelCodArea;
                                dr.LocalidadID = drC.LocalidadID;
                                dr.ProvinciaID = drC.ProvinciaID;
                                dr.Provincia   = drC.Provincia;
                                dr.Depto       = drC.IsDeptoNull() ? "" : drC.Depto;
                                dr.Fax         = drC.IsFaxNull() ? "" : drC.Fax;
                                //VSA: Modificación desarrollo Código postales
                                dr.CodPostal      = drC.IsCodPostalNull() ? "" : drC.CodPostal;
                                dr.CodigoPostalID = drC.IsCodigoPostalIDNull() ? 0 : drC.CodigoPostalID;
                                dr.Localidad      = drC.IsLocalidadNull() ? "" : drC.Localidad;
                                dr.DomicilioID    = drC.IsDomicilioIDNull() ? 0 : drC.DomicilioID;

                                Session["DsClientesGuiaDes"] = drC;
                            }
                        }
                        /*SFE: Implementacion Codigos Postales. Buscar el domicilio del cliente en la tabla GuiaFacturaCorporativo.*/
                        this.txtCalle.Text           = dr.IsCalleNull()? "":dr.Calle;
                        this.txtCalleNro.Text        = dr.IsCalleNroNull()? "":dr.CalleNro;
                        this.txtTelefono.Text        = dr.IsTelefonoNull()? "":dr.Telefono;
                        this.txtTelefonoCodArea.Text = dr.IsTelCodAreaNull() ? "" : dr.TelCodArea;
                        this.txtFax.Text             = dr.IsFaxNull()? "":dr.Fax;
                        this.txtLocalidadID.Text     = dr.IsLocalidadIDNull()?"":dr.LocalidadID.ToString();
                        this.txtDomicilioID.Text     = dr.IsDomicilioIDNull() ? "" : dr.DomicilioID.ToString();
                        this.txtProvinciaID.Text     = dr.IsProvinciaIDNull() ? "" : dr.ProvinciaID.ToString();
                        this.txtDpto.Text            = dr.IsDeptoNull() ? "" : dr.Depto;
                        string locDescrip = dr.IsLocalidadNull()?"":dr.Localidad;
                        this.txtProvinciaID.Text = dr.IsProvinciaIDNull()?"":dr.ProvinciaID.ToString();
                        //VSA: Modificación desarrollo Código postales
                        this.txtCodPostal.Text      = dr.IsCodPostalNull() ? "" : dr.CodPostal;
                        this.txtLocalidad.Text      = dr.IsLocalidadNull() ? "" : dr.Localidad.ToString();
                        this.txtCodigoPostalID.Text = dr.IsCodigoPostalIDNull() ? "" : dr.CodigoPostalID.ToString();
                        this.txtProvincia.Text      = dr.IsProvinciaNull() ? "" : dr.Provincia.ToString();
                        // AGREGAR UNA VARIABLE DE SESSION, PARA DISTINGUIR SI VIENE DE AG. NO AUTOM.
                        // O DE LA EMISION DE GUIAS COMUN.....O PASARLE UN NUEVO PARAMETRO....
                        if (this.noAutomatizada.Length <= 0)
                        {
                            //////////////////////////////////////////////////////////////////////////////
                            // estaba esta linea originalmente
                            this.txtLocalidades.Text = this.txtLocalidadID.Text + "," + locDescrip + ";";
                            //////////////////////////////////////////////////////////////////////////////
                        }
                        else
                        {
                            //////////////////////////////////////////////////////////////////////////////
                            // la cambié por todo esto, para que cuando se elige un cliente eventual
                            // mediante su DNI, traiga todas las localidades, no sólo la del cliente
                            // porque sino, despues no se puede modificar el domicilio del cliente
                            //////////////////////////////////////////////////////////////////////////////
                            if (this.tipoCliConsul == "1")
                            {
                                locDescrip = dr.IsLocalidadNull()?"":dr.Localidad;
                                this.txtLocalidades.Text = this.txtProvinciaID.Text + "," + this.txtLocalidadID.Text + "," + locDescrip + ";";
                            }
                            else
                            {
                                SisPackController.LlenarCombos.LlenarStringLocalidadesConAgenciaParada(this.txtLocalidades);
                            }
                            //////////////////////////////////////////////////////////////////////////////
                        }

                        this.txtCondicionIVA.Text  = dr.IsCondicionIvaIDNull()? "":dr.CondicionIvaID.ToString();
                        this.txtCondicionPago.Text = dr.IsCondicionPagoDescripNull()?"":dr.CondicionPagoDescrip;
                        this.txtCuit.Text          = dr.IsNroCUITNull()? "": dr.NroCUIT;
                        this.txtTipoCliente.Text   = dr.TipoCliente.ToString();
                        this.txtErrorMsg.Text      = "";
                        this.txtOpen.Text          = "";
                        this.txtProducto.Text      = "";
                        this.txtTEntrega.Text      = "";
                        this.txtServicio.Text      = "";
                        this.txtModEntrega.Text    = "";
                    }
                    else
                    {
                        this.txtCodigo.Text         = this.codigo;
                        this.txtNombre.Text         = this.nombre;
                        this.txtApellido.Text       = this.apellido;
                        this.txtNombreCompleto.Text = this.apellido;
                        this.txtTipoCliConsul.Text  = this.tipoCliConsul;
                        this.txtOpen.Text           = "S";
                    }
                }
                else
                {
                    this.txtClienteID.Text = "";
                    this.txtErrorMsg.Text  = "No se encontraron datos.";
                    this.txtOpen.Text      = "";
                }
            }
            catch (Exception ex)
            {
                this.txtErrorMsg.Text = "Error al consultar datos de clientes: " + ex.Message;
            }
        }
        private void CargarDatosCliente()
        {
            // Cargo los datos del destinatario, que son los datos que inicialmente se van a utilizar para cargar la factura
            IAdministrarClientes datosDest             = AdministrarClientesFactory.GetAdministrarClientes();
            IDatosDomicilio      DomicilioDestinatario = (IDatosDomicilio)DatosDestinatario.FindControl("Domicilio" + DatosDestinatario.ID);

            // Obtengo los datos del destinatario y reviso si se encontraron
            DsClientesGuia dsDest = datosDest.GetDestinatarioByGuiaID(GuiaId);

            if (dsDest == null || dsDest.Datos.Rows.Count == 0)
            {
                // Los datos no se encontraron. Salgo del procedimiento
                return;
            }

            DsClientesGuia.DatosRow drDest = (DsClientesGuia.DatosRow)dsDest.Datos.Rows[0];
            if (drDest == null)
            {
                return;
            }

            // Cargo los datos del destinatario
            //			ClienteId = drDest.IsClienteIDNull()? 0  : Convert.ToInt32(drDest.ClienteID);
            //			DatosDestinatario.ClienteID=this.clienteID;
            DatosDestinatario.ClienteID            = drDest.IsClienteIDNull()? 0  : Convert.ToInt32(drDest.ClienteID);
            DatosDestinatario.EsClienteCorporativo = drDest.TipoCliente;
            DatosDestinatario.Nombre        = drDest.IsNombreNull()? "" : drDest.Nombre;
            DatosDestinatario.Apellido      = drDest.IsApellidoNull()?"":drDest.Apellido;
            DatosDestinatario.TipoDoc       = drDest.IsTipoDocNull() ? NegociosSisPackInterface.SisPack.TipoDocumento.Ninguno : (NegociosSisPackInterface.SisPack.TipoDocumento)drDest.TipoDoc;
            DatosDestinatario.ClienteNumero = drDest.IsCodigoNull()? "" : drDest.Codigo.ToString();
            DatosDestinatario.NroCuit       = drDest.IsNroCUITNull()? "" : drDest.NroCUIT.Trim();

            //			Session["TipoDoc"]=drDest.IsTipoDocNull()? 0:drDest.TipoDoc;
            //			Session["NroDoc"]=drDest.IsCodigoNull()? "" : drDest.Codigo.ToString();
            //			Session["Nombre"]=drDest.IsNombreNull()? "" : drDest.Nombre;
            //			Session["Apellido"]=drDest.IsApellidoNull()?"":drDest.Apellido;

            DatosDestinatario.CondicionIVA = drDest.IsCondicionIvaIDNull() ? NegociosSisPackInterface.SisPack.CondicionIva.ConsumidorFinal : (NegociosSisPackInterface.SisPack.CondicionIva)drDest.CondicionIvaID;

            //			Session["DomicilioRetiroEntrega"]=drDest.IsDomicilioRetiroEntregaNull()? 0 :drDest.DomicilioRetiroEntrega;
            int DomicilioID = drDest.IsDomicilioIDNull()?0:drDest.DomicilioID;

            DomicilioDestinatario.DomicilioID = drDest.IsDomicilioRetiroEntregaNull() ? DomicilioID : drDest.DomicilioRetiroEntrega;
            DomicilioDestinatario.Calle       = drDest.IsCalleNull()?"" : drDest.Calle;
            DomicilioDestinatario.CalleNro    = drDest.IsCalleNroNull()?"" : drDest.CalleNro.ToString();
            DomicilioDestinatario.Depto       = drDest.IsDeptoNull()? "" :drDest.Depto;
            DomicilioDestinatario.Fax         = drDest.IsFaxNull()?"": drDest.Fax;
            DomicilioDestinatario.Telefono    = drDest.IsTelefonoNull()?"": drDest.Telefono;
            if (!drDest.IsProvinciaIDNull())
            {
                DomicilioDestinatario.ProvinciaID = drDest.ProvinciaID;
            }
            if (!drDest.IsLocalidadIDNull())
            {
                DomicilioDestinatario.LocalidadID = drDest.LocalidadID;
            }

            //			if((drDest.IsTipoRetiroEntregaIDNull()?0:drDest.TipoRetiroEntregaID)==(int)NegociosSisPackInterface.SisPack.TipoRetiroEntrega.EntregaDomicilio)
            //				this.chkEntregaDomicilio.Checked=true;
            //			else
            //				this.chkEntregaDomicilio.Enabled=false;
        }
        private void dtgClientes_ItemCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
        {
            if (e.CommandName == "Select")
            {
                /*int indice = e.Item.DataSetIndex;
                 * if(this.txtAgenciaID.Text!="")
                 *      this.BindGridPorAgencia();
                 * else
                 *      BindGrid();
                 *
                 * DsClientesGuia.DatosRow[] drLista  = (DsClientesGuia.DatosRow[]) dtgClientes.DataSource;
                 * if (drLista == null)
                 *      return;
                 *
                 * if (drLista.Length == 0)
                 *      return;
                 *
                 * //AQUI VER el tema del INDICE!! si es el indice de la coleccion o del dataset!!
                 * DsClientesGuia.DatosRow dr = drLista[indice];
                 * if (dr == null)
                 *      return;
                 */

                int    clienteID;
                string tipoDoc;
                string codigo;
                //string nombreCompleto = dr.NombreCompleto;
                string nombre;
                string apellido;
                string calle;
                string calleNro;
                string telefono;
                string telCodArea;
                string fax;
                string localidadID;
                string provinciaID;
                //VSA: Modificación desarrollo Código postales
                int    codigoPostalID;
                string localidadDescrip;
                string provinciaDescrip;
                string strLocalidades;
                string codPostal;
                string depto;
                string condicionIVA;
                string cuit;
                string tipoCliente;
                string condicionPago;
                string strProducto;
                string strTEntrega;
                string strServicio;
                string strModEntrega;
                int    domicilioID;

                //VSA: Modificación desarrollo Código postales
                if (this.txtTipoCliConsul.Text == "0" || this.txtTipoCliConsul.Text == "")                // || this.tipoCliConsul == "")
                {
                    IClienteEventual clienteEven = ClienteEventualFactory.GetClienteEventual();
                    clienteEven.ClienteEventualID = Utiles.Validaciones.obtieneEntero(dtgClientes.DataKeys[(int)e.Item.ItemIndex].ToString());
                    clienteEven.Consultar();

                    clienteID = clienteEven.ClienteEventualID;
                    tipoDoc   = ((int)clienteEven.TipoDocumento).ToString();
                    codigo    = clienteEven.NroDocumento.ToString();
                    //string nombreCompleto = dr.NombreCompleto;
                    nombre      = clienteEven.Nombre;
                    apellido    = clienteEven.Apellido;
                    calle       = clienteEven.Domicilio.Calle;
                    calleNro    = clienteEven.Domicilio.CalleNro;
                    telefono    = clienteEven.Domicilio.Telefono;
                    telCodArea  = clienteEven.Domicilio.TelCodArea;
                    fax         = clienteEven.Domicilio.Fax;
                    localidadID = clienteEven.Domicilio.Localidad.LocalidadID.ToString();
                    domicilioID = clienteEven.Domicilio.DomicilioID;

                    ILocalidad localidad = LocalidadFactory.GetLocalidad();
                    localidad.LocalidadID = Utiles.Validaciones.obtieneEntero(localidadID);
                    localidad.Consultar();
                    provinciaID      = localidad.Provincia.ProvinciaID.ToString();
                    provinciaDescrip = localidad.Provincia.ProvinciaDescrip;
                    localidadDescrip = localidad.LocalidadDescrip;

                    codigoPostalID = clienteEven.Domicilio.OCodigoPostal.CodigoPostalID;
                    if (codigoPostalID > 0)
                    {
                        codPostal = clienteEven.Domicilio.OCodigoPostal.CodigoPostalNro;
                    }
                    else
                    {
                        codPostal = localidad.CodigoPostal;
                    }

                    /*
                     * int clienteID = dr.ClienteID;
                     * string tipoDoc= dr.IsTipoDocNull()?"":dr.TipoDoc.ToString();
                     * string codigo = dr.IsCodigoNull() ? "" : dr.Codigo;
                     * //string nombreCompleto = dr.NombreCompleto;
                     * string nombre=dr.IsNombreNull()? "" : dr.Nombre;
                     * string apellido=dr.IsApellidoNull()? "":dr.Apellido;
                     * string calle =dr.IsCalleNull()? "":dr.Calle;
                     * string calleNro =dr.IsCalleNroNull()? "":dr.CalleNro;
                     * string telefono=dr.IsTelefonoNull()? "":dr.Telefono;
                     * string fax=dr.IsFaxNull()? "":dr.Fax;
                     * string provinciaID =dr.IsProvinciaIDNull()?"":dr.ProvinciaID.ToString();
                     * string localidadID =dr.IsLocalidadIDNull()?"":dr.LocalidadID.ToString();
                     */

                    //EXTRA
                    //string localidadDescrip = dr.IsLocalidadNull()?"":dr.Localidad;
                    strLocalidades = "";
                    if (this.txtTipoCliConsul.Text == "1")
                    {
                        strLocalidades = localidadID + "," + localidadDescrip + ";";
                    }
                    else
                    {
                        strLocalidades = string.Empty;
                        // SFE: Desarrollo de Codigos Postales. se comenta la carga de estas localidades
                        //strLocalidades = LlenarCombos.LlenarStringLocalidades(Convert.ToInt32(provinciaID));
                    }
                    //EXTRA

                    depto         = clienteEven.Domicilio.Depto;
                    condicionIVA  = ((int)clienteEven.CondicionIva).ToString();
                    cuit          = clienteEven.NroCuit;
                    tipoCliente   = "False";                  // si es eventual!!!
                    condicionPago = "Contado";
                    strProducto   = "";
                    strTEntrega   = "";
                    strServicio   = "";
                    strModEntrega = "";
                }
                else                 //corporativos
                {
                    ICliente cliente = ClienteFactory.GetCliente();
                    cliente.ClienteID = Utiles.Validaciones.obtieneEntero(dtgClientes.DataKeys[(int)e.Item.ItemIndex].ToString());
                    cliente.Consultar();

                    Session["ClienteCorp.ClienteID"] = cliente.ClienteID;
                    clienteID = cliente.ClienteID;
                    tipoDoc   = ((int)cliente.TipoDocumento).ToString();
                    codigo    = cliente.Codigo;
                    //string nombreCompleto = dr.NombreCompleto;
                    nombre   = cliente.RazonSocial;
                    apellido = cliente.RazonSocial;

                    /*SFE: Implementacion Codigos Postales. Buscar el domicilio del cliente en la tabla GuiaFacturaCorporativo.*/
                    DsClientesGuia       dsC      = new DsClientesGuia();
                    DsClientesGuia       dsD      = new DsClientesGuia();
                    IAdministrarClientes clientes = AdministrarClientesFactory.GetAdministrarClientes();
                    string agenciaID            = Request.QueryString["AgenciaID"];
                    DsClientesGuia.DatosRow drC = null;
                    DsClientesGuia.DatosRow drD = null;
                    if (agenciaID != null && agenciaID.Length > 0)
                    {
                        /*Es para remitente. Tiene como paramentro agenciaID*/
                        dsC = clientes.GetClientesCorpDomicilio(cliente.ClienteID, AgenciaConectadaID, (int)NegociosSisPackInterface.SisPack.TipoAgenteGuia.Remitente);
                        if (dsC.Datos.Count > 0)
                        {
                            drC            = (DsClientesGuia.DatosRow)dsC.Tables[0].Rows[0];
                            calle          = drC.IsCalleNull() ? "" : drC.Calle;
                            calleNro       = drC.IsCalleNroNull() ? "" : drC.CalleNro;
                            telefono       = drC.IsTelefonoNull() ? "" : drC.Telefono;
                            telCodArea     = drC.IsTelCodAreaNull() ? "" : drC.TelCodArea;
                            localidadID    = drC.LocalidadID.ToString();
                            depto          = drC.IsDeptoNull() ? "" : drC.Depto;
                            fax            = drC.IsFaxNull() ? "" : drC.Fax;
                            domicilioID    = drC.IsDomicilioIDNull() ? 0 : drC.DomicilioID;
                            codigoPostalID = drC.IsCodigoPostalIDNull() ? 0 : drC.CodigoPostalID;
                            codPostal      = drC.IsCodPostalNull() ? "" : drC.CodPostal;
                            Session["DsClientesGuiaRem"] = drC;
                        }
                        /*SFE: Implementacion Codigos Postales. Buscar el domicilio del cliente en la tabla GuiaFacturaCorporativo.*/
                        else
                        {
                            calle       = cliente.DomicilioComercial.Calle;
                            calleNro    = cliente.DomicilioComercial.CalleNro;
                            telefono    = cliente.DomicilioComercial.Telefono;
                            telCodArea  = cliente.DomicilioComercial.TelCodArea;
                            fax         = cliente.DomicilioComercial.Fax;
                            localidadID = cliente.DomicilioComercial.Localidad.LocalidadID.ToString();
                            depto       = cliente.DomicilioComercial.Depto;
                            domicilioID = cliente.DomicilioComercial.DomicilioID;
                            //VSA: Modificación desarrollo Código postales
                            codigoPostalID = cliente.DomicilioComercial.OCodigoPostal.CodigoPostalID;
                            if (cliente.DomicilioComercial.OCodigoPostal.CodigoPostalID > 0)
                            {
                                codPostal = cliente.DomicilioComercial.OCodigoPostal.CodigoPostalNro;
                            }
                            else
                            {
                                codPostal = cliente.DomicilioComercial.Localidad.CodigoPostal;
                            }
                        }

                        ILocalidad localidad = LocalidadFactory.GetLocalidad();
                        localidad.LocalidadID = Utiles.Validaciones.obtieneEntero(localidadID);
                        localidad.Consultar();
                        provinciaID      = localidad.Provincia.ProvinciaID.ToString();
                        localidadDescrip = localidad.LocalidadDescrip;
                        provinciaDescrip = localidad.Provincia.ProvinciaDescrip;
                    }
                    else
                    {
                        /*Si no es para remitente. No tiene como paramentro agenciaID*/
                        dsD = clientes.GetClientesCorpDomicilio(cliente.ClienteID, AgenciaConectadaID, (int)NegociosSisPackInterface.SisPack.TipoAgenteGuia.Destinatario);
                        if (dsD.Datos.Count > 0)
                        {
                            drD            = (DsClientesGuia.DatosRow)dsD.Tables[0].Rows[0];
                            calle          = drD.IsCalleNull() ? "" : drD.Calle;
                            calleNro       = drD.IsCalleNroNull() ? "" : drD.CalleNro;
                            telefono       = drD.IsTelefonoNull() ? "" : drD.Telefono;
                            telCodArea     = drD.IsTelCodAreaNull() ? "" : drD.TelCodArea;
                            localidadID    = drD.LocalidadID.ToString();
                            depto          = drD.IsDeptoNull() ? "" : drD.Depto;
                            fax            = drD.IsFaxNull() ? "" : drD.Fax;
                            domicilioID    = drD.IsDomicilioIDNull() ? 0 : drD.DomicilioID;
                            codigoPostalID = drD.IsCodigoPostalIDNull() ? 0 : drD.CodigoPostalID;
                            codPostal      = drD.IsCodPostalNull() ? "" : drD.CodPostal;
                            Session["DsClientesGuiaDes"] = drD;
                        }
                        /*SFE: Implementacion Codigos Postales. Buscar el domicilio del cliente en la tabla GuiaFacturaCorporativo.*/
                        else
                        {
                            calle       = cliente.DomicilioComercial.Calle;
                            calleNro    = cliente.DomicilioComercial.CalleNro;
                            telefono    = cliente.DomicilioComercial.Telefono;
                            telCodArea  = cliente.DomicilioComercial.TelCodArea;
                            fax         = cliente.DomicilioComercial.Fax;
                            localidadID = cliente.DomicilioComercial.Localidad.LocalidadID.ToString();
                            depto       = cliente.DomicilioComercial.Depto;
                            domicilioID = cliente.DomicilioComercial.DomicilioID;
                            //VSA: Modificación desarrollo Código postales
                            codigoPostalID = cliente.DomicilioComercial.OCodigoPostal.CodigoPostalID;
                            if (cliente.DomicilioComercial.OCodigoPostal.CodigoPostalID > 0)
                            {
                                codPostal = cliente.DomicilioComercial.OCodigoPostal.CodigoPostalNro;
                            }
                            else
                            {
                                codPostal = cliente.DomicilioComercial.Localidad.CodigoPostal;
                            }
                        }

                        ILocalidad localidad = LocalidadFactory.GetLocalidad();
                        localidad.LocalidadID = Utiles.Validaciones.obtieneEntero(localidadID);
                        localidad.Consultar();
                        provinciaID      = localidad.Provincia.ProvinciaID.ToString();
                        localidadDescrip = localidad.LocalidadDescrip;
                        provinciaDescrip = localidad.Provincia.ProvinciaDescrip;
                    }
                    //codPostal = localidad.CodigoPostal;

                    //EXTRA
                    //string localidadDescrip = dr.IsLocalidadNull()?"":dr.Localidad;
                    strLocalidades = "";
                    if (this.txtTipoCliConsul.Text == "1")
                    {
                        strLocalidades = localidadID + "," + localidadDescrip + ";";
                    }
                    else
                    {
                        // SFE: Desarrollo de codigos postales, se comenta el llenado de este txt
                        //strLocalidades = LlenarCombos.LlenarStringLocalidades(Convert.ToInt32(provinciaID));
                        strLocalidades = string.Empty;
                    }
                    //EXTRA

                    condicionIVA  = ((int)cliente.CondicionIva).ToString();
                    cuit          = cliente.NroCuit;
                    tipoCliente   = "True";                  // es corporativo
                    condicionPago = cliente.CondicionPago.ToString();
                    strProducto   = "";
                    strTEntrega   = "";
                    strServicio   = "";
                    strModEntrega = "";
                }

                /*
                 * string depto=dr.IsDeptoNull()? "":dr.Depto.ToString();
                 * string condicionIVA= dr.IsCondicionIvaIDNull()?"":dr.CondicionIvaID.ToString();
                 * string cuit=dr.IsNroCUITNull()?"":dr.NroCUIT;
                 * string tipoCliente=dr.TipoCliente.ToString();
                 * string condicionPago=dr.IsCondicionPagoDescripNull()?"":dr.CondicionPagoDescrip;
                 * string strProducto = "";
                 * string strTEntrega = "";
                 * string strServicio = "";
                 * string strModEntrega = "";*/

                if (this.txtAgenciaID.Text != "" && this.txtTipoCliConsul.Text == "1")               //Se trata de un cliente corporativo
                {
                    string agenciaID = this.txtAgenciaID.Text;
                    agenciaFiltro           = AgenciaFactory.GetAgencia();
                    agenciaFiltro.AgenciaID = Convert.ToInt32(agenciaID);
                    agenciaFiltro.ConsultarBasico();

                    this.ObtenerUVentaOrigenByCliente(clienteID, ref strProducto, ref strTEntrega, ref strServicio, ref strModEntrega);
                }

                StringBuilder scriptString = new StringBuilder();
                scriptString.Append("<script language='javascript'>\n");
                scriptString.Append("window.dialogArguments.ClienteID = '" + clienteID.ToString() + "';\n");
                scriptString.Append("window.dialogArguments.TipoDoc = '" + tipoDoc + "';\n");
                scriptString.Append("window.dialogArguments.Codigo = '" + codigo + "';\n");
                scriptString.Append("window.dialogArguments.Nombre = '" + nombre + "';\n");
                scriptString.Append("window.dialogArguments.Apellido = '" + apellido + "';\n");
                scriptString.Append("window.dialogArguments.Calle = '" + calle + "';\n");
                scriptString.Append("window.dialogArguments.CalleNro = '" + calleNro + "';\n");
                scriptString.Append("window.dialogArguments.Telefono = '" + telefono + "';\n");
                scriptString.Append("window.dialogArguments.Fax = '" + fax + "';\n");
                scriptString.Append("window.dialogArguments.Localidad = '" + localidadDescrip + "';\n");
                scriptString.Append("window.dialogArguments.LocalidadID = '" + localidadID + "';\n");
                scriptString.Append("window.dialogArguments.StrLocalidades = '" + strLocalidades + "';\n");
                scriptString.Append("window.dialogArguments.Provincia = '" + provinciaDescrip + "';\n");
                scriptString.Append("window.dialogArguments.ProvinciaID = '" + provinciaID + "';\n");
                scriptString.Append("window.dialogArguments.CodPostal = '" + codPostal + "';\n");
                scriptString.Append("window.dialogArguments.Depto = '" + depto + "';\n");
                scriptString.Append("window.dialogArguments.CondicionIVA = '" + condicionIVA + "';\n");
                scriptString.Append("window.dialogArguments.CondicionPago = '" + condicionPago + "';\n");
                scriptString.Append("window.dialogArguments.Cuit = '" + cuit + "';\n");
                scriptString.Append("window.dialogArguments.TipoCliente = '" + tipoCliente + "';\n");
                scriptString.Append("window.dialogArguments.Producto = '" + strProducto + "';\n");
                scriptString.Append("window.dialogArguments.TEntrega = '" + strTEntrega + "';\n");
                scriptString.Append("window.dialogArguments.Servicio = '" + strServicio + "';\n");
                scriptString.Append("window.dialogArguments.ModEntrega = '" + strModEntrega + "';\n");
                scriptString.Append("window.dialogArguments.TelCodArea = '" + telCodArea + "';\n");
                scriptString.Append("window.dialogArguments.DomicilioID = '" + domicilioID + "';\n");
                scriptString.Append("window.dialogArguments.CodigoPostalID = '" + codigoPostalID.ToString() + "';\n");
                scriptString.Append("window.returnValue = true;\n");
                scriptString.Append("window.close();\n");
                scriptString.Append("</script>");

                Page.RegisterClientScriptBlock("scriptModalCliente", scriptString.ToString());
            }
        }
        private void BindGridPorAgencia()
        {
            SisPackController.AdministrarGrillas.Configurar(this.dtgClientes, "ClienteID", this.CantidadOpciones);
            try
            {
                IAdministrarClientes clientes = AdministrarClientesFactory.GetAdministrarClientes();

                string codi = this.txtCodigo.Text;
                //string nombre = this.txtNombre.Text;
                string nombre         = this.txtNombreCompleto.Text;
                string nombreCompleto = this.txtNombreCompleto.Text;
                string apellido       = this.txtApellido.Text;
                string agenciaID      = this.txtAgenciaID.Text;
                agenciaFiltro           = AgenciaFactory.GetAgencia();
                agenciaFiltro.AgenciaID = Convert.ToInt32(agenciaID);
                agenciaFiltro.ConsultarBasico();
                int localidadID    = agenciaFiltro.Domicilio.Localidad.LocalidadID;
                int codigoPostalID = agenciaFiltro.Domicilio.OCodigoPostal.CodigoPostalID;

                /*SFE: Desarrollo de Codigos Postales. Veo si la localidad origen de la Agencia esta incluida en una agrupacion de codigos postales. Me traigo el ID de la agrupacion para ver si esta como origenflete en un convenio de cliente*/
                ICodigoPostalAgrupacion codigoPostalAgrupacion = CodigoPostalAgrupacionFactory.GetCodigoPostalAgrupacion();
                int agrupacionLocalidadOrigenID = codigoPostalAgrupacion.GetAgrupacionDeLocalidad(localidadID, codigoPostalID);

                int    provinciaID    = agenciaFiltro.Domicilio.Localidad.Provincia.ProvinciaID;
                int    departamentoID = agenciaFiltro.Domicilio.Localidad.Departamento.DepartamentoID;
                int    paisID         = agenciaFiltro.Domicilio.Localidad.Provincia.Pais.PaisID;
                string cuit           = this.txtNroCUIT.Text;

                string tipoCliConsul = this.txtTipoCliConsul.Text;
                string filtro        = "";

                //original
                //DsClientesGuia ds = clientes.GetClientesCorpOrigenSet(codi, nombre, nombreCompleto, apellido, cuit);


                //nuevo
                DsClientesGuia ds = new DsClientesGuia();

                int totalPrueba = 0;

                if (tipoCliConsul.Length > 0)
                {
                    if (tipoCliConsul == "0")                    //Cliente eventual
                    {
                        ds = clientes.GetClientesEvenOrigenSet(codi, nombre, nombreCompleto, apellido, cuit, dtgClientes.CurrentPageIndex, out totalPrueba);

                        /*filtro = "Codigo LIKE '" + codi + "%'AND Nombre LIKE '" + nombre + "%' AND Apellido LIKE'%"+ apellido +
                         *      "%' AND TipoCliente = 0 AND NroCuit like '" + cuit + "'";*/

                        dtgClientes.DataSource = ds.Datos.Select("");
                    }
                    else                     //Cliente corporativo
                    {
                        // 29/09/2014. Si viene de emision de conceptos no tiene que verificar convenios, sino traer todos los clientes
                        if (txtEsConceptoFacturacion.Text == "1")
                        {
                            ds = clientes.GetClientesCorpALLDataSet(codi, nombre, nombreCompleto, apellido, cuit, dtgClientes.CurrentPageIndex, out totalPrueba);
                        }
                        // 29/09/2014. Esta consulta estaba, si viene de la emision de guia, verifica los convenios
                        else
                        {
                            ds = clientes.GetClientesCorpOrigenSet(codi, nombre, nombreCompleto, apellido, cuit, dtgClientes.CurrentPageIndex, out totalPrueba, Utiles.Validaciones.obtieneEntero(agenciaID), localidadID, departamentoID, provinciaID, paisID, codigoPostalID);
                        }

                        /*
                         * filtro = "Codigo LIKE '" + codi + "%'AND NombreCompleto LIKE'"+ nombreCompleto +
                         *      "%' AND TipoCliente = 1 AND NroCuit like '" + cuit + "%' AND ((TipoOrigenDestinoID=" + (int)NegociosSisPackInterface.SisPack.TipoOrigenDestino.Agencia + " AND OrigenID=" + agenciaID +") OR (TipoOrigenDestinoID=" +(int)NegociosSisPackInterface.SisPack.TipoOrigenDestino.Localidad +" AND OrigenID="+ localidadID +
                         *      ")OR ( TipoOrigenDestinoID = "+ (int)NegociosSisPackInterface.SisPack.TipoOrigenDestino.Departamento + " AND OrigenID=" + departamentoID +
                         *      ")OR (TipoOrigenDestinoID = " + (int)NegociosSisPackInterface.SisPack.TipoOrigenDestino.Provincia + " AND OrigenID=" + provinciaID +
                         *      ") OR (TipoOrigenDestinoID = " + (int)NegociosSisPackInterface.SisPack.TipoOrigenDestino.Pais + " AND OrigenID=" + paisID + ") OR (TipoOrigenDestinoID = 0 AND OrigenID = 0))";
                         */

                        Utiles.DataSetHelper.RemoveEqualRows(ds.Datos, "ClienteID", "");

                        dtgClientes.DataSource = ds.Datos.Select("");                         //filtro
                    }
                }
                else                 //VER QUE HACE ESTO!! -tavo-
                {
                    filtro = "Codigo LIKE '" + codi + "%'AND NombreCompleto LIKE'%" + nombreCompleto +
                             "%' AND TipoCliente = 1 AND NroCuit like '" + cuit + "' ((TipoOrigenDestinoID=" + (int)NegociosSisPackInterface.SisPack.TipoOrigenDestino.Agencia + " AND OrigenID=" + agenciaID + ") OR (TipoOrigenDestinoID=" + (int)NegociosSisPackInterface.SisPack.TipoOrigenDestino.AgrupacionLocalidad + " AND OrigenID=" + agrupacionLocalidadOrigenID +
                             ")    OR (TipoOrigenDestinoID=" + (int)NegociosSisPackInterface.SisPack.TipoOrigenDestino.Localidad + " AND OrigenID=" + localidadID +
                             ")OR ( TipoOrigenDestinoID = " + (int)NegociosSisPackInterface.SisPack.TipoOrigenDestino.Departamento + " AND OrigenID=" + departamentoID +
                             ")OR (TipoOrigenDestinoID = " + (int)NegociosSisPackInterface.SisPack.TipoOrigenDestino.Provincia + " AND OrigenID=" + provinciaID +
                             ") OR (TipoOrigenDestinoID = " + (int)NegociosSisPackInterface.SisPack.TipoOrigenDestino.Pais + " AND OrigenID=" + paisID + ") OR (TipoOrigenDestinoID = 0 AND OrigenID = 0))";

                    Utiles.DataSetHelper.RemoveEqualRows(ds.Datos, "ClienteID", filtro);
                    dtgClientes.DataSource = ds.Datos.Select(filtro);
                }

                /*DsClientesGuia.DatosRow[] drLista = (DsClientesGuia.DatosRow[])ds.Datos.Select ("Codigo LIKE '" + codi + "%' AND Nombre LIKE '%" + nombre + "%' AND Apellido LIKE'%"+ apellido +
                 *      "%' AND ((TipoOrigenDestinoID="+ (int)NegociosSisPackInterface.SisPack.TipoOrigenDestino.Agencia + " AND OrigenID=" + agenciaID + ") OR (TipoOrigenDestinoID=" + (int)NegociosSisPackInterface.SisPack.TipoOrigenDestino.Localidad + " AND OrigenID=" + localidadID +
                 *      ") OR ( TipoOrigenDestinoID=" + (int)NegociosSisPackInterface.SisPack.TipoOrigenDestino.Departamento + " AND OrigenID=" + departamentoID + ") OR (TipoOrigenDestinoID=" + (int)NegociosSisPackInterface.SisPack.TipoOrigenDestino.Provincia + " AND OrigenID=" + provinciaID +
                 *      " )OR (TipoOrigenDestinoID=" + (int)NegociosSisPackInterface.SisPack.TipoOrigenDestino.Pais + " AND OrigenID=" + paisID +" )OR(TipoCliente=False))","NombreCompleto");
                 */
                //Utiles.DataSetHelper.DeleteCollectionEqualRows(drLista,"ClienteID");

                /*	string filtro  = "Codigo LIKE '" + codi + "%'AND Nombre LIKE '%" + nombre + "%' AND Apellido LIKE'%"+ apellido +
                 *              "%' AND (TipoCliente = 0 OR (TipoCliente = 1 AND ((TipoOrigenDestinoID=" + (int)NegociosSisPackInterface.SisPack.TipoOrigenDestino.Agencia + " AND OrigenID=" + agenciaID +") OR (TipoOrigenDestinoID=" +(int)NegociosSisPackInterface.SisPack.TipoOrigenDestino.Localidad +" AND OrigenID="+ localidadID +
                 *              ")OR ( TipoOrigenDestinoID = "+ (int)NegociosSisPackInterface.SisPack.TipoOrigenDestino.Departamento + " AND OrigenID=" + departamentoID +
                 *              ")OR (TipoOrigenDestinoID = " + (int)NegociosSisPackInterface.SisPack.TipoOrigenDestino.Provincia + " AND OrigenID=" + provinciaID +
                 *              ") OR (TipoOrigenDestinoID = " + (int)NegociosSisPackInterface.SisPack.TipoOrigenDestino.Pais + " AND OrigenID=" + paisID + ") OR (TipoOrigenDestinoID = 0 AND OrigenID = 0))))";
                 */


                //dtgClientes.DataSource = ds.Datos.Select(filtro);
                //dtgClientes.DataSource = ds.Datos.Select(filtro);
                //dtgClientes.DataSource = ds.Datos.Select("");
                dtgClientes.AllowCustomPaging = true;
                dtgClientes.VirtualItemCount  = totalPrueba;
                dtgClientes.DataBind();
            }
            catch (Exception ex)
            {
                throw ex;
                //this.txtErrorMsg.Text = "Error al consultar datos de clientes: " + ex.Message;
            }
        }
        private void BindGrid()
        {
            SisPackController.AdministrarGrillas.Configurar(this.dtgClientes, "ClienteID", this.CantidadOpciones);
            try
            {
                IAdministrarClientes clientes = AdministrarClientesFactory.GetAdministrarClientes();

                //DsClientesGuia ds = clientes.GetClientesDataSet();
                DsClientesGuia ds = new DsClientesGuia();

                string codi           = this.txtCodigo.Text;
                string nombre         = this.txtNombre.Text;
                string nombreCompleto = this.txtNombreCompleto.Text;
                string apellido       = this.txtApellido.Text;
                string cuit           = this.txtNroCUIT.Text;

                string tipoCliConsul = this.txtTipoCliConsul.Text;
                int    totalPrueba   = 0;

                //DsClientesGuia.DatosRow[] drLista = (DsClientesGuia.DatosRow[])ds.Datos.Select("Codigo LIKE '" + codi + "%' AND Nombre LIKE '%" + nombre + "%' AND Apellido LIKE'%"+ apellido +"%'","NombreCompleto");

                DsClientesGuia.DatosRow[] drLista;
                if (tipoCliConsul.Length > 0)
                {
                    if (tipoCliConsul == "0")
                    {
                        ds      = clientes.GetClientesEvenAllDataSet(codi, nombre, nombreCompleto, apellido, cuit, dtgClientes.CurrentPageIndex, out totalPrueba);
                        drLista = (DsClientesGuia.DatosRow[])ds.Datos.Select("");
                        //drLista = (DsClientesGuia.DatosRow[])ds.Datos.Select("Codigo LIKE '" + codi + "%'AND Nombre LIKE '" + nombre + "%' AND Apellido LIKE'%"+ apellido +	"%' AND TipoCliente = 0 AND NroCuit like '" + cuit + "%'" ,"NombreCompleto");
                    }
                    else
                    {
                        ds = clientes.GetClientesCorpALLDataSet(codi, nombre, nombreCompleto, apellido, cuit, dtgClientes.CurrentPageIndex, out totalPrueba);

/*						filtro = "Codigo LIKE '" + codi + "%'AND NombreCompleto LIKE'"+ nombreCompleto +
 *                                                      "%' AND TipoCliente = 1 AND NroCuit like '" + cuit + "%'";
 *
 *                                              Utiles.DataSetHelper.RemoveEqualRows(ds.Datos,"ClienteID", filtro);*/

                        drLista = (DsClientesGuia.DatosRow[])ds.Datos.Select("");

                        //drLista = (DsClientesGuia.DatosRow[])ds.Datos.Select("Codigo LIKE '" + codi + "%'AND NombreCompleto LIKE '" + nombreCompleto + "%' AND TipoCliente = 1 AND NroCuit like '" + cuit + "%'" ,"NombreCompleto");
                    }
                    //DsClientesGuia.DatosRow[] drLista = (DsClientesGuia.DatosRow[])ds.Datos.Select("Codigo LIKE '" + codi + "%' AND NombreCompleto LIKE '" + nombreCompleto + "%' AND TipoCliente = "+ tipoCliConsul ,"NombreCompleto");
                }
                else
                {
                    ds      = clientes.GetClientesEvenOrigenSet(codi, nombre, nombreCompleto, apellido, cuit, dtgClientes.CurrentPageIndex, out totalPrueba);
                    drLista = (DsClientesGuia.DatosRow[])ds.Datos.Select("");
                    //drLista = (DsClientesGuia.DatosRow[])ds.Datos.Select("Codigo LIKE '" + codi + "%' AND NombreCompleto LIKE '" + nombreCompleto + "%' AND NroCuit like '" + cuit + "%'","NombreCompleto");
                }

                dtgClientes.DataSource        = drLista;
                dtgClientes.AllowCustomPaging = true;
                dtgClientes.VirtualItemCount  = totalPrueba;
                dtgClientes.DataBind();

                /*
                 * ICliente oCliente = ClienteFactory.GetCliente();
                 * oCliente.RazonSocial = this.txtRazonSocial.Text;
                 * oCliente.Codigo = this.txtCodigo.Text;
                 * DsClientes ds = oCliente.GetClientesConsultaDataSet();
                 * DsClientes.DatosRow[] drLista = (DsClientes.DatosRow[])ds.Datos.Select("UnidadNegocioID=" + this.UnidadNegocioID);
                 * dtgClientes.DataSource = drLista;
                 * dtgClientes.DataBind();
                 */
                //DsClientes.DatosRow[] drLista = (DsClientes.DatosRow[])ds.Datos.Select("Codigo LIKE '" + codi + "%' AND RazonSocial LIKE '" + razon + "%'");
                //dtgClientes.DataSource = oCliente.GetClientesConsultaDataSet().Datos.Select("UnidadNegocioID=" + this.UnidadNegocioID);
            }
            catch (Exception ex)
            {
                throw ex;
                //this.txtErrorMsg.Text = "Error al consultar datos de clientes: " + ex.Message;
            }
        }