Exemplo n.º 1
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());
            }
        }
Exemplo n.º 2
0
        private void btnRegistrar_Click(object sender, System.EventArgs e)
        {
            try
            {
                // Valido los datos
                bool esPasajeACtaCte = (this.txtEsPasajeACtaCte.Text.Equals("0") || this.txtEsPasajeACtaCte.Text.Equals("")) ? false : true;
                if (ValidarDatosRegistrar() == true)
                {
                    // Los datos son válidos
                    DsDatosGenerarFactura dsDatosGenFactura;
                    // Reviso si hay datos de facturas en memoria
                    if (Session[NombreClaveObjSession] != null)
                    {
                        dsDatosGenFactura = (DsDatosGenerarFactura)Session[NombreClaveObjSession];
                    }
                    else
                    {
                        dsDatosGenFactura = new DsDatosGenerarFactura();
                    }
                    // Reviso si la guía que se esta procesando ya ha sido guardada en el dataset
                    if (Validaciones.obtieneEntero(dsDatosGenFactura.Datos.Compute("count(guiaid)", "GuiaID = " + GuiaID.ToString()).ToString()) > 0)
                    {
                        // La guía ya ha sido guardada en el dataset. La elimino del dataset
                        dsDatosGenFactura.Datos.RemoveDatosRow(((DsDatosGenerarFactura.DatosRow[])dsDatosGenFactura.Datos.Select("GuiaID = " + GuiaID))[0]);
                    }

                    // Registro en el dataset los datos para facturar la guía
                    int tipoCliente = 0;
                    // Cargo los datos a registrar
                    //					if (DatosDestinatario.EsClienteCorporativo)
                    if (EsClienteCoorporativo)
                    {
                        tipoCliente = (int)NegociosSisPackInterface.SisPack.TipoCliente.Corporativo;
                    }
                    else
                    {
                        tipoCliente = (int)NegociosSisPackInterface.SisPack.TipoCliente.Eventual;
                    }

                    IDatosDomicilio domDest = (IDatosDomicilio)(DatosDestinatario.FindControl("Domicilio" + DatosDestinatario.ID));

                    dsDatosGenFactura.Datos.AddDatosRow(GuiaID, tipoCliente, DatosDestinatario.ClienteID, (int)DatosDestinatario.CondicionIVA,
                                                        (int)DatosDestinatario.TipoDoc, DatosDestinatario.ClienteNumero, DatosDestinatario.Nombre, DatosDestinatario.Apellido,
                                                        DatosDestinatario.NroCuit, domDest.DomicilioID, domDest.Calle, domDest.CalleNro, domDest.Depto, domDest.LocalidadID,
                                                        domDest.Telefono, domDest.Fax, "", 0, 0, esPasajeACtaCte);

                    // Guardo los datos del dataset en memoria
                    Session[NombreClaveObjSession] = dsDatosGenFactura;
                    // Cargo el script para cerrar la ventana, informando que los datos se registraron en memoria
                    StringBuilder script = new StringBuilder();
                    script.Append("<script type=\"text/javascript\">\n");
                    script.Append("DatosRegistrados();\n");
                    script.Append("</script>");
                    Page.RegisterStartupScript("DatosRegistrados", script.ToString());
                }
                else
                {
                    // Los datos no son válidos.
                    pnlDatos.Style.Clear();
                }
            }
            catch (Exception ex)
            {
                ManejaErrores(ex);
                pnlDatos.Style.Clear();
            }
        }