/*NUEVO FIN*/ //Cristhian|01/03/2018|FEI2-586 /*Se crea este metodo, para procesar la comunicacion de baja documento por documento * existe un metodo igual pero que solicita una lista de comprobantes, pero se usa * desde el mismo FEI, para el caso de la comunicación con el DBF se usara este ya que * el sistema Comercial puede dar de baja una factura a las vez*/ /*NUEVO INICIO*/ /// <summary> /// Metodo para procesar la comunicación de baja que proviene del sistema comercial. /// </summary> /// <param name="Id_Documento"></param> /// <returns>resultadoNoAgregados</returns> public string ProcesarComunicacionBaja(string SerieNumero, string Codigo_Comprobante, string Identificacion_Cliente) { /*Se declara la variable para obtener el resutado */ string resultadoNoAgregados = string.Empty; string Id_Comprobante = ""; cls_Consulta QuerySQL = new cls_Consulta(); /*Se instancia a cadena de conexion*/ OdbcConnection odbcConnection = new OdbcConnection(localDB.cs_prConexioncadenabasedatos()); try { /*Se abre la conexion con el servidor de datos*/ odbcConnection.Open(); /*Se obtinene el Id del Comprobante*/ OdbcCommand ExecuteQuery1 = new OdbcCommand(QuerySQL.Seleccionar_Comprobante_DBFComercial(SerieNumero, Codigo_Comprobante, Identificacion_Cliente), odbcConnection); Id_Comprobante = ExecuteQuery1.ExecuteScalar().ToString(); odbcConnection.Close(); if (Id_Comprobante != "") { //Enviar el id del comprobante electronico para procesar en la comunicación de baja resultadoNoAgregados = new clsNegocioCEComunicacionBaja(localDB).cs_pxProcesarComunicacionBaja(Id_Comprobante, "0"); } } catch (Exception ex) { /*Su surge un error se registra en el archivo LOG*/ clsBaseLog.cs_pxRegistarAdd("Factura de Baja: " + ex.ToString()); resultadoNoAgregados = string.Empty; } return(resultadoNoAgregados); }
/// <summary> /// Genera un Documento de baja. /// </summary> /// <param name="Id">Id del documento.</param> /// <returns>NombreTributo del archivo generado.</returns> public string cs_pxGenerarResumenRA(string Id) { string archivo_nombre_XML = string.Empty; string archivo_nombre_ZIP = string.Empty; string archivo_nombre_directorio = string.Empty; string fila = string.Empty; try { clsEntityVoidedDocuments cabecera = new clsEntityVoidedDocuments(localDB); cabecera.cs_fxObtenerUnoPorId(Id); fila = new clsNegocioCEComunicacionBaja(localDB).cs_pxGenerarXMLAString(Id); #region Genera los nombres de archivo archivo_nombre_XML = declarante.Cs_pr_Ruc + "-" + cabecera.Cs_tag_ID.Split('-')[0].Trim().ToString() + "-" + cabecera.Cs_tag_IssueDate.Replace("-", "") + "-" + cabecera.Cs_tag_ID.Split('-')[2].Trim().ToString() + ".xml"; archivo_nombre_ZIP = declarante.Cs_pr_Ruc + "-" + cabecera.Cs_tag_ID.Split('-')[0].Trim().ToString() + "-" + cabecera.Cs_tag_IssueDate.Replace("-", "") + "-" + cabecera.Cs_tag_ID.Split('-')[2].Trim().ToString() + ".zip"; archivo_nombre_directorio = declarante.Cs_pr_Ruc + "-" + cabecera.Cs_tag_ID.Split('-')[0].Trim().ToString() + "-" + cabecera.Cs_tag_IssueDate.Replace("-", "") + "-" + cabecera.Cs_tag_ID.Split('-')[2].Trim().ToString(); string comprobante_ruta = new clsBaseConfiguracion().cs_prRutadocumentosenvio + "/"; string comprobante_ruta_nombre = comprobante_ruta + archivo_nombre_directorio + "\\" + archivo_nombre_XML; if (File.Exists(comprobante_ruta_nombre)) { File.Delete(comprobante_ruta_nombre); } if (Directory.Exists(comprobante_ruta + archivo_nombre_directorio)) { var dir = new DirectoryInfo(comprobante_ruta + archivo_nombre_directorio); dir.Attributes = dir.Attributes & ~FileAttributes.ReadOnly; dir.Delete(true); } if (!Directory.Exists(comprobante_ruta + archivo_nombre_directorio)) { Directory.CreateDirectory(comprobante_ruta + archivo_nombre_directorio); } if (!File.Exists(comprobante_ruta_nombre)) { File.Create(comprobante_ruta_nombre).Close(); } // StreamWriter sw1 = new StreamWriter(comprobante_ruta_nombre); sw1.WriteLine(fila); sw1.Close(); fila = string.Empty; StreamWriter sw1 = new StreamWriter(File.Open(comprobante_ruta_nombre, FileMode.OpenOrCreate), Encoding.GetEncoding("ISO-8859-1")); sw1.WriteLine(fila); sw1.Close(); fila = string.Empty; DirectoryInfo x = new DirectoryInfo(comprobante_ruta + archivo_nombre_directorio); cs_prComprimirZIP(x); #endregion } catch (Exception ex) { clsBaseLog.cs_pxRegistarAdd("clsNegocioCE cs_pxGenerarResumenRA" + ex.ToString()); } return(archivo_nombre_ZIP); }