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 string ExportarPDF(DsFacturaImpresion dsFac) { ReportDocument oRD = new ReportDocument(); ExportOptions oExO; DiskFileDestinationOptions oExDo = new DiskFileDestinationOptions(); IGuiaPasajeACtaCte oDatos = GuiaPasajeACtaCteFactory.GetGuiaPasajeACtaCte(); string nombrePDf = string.Empty; foreach (DsFacturaImpresion.DatosRow drFac in dsFac.Datos.Rows) { try { int GuiaID = Utiles.Validaciones.obtieneEntero(Session["GuiaID"].ToString()); nombrePDf = "NotaAutDebACtaCte_" + GuiaID + "_" + this.AgenciaConectadaID + ".pdf"; string sNombrePDF = Server.MapPath(".") + "/ReportesPDF/" + nombrePDf; if (System.IO.File.Exists(sNombrePDF)) { System.IO.File.Delete(sNombrePDF); } //Cargar plantilla oRD.Load(Server.MapPath("." + "/Reportes/NotaAutDebACtaCte.rpt")); DsGuiaFacturaImpresion ds = (DsGuiaFacturaImpresion)Session["DatosGuia"]; DsGuiaFacturaImpresion.DatosRow drComp = (DsGuiaFacturaImpresion.DatosRow)ds.Datos.Rows[0]; oRD.SetParameterValue("ClienteNombre", drFac.IsNombreEmpresaDestinatarioNull() ? (drFac.IsNombrePersonaDestinatarioNull() ? "" : drFac.NombrePersonaDestinatario) : drFac.NombreEmpresaDestinatario); oRD.SetParameterValue("ClienteCodigo", drFac.IsCodigoDestinatarioNull() ? "0" : drFac.CodigoDestinatario); oRD.SetParameterValue("NroGuia", drFac.NroSucursalGuia.ToString() + "-" + drFac.NroGuia.ToString()); oRD.SetParameterValue("ImporteGuia", drFac.IsImporteTotalNull() ? "0.00" : drFac.ImporteTotal.ToString()); /* VSA: Obtener los datos del pasaje para emitir la autorización. */ oDatos.GuiaID = GuiaID; oDatos.Consultar(); oRD.SetParameterValue("PersonaSolicitante", oDatos.PersonaSolicitante); oRD.SetParameterValue("Observaciones", oDatos.Observaciones.Equals("") ? "-" : oDatos.Observaciones); //Exportar a PDF oExDo.DiskFileName = sNombrePDF; oExO = oRD.ExportOptions; oExO.ExportDestinationType = ExportDestinationType.DiskFile; oExO.ExportFormatType = ExportFormatType.PortableDocFormat; oExO.DestinationOptions = oExDo; oRD.Export(); oRD.Close(); oRD.Dispose(); return(nombrePDf); } catch (Exception ex) { string mensaje = "Error al generar la nota para autorizar el débito a la cuenta corriente del cliente. " + ex.Message; ((SisPacK.ErrorWeb) this.phErrores.Controls[0]).setMensaje(mensaje); return(""); } finally { oRD.Close(); oRD.Dispose(); } } return(""); }