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 int cs_fxCantidadElementos(string id) { int elementos = 0; List <clsEntityVoidedDocuments_VoidedDocumentsLine> VoidedDocuments_VoidedDocumentsLine = new clsEntityVoidedDocuments_VoidedDocumentsLine(localDB).cs_fxObtenerTodoPorCabeceraId(id); elementos = VoidedDocuments_VoidedDocumentsLine.Count(); return(elementos); }
internal List <clsEntityVoidedDocuments_VoidedDocumentsLine> cs_fxObtenerTodoPorCabeceraId(string cs_pr_PK_VoidedDocuments_Id) { List <clsEntityVoidedDocuments_VoidedDocumentsLine> comprobante_detalle; try { comprobante_detalle = new List <clsEntityVoidedDocuments_VoidedDocumentsLine>(); OdbcDataReader datos = null; string sql = "SELECT * FROM " + cs_cmTabla + " WHERE cs_VoidedDocuments_Id =" + cs_pr_PK_VoidedDocuments_Id.ToString().Trim() + " ;"; //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(); clsEntityVoidedDocuments_VoidedDocumentsLine detalle; while (datos.Read()) { detalle = new clsEntityVoidedDocuments_VoidedDocumentsLine(localDB); detalle.Cs_pr_VoidedDocuments_VoidedDocumentsLine_Id = datos[0].ToString(); detalle.Cs_pr_VoidedDocuments_Id = datos[1].ToString(); detalle.Cs_tag_LineID = datos[2].ToString(); detalle.Cs_tag_DocumentTypeCode = datos[3].ToString(); detalle.Cs_tag_DocumentSerialID = datos[4].ToString(); detalle.Cs_tag_DocumentNumberID = datos[5].ToString(); detalle.Cs_tag_VoidReasonDescription = datos[6].ToString(); detalle.Cs_pr_IDDocumentoRelacionado = datos[7].ToString(); comprobante_detalle.Add(detalle); } cs_pxConexion_basedatos.Close(); return(comprobante_detalle); } catch (Exception ex) { clsBaseLog.cs_pxRegistarAdd("clsEntityVoidedDocuments_VoidedDocumentsLine cs_fxObtenerTodoPorCabeceraId" + 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); } }