Beispiel #1
0
        /// <summary> Moves the document from file cabinet to document tray. </summary>
        /// <remarks>
        /// This implementation does not preserve index values when moving the document.
        ///
        /// The instance of the document that you have used when calling this method doesn't contain valid data anymore.
        /// Use the document that is returned as part of DocumentQueryResult in order to get valid data.
        /// </remarks>
        /// <param name="document"> Document to be moved. </param>
        /// <param name="fileCabinet"> File cabinet where document is currently located. </param>
        /// <param name="documentTray"> Document tray document has to be moved into. </param>
        /// <returns>
        /// DocumentQueryResult that allows you access to the document you have just moved.
        /// </returns>
        public DocumentsQueryResult MoveDocumentFromFileCabinetToBasketAndDropIndexValues(Document document, FileCabinet fileCabinet, FileCabinet documentTray)
        {
            var sourceDocument = new Document
            {
                Id = document.Id,
                // Needed in order to preserve document name.
                // (other index values will get lost)
                Fields = new List <DocumentIndexField> {
                    DocumentIndexField.Create("DWWBDOCNAME", document.Title)
                }
            };

            var transferInfo = new DocumentsTransferInfo()
            {
                Documents = new List <Document>()
                {
                    sourceDocument
                },
                KeepSource          = false, // the document will be moved, NOT copied
                SourceFileCabinetId = fileCabinet.Id
            };

            // All index values that were set in file cabinet will get lost here!
            return(documentTray.PostToTransferRelationForDocumentsQueryResult(transferInfo));
        }
Beispiel #2
0
        /// <summary> Stores a document into file cabinet using index values provided. </summary>
        /// <remarks>
        /// The instance of the document that you have used when calling this method doesn't contain valid data anymore.
        /// Use the document that is returned as part of DocumentQueryResult in order to get valid data.
        /// </remarks>
        /// <param name="document"> Id of the document to be stored. </param>
        /// <param name="documentTray"> Document tray (basket) document is currently stored in. </param>
        /// <param name="fileCabinet"> File cabinet to store document into. </param>
        /// <param name="indexValues"> Index values to apply to the document when storing. </param>
        /// <param name="keepDocumentInDocumentTray"> Specifies if document should remains in document tray after storing. </param>
        /// <returns>
        /// DocumentQueryResult that allows you access to the document you have just moved.
        /// </returns>
        public DocumentsQueryResult StoreDocumentFromBasketToFileCabinet(Document document, FileCabinet documentTray, FileCabinet fileCabinet, List <DocumentIndexField> indexValues, bool keepDocumentInDocumentTray = false)
        {
            var sourceDocument = new Document
            {
                Id     = document.Id,
                Fields = indexValues
            };

            var transferInfo = new DocumentsTransferInfo()
            {
                Documents = new List <Document>()
                {
                    sourceDocument
                },
                KeepSource          = keepDocumentInDocumentTray,
                SourceFileCabinetId = documentTray.Id
            };

            return(fileCabinet.PostToTransferRelationForDocumentsQueryResult(transferInfo));
        }
        private static void TransferFromFileCabinetToFileCabinetWithFields(Organization organization)
        {
            Console.WriteLine("TransferFromFileCabinetToFileCabinetWithFields");
            string destinationFileCabinetId = "00000000-0000-0000-0000-000000000000";
            string sourceFileCabinetId      = "00000000-0000-0000-0000-000000000000";
            int    sourceDocId = 6;

            FileCabinet destinationFileCabinet = organization.GetFileCabinetsFromFilecabinetsRelation().FileCabinet
                                                 .FirstOrDefault(fc => fc.Id == destinationFileCabinetId);

            if (destinationFileCabinet == null)
            {
                Console.WriteLine("FileCabinet is null!");
            }
            else
            {
                Platform.ServerClient.Document sourceDocument = new Platform.ServerClient.Document
                {
                    Id     = sourceDocId,
                    Fields = new List <DocumentIndexField>()
                    {
                        DocumentIndexField.Create("NAME", "TestName"),
                        DocumentIndexField.Create("COLOR", "White/Red")
                    }
                };

                DocumentsTransferInfo documentsTransferInfo = new DocumentsTransferInfo()
                {
                    Documents = new List <Platform.ServerClient.Document>()
                    {
                        sourceDocument
                    },
                    KeepSource          = true,
                    SourceFileCabinetId = sourceFileCabinetId
                };

                DocumentsQueryResult documentsQueryResult =
                    destinationFileCabinet.PostToTransferRelationForDocumentsQueryResult(documentsTransferInfo);
            }
        }
        /// <summary> Stores a document into file cabinet using index values provided. </summary>
        /// <remarks>
        /// The instance of the document that you have used when calling this method doesn't contain valid data anymore.
        /// Use the document that is returned as part of DocumentQueryResult in order to get valid data.
        /// </remarks>
        /// <param name="document"> Id of the document to be stored. </param>
        /// <param name="documentTray"> Document tray (basket) document is currently stored in. </param>
        /// <param name="fileCabinet"> File cabinet to store document into. </param>
        /// <param name="indexValues"> Index values to apply to the document when storing. </param>
        /// <param name="keepDocumentInDocumentTray"> Specifies if document should remains in document tray after storing. </param>
        /// <returns>
        /// DocumentQueryResult that allows you access to the document you have just moved.
        /// </returns>
        public DocumentsQueryResult StoreDocumentFromBasketToFileCabinet(Document document, FileCabinet documentTray, FileCabinet fileCabinet, List<DocumentIndexField> indexValues, bool keepDocumentInDocumentTray = false)
        {
            var sourceDocument = new Document
            {
                Id = document.Id,
                Fields = indexValues
            };

            var transferInfo = new DocumentsTransferInfo()
            {
                Documents = new List<Document>() { sourceDocument },
                KeepSource = keepDocumentInDocumentTray,
                SourceFileCabinetId = documentTray.Id
            };

            return fileCabinet.PostToTransferRelationForDocumentsQueryResult(transferInfo);
        }
        /// <summary> Moves the document from file cabinet to document tray. </summary>
        /// <remarks>
        /// This implementation does not preserve index values when moving the document.
        /// 
        /// The instance of the document that you have used when calling this method doesn't contain valid data anymore.
        /// Use the document that is returned as part of DocumentQueryResult in order to get valid data.
        /// </remarks>
        /// <param name="document"> Document to be moved. </param>
        /// <param name="fileCabinet"> File cabinet where document is currently located. </param>
        /// <param name="documentTray"> Document tray document has to be moved into. </param>
        /// <returns>
        /// DocumentQueryResult that allows you access to the document you have just moved.
        /// </returns>
        public DocumentsQueryResult MoveDocumentFromFileCabinetToBasketAndDropIndexValues(Document document, FileCabinet fileCabinet, FileCabinet documentTray)
        {
            var sourceDocument = new Document
            {
                Id = document.Id,
                // Needed in order to preserve document name.
                // (other index values will get lost)
                Fields = new List<DocumentIndexField> { DocumentIndexField.Create("DWWBDOCNAME", document.Title) }
            };

            var transferInfo = new DocumentsTransferInfo()
            {
                Documents = new List<Document>() { sourceDocument },
                KeepSource = false,    // the document will be moved, NOT copied
                SourceFileCabinetId = fileCabinet.Id
            };

            // All index values that were set in file cabinet will get lost here!
            return documentTray.PostToTransferRelationForDocumentsQueryResult(transferInfo);
        }