/// <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)); }
/// <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); }