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 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(); } }