Exemple #1
0
        /*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);
        }