public void cs_fxDescartarDocumento(string Id_documentoprincipal, string Id_documentorelacionado, string tipoContiene) { try { List <string> registro = new clsEntityVoidedDocuments_VoidedDocumentsLine(localDB).cs_fxObtenerUnoPorDocumentoPrincipalYDocumentoRelacionado(Id_documentoprincipal, Id_documentorelacionado); if (tipoContiene == "0") { clsEntityDocument documentoprincipal = new clsEntityDocument(localDB).cs_fxObtenerUnoPorId(Id_documentoprincipal); documentoprincipal.Cs_pr_ComunicacionBaja = ""; documentoprincipal.cs_pxActualizar(false, false); } else if (tipoContiene == "1") { clsEntityRetention documentoprincipal = new clsEntityRetention(localDB).cs_fxObtenerUnoPorId(Id_documentoprincipal); documentoprincipal.Cs_pr_Reversion = ""; documentoprincipal.cs_pxActualizar(false, false); } clsEntityVoidedDocuments_VoidedDocumentsLine linea = new clsEntityVoidedDocuments_VoidedDocumentsLine(localDB).cs_fxObtenerUnoPorId(registro[0]); linea.cs_pxElimnar(false); } catch (Exception ex) { clsBaseMensaje.cs_pxMsg("Error comunicacion de baja", "Se ha producido un error al descartar los documentos."); clsBaseLog.cs_pxRegistarAdd("clsEntityVoidedDocuments_VoidedDocumentsLine cs_fxDescartarDocumento " + ex.ToString()); } }
public List <clsEntityRetention> cs_pxObtenerDocumentosPorComunicacionBaja_n(string id) { List <clsEntityRetention> lista_documentos; clsEntityRetention item; OdbcDataReader datos = null; try { //Buscar todos los documentos en esta comunicación de baja string sql = "SELECT * FROM cs_VoidedDocuments_VoidedDocumentsLine WHERE 1=1"; //string sql = "SELECT * FROM " + cs_cmTabla + " WHERE 1=1"; //sql += " AND cp3 ='" + clsBaseUtil.cs_fxComprobantesElectronicos_codigo(comprobantetipo) + "' "; sql += " AND cs_VoidedDocuments_Id =" + id + " "; //cn = new clsBaseConexion(); OdbcConnection cs_pxConexion_basedatos = new OdbcConnection(localDB.cs_prConexioncadenabasedatos()); cs_pxConexion_basedatos.Open(); datos = new OdbcCommand(sql, cs_pxConexion_basedatos).ExecuteReader(); List <string> fila2 = new List <string>(); lista_documentos = new List <clsEntityRetention>(); while (datos.Read())//Obtener los Id de los documentos relacionados { fila2.Add(datos[7].ToString()); } cs_pxConexion_basedatos.Close(); if (fila2.Count > 0)//Entonces buscar los documentos y agregarlos a la lista { foreach (var idDoc in fila2) { item = new clsEntityRetention(localDB).cs_fxObtenerUnoPorId(idDoc); lista_documentos.Add(item); } } return(lista_documentos); } catch (Exception ex) { clsBaseMensaje.cs_pxMsgEr("ERR6", ex.ToString()); return(null); } }
public bool cs_pxEliminarDocumento(string Id) { bool resultado = false; try { //Eliminar la cabecera y todos sus registros. clsEntityRetention Document = new clsEntityRetention(localDB).cs_fxObtenerUnoPorId(Id); clsEntityRetention_RetentionLine Document_Line = new clsEntityRetention_RetentionLine(localDB); foreach (var item in Document_Line.cs_fxObtenerTodoPorCabeceraId(Id)) { item.cs_pxElimnar(false); } Document.cs_pxElimnar(false); resultado = true; } catch (Exception ex) { clsBaseLog.cs_pxRegistarAdd(" clsEntityRetention cs_pxEliminarDocumento " + ex.ToString()); } return(resultado); }
public List <clsEntityRetention> cs_pxObtenerFiltroPrincipalReversion(string estadocomprobantesunat, string estadocomprobantescc, string fechainicio, string fechafin) { List <clsEntityRetention> lista_documentos; clsEntityRetention item; try { lista_documentos = new List <clsEntityRetention>(); OdbcDataReader datos = null; string sql = "SELECT * FROM " + cs_cmTabla + " WHERE 1=1"; if (estadocomprobantescc != "") { sql += " AND cp32 ='" + estadocomprobantescc + "' "; } if (estadocomprobantesunat != "") { sql += " AND cp33 ='" + estadocomprobantesunat + "' "; } if (fechainicio != "" && fechafin != "") { sql += " AND cp2 >= '" + fechainicio + "' AND cp2 <= '" + fechafin + "'"; } sql += "AND (cp37 = '' or cp37 is null)"; //cn = new clsBaseConexion(); OdbcConnection cs_pxConexion_basedatos = new OdbcConnection(localDB.cs_prConexioncadenabasedatos()); cs_pxConexion_basedatos.Open(); datos = new OdbcCommand(sql, cs_pxConexion_basedatos).ExecuteReader(); while (datos.Read()) { item = new clsEntityRetention(localDB); item.Cs_pr_Retention_id = datos[0].ToString(); item.Cs_tag_Id = datos[1].ToString(); item.Cs_tag_IssueDate = datos[2].ToString(); item.Cs_tag_PartyIdentification_Id = datos[3].ToString(); item.Cs_tag_PartyIdentificacion_SchemeId = datos[4].ToString(); item.Cs_tag_PartyName = datos[5].ToString(); item.Cs_tag_PostalAddress_Id = datos[6].ToString(); item.Cs_tag_PostalAddress_StreetName = datos[7].ToString(); item.Cs_tag_PostalAddress_CitySubdivisionName = datos[8].ToString(); item.Cs_tag_PostalAddress_CityName = datos[9].ToString(); item.Cs_tag_PostalAddress_CountrySubEntity = datos[10].ToString(); item.Cs_tag_PostalAddress_District = datos[11].ToString(); item.Cs_tag_PostalAddress_Country_IdentificationCode = datos[12].ToString(); item.Cs_tag_PartyLegalEntity_RegistrationName = datos[13].ToString(); item.Cs_tag_ReceiveParty_PartyIdentification_Id = datos[14].ToString(); item.Cs_tag_ReceiveParty_PartyIdentification_SchemeId = datos[15].ToString(); item.Cs_tag_ReceiveParty_PartyName_Name = datos[16].ToString(); item.Cs_tag_ReceiveParty_PostalAddress_Id = datos[17].ToString(); item.Cs_tag_ReceiveParty_PostalAddress_StreetName = datos[18].ToString(); item.Cs_tag_ReceiveParty_PostalAddress_CitySubdivisionName = datos[19].ToString(); item.Cs_tag_ReceiveParty_PostalAddress_CityName = datos[20].ToString(); item.Cs_tag_ReceiveParty_PostalAddress_CountrySubentity = datos[21].ToString(); item.Cs_tag_ReceiveParty_PostalAddress_District = datos[22].ToString(); item.Cs_tag_ReceiveParty_PostalAddress_Country_IdentificationCode = datos[23].ToString(); item.Cs_tag_ReceiveParty_PartyLegalEntity_RegistrationName = datos[24].ToString(); item.Cs_tag_SUNATRetentionSystemCode = datos[25].ToString(); item.Cs_tag_SUNATRetentionPercent = datos[26].ToString(); item.Cs_tag_Note = datos[27].ToString(); item.Cs_tag_TotalInvoiceAmount = datos[28].ToString(); item.Cs_tag_TotalInvoiceAmount_CurrencyId = datos[29].ToString(); item.Cs_tag_TotalPaid = datos[30].ToString(); item.Cs_tag_TotalPaid_CurrencyId = datos[31].ToString(); item.Cs_pr_EstadoSCC = datos[32].ToString(); item.Cs_pr_EstadoSUNAT = datos[33].ToString(); item.Cs_pr_ComentarioSUNAT = datos[34].ToString(); item.Cs_pr_XML = datos[35].ToString(); item.Cs_pr_CDR = datos[36].ToString(); item.Cs_pr_Reversion = datos[37].ToString(); item.Cs_pr_Reversion_Anterior = datos[38].ToString(); item.Cs_pr_FechaEnvio = datos[39].ToString(); item.Cs_pr_FechaRecepcion = datos[40].ToString(); lista_documentos.Add(item); } cs_pxConexion_basedatos.Close(); return(lista_documentos); } catch (Exception ex) { clsBaseLog.cs_pxRegistarAdd("Listar retention " + ex.ToString()); return(null); } }
//Cristhian|01/03/2018|FEI2-586 /*Metodo para actuazliar el docuemnto de comunicacion de baja*/ /*NUEVO INICIO*/ /// <summary> /// Actualizar el documento de comunicacción de baja a documento existente /// </summary> /// <param name="Id_Documento"></param> /// <param name="Id"></param> /// <returns></returns> public bool cs_pxComunicacionBajaActualizar(string Id_Documento, string Id, string TipoContiene) { /** * 1.Verificar si ya existe. * Si ya existe, no agregar. * No no agregar. */ string documento_id = string.Empty; try { //Buscar elementos existentes en la comunicación de baja actual. clsEntityVoidedDocuments documento = new clsEntityVoidedDocuments(localDB); OdbcDataReader datos = null; string sql = "SELECT * FROM cs_VoidedDocuments_VoidedDocumentsLine WHERE cs_VoidedDocuments_Id=" + Id + " ;";//Estado SCC //clsBaseConexion cn = new clsBaseConexion(); OdbcConnection cs_pxConexion_basedatos = new OdbcConnection(localDB.cs_prConexioncadenabasedatos()); cs_pxConexion_basedatos.Open(); datos = new OdbcCommand(sql, cs_pxConexion_basedatos).ExecuteReader(); //Mantener solo los que no sean duplicados. List <string> actualizar_estos_items = new List <string>(); bool agregar; Int32 items_total = 0; agregar = true; while (datos.Read()) { items_total++; string sada = datos[7].ToString() + "-" + Id_Documento; if (datos[7].ToString() == Id_Documento) { agregar = false; } } if (agregar == true) { actualizar_estos_items.Add(Id_Documento); } if (actualizar_estos_items.Count > 0) { foreach (var item in actualizar_estos_items) { items_total++; clsEntityVoidedDocuments_VoidedDocumentsLine detalle = new clsEntityVoidedDocuments_VoidedDocumentsLine(localDB); if (TipoContiene == "0") { clsEntityDocument documento_cabecera = new clsEntityDocument(localDB).cs_fxObtenerUnoPorId(item); //Jordy Amaro 09-12-16 FE-906 //cambio > por <= para que actualize los documentos a enviarse en comunicacion de baja. //Ini-Modifica if (documento_cabecera.Cs_pr_ComunicacionBaja.Length <= 0) {//Fin-Modifica detalle.Cs_pr_VoidedDocuments_VoidedDocumentsLine_Id = Guid.NewGuid().ToString(); detalle.Cs_pr_VoidedDocuments_Id = Id; detalle.Cs_tag_LineID = items_total.ToString(); detalle.Cs_tag_DocumentTypeCode = documento_cabecera.Cs_tag_InvoiceTypeCode; detalle.Cs_tag_DocumentSerialID = documento_cabecera.Cs_tag_ID.Split('-')[0].ToString(); detalle.Cs_tag_DocumentNumberID = documento_cabecera.Cs_tag_ID.Split('-')[1].ToString(); detalle.Cs_tag_VoidReasonDescription = ""; detalle.Cs_pr_IDDocumentoRelacionado = item; detalle.cs_pxInsertar(false, true); documento_cabecera.Cs_pr_ComunicacionBaja = Id; documento_cabecera.cs_pxActualizar(false, false); } } else if (TipoContiene == "1") { clsEntityRetention documento_cabecera = new clsEntityRetention(localDB).cs_fxObtenerUnoPorId(item); //Jordy Amaro 09-12-16 FE-906 //cambio > por <= para que actualize los documentos a enviarse en comunicacion de baja. //Ini-Modifica if (documento_cabecera.Cs_pr_Reversion.Length <= 0) {//Fin-Modifica detalle.Cs_pr_VoidedDocuments_VoidedDocumentsLine_Id = Guid.NewGuid().ToString(); detalle.Cs_pr_VoidedDocuments_Id = Id; detalle.Cs_tag_LineID = items_total.ToString(); detalle.Cs_tag_DocumentTypeCode = "20"; detalle.Cs_tag_DocumentSerialID = documento_cabecera.Cs_tag_Id.Split('-')[0].ToString(); detalle.Cs_tag_DocumentNumberID = documento_cabecera.Cs_tag_Id.Split('-')[1].ToString(); detalle.Cs_tag_VoidReasonDescription = ""; detalle.Cs_pr_IDDocumentoRelacionado = item; detalle.cs_pxInsertar(false, true); documento_cabecera.Cs_pr_Reversion = Id; documento_cabecera.cs_pxActualizar(false, false); } } } } cs_pxConexion_basedatos.Close(); return(true); } catch (Exception ex) { clsBaseMensaje.cs_pxMsgEr("ERR6", ex.ToString()); //System.Windows.Forms.MessageBox.Show(ex.ToString()); clsBaseLog.cs_pxRegistarAdd("clsEntityVoidedDocuments cs_pxComunicacionBajaActualizar" + ex.ToString()); return(false); } }