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());
     }
 }
Example #2
0
        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);
            }
        }
Example #4
0
        //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);
            }
        }