// ------------------------------------------------------------ // Cop\y document links from Document Set Document Link // ------------------------------------------------------------ public void ReplicateDocSetDocLinkToClient(int ClientUID, int ClientSetUID, int DocumentSetUID) { // 1... GetClientDocument // List documents for a Client Set Document // var clientDocumentList = new ClientDocument(); //clientDocumentList.List( ClientUID, ClientSetUID ); RepClientDocument.List(clientDocumentList, ClientUID, ClientSetUID); // 2... foreach( clientDocument ) // For each client document, retrieve the linked documents // foreach (var clientDocument in clientDocumentList.clientDocSetDocLink) { // 3...... GetDocumentChildren( currentClientDocument) // This part retrieves Document Links and not ClientDocument Links var children = DocumentSetDocumentLinkList.ListRelatedDocuments(DocumentSetUID, clientDocument.document.UID, type: "ALL"); // 4...... foreach (GetDocumentChildren) foreach (var child in children.documentSetDocumentLinkList) { // 5..... CreateClientDocumentLink(Client,ClientSet,DocumentParent,DocumentChild, Type) ClientDocumentLink newLink = new ClientDocumentLink(); newLink.FKClientDocumentSetUID = ClientSetUID; newLink.FKClientUID = ClientUID; newLink.FKParentDocumentUID = clientDocument.document.UID; newLink.FKChildDocumentUID = child.FKChildDocumentUID; newLink.LinkType = child.LinkType; newLink.Add(); } } }
public ClientDocument ListClientDocumentsByFolder(int clientUID, int clientDocumentSetUID) { ClientDocument listofdocuments = new ClientDocument(); listofdocuments.clientDocumentList = new List <ClientDocument>(); listofdocuments.clientDocSetDocLink = new List <scClientDocSetDocLink>(); listofdocuments.FKClientUID = clientUID; listofdocuments.clientDocumentSet.UID = clientDocumentSetUID; listofdocuments.FKClientDocumentSetUID = clientDocumentSetUID; // 1 - Get list of documents var clientDocumentListRequest = new BUSClientDocument.ClientDocumentListRequest(); clientDocumentListRequest.clientDocumentSetUID = clientDocumentSetUID; clientDocumentListRequest.clientUID = clientUID; var clientDocumentListResponse = BUSClientDocument.List(clientDocumentListRequest); // 2 - Move into a tree to order TreeView tvFileList = new TreeView(); tvFileList.Nodes.Clear(); ListInTree(tvFileList, "CLIENT", clientDocumentListResponse.clientList); if (tvFileList.Nodes.Count > 0) { tvFileList.Nodes[0].Expand(); } // 3 - Move to an ordered list foreach (TreeNode documentNode in tvFileList.Nodes) { var docnode = (scClientDocSetDocLink)documentNode.Tag; listofdocuments.clientDocSetDocLink.Add(docnode); // If there are inner nodes // if (documentNode.Nodes.Count > 0) { ListInOrder(documentNode, listofdocuments.clientDocSetDocLink); } } // 4 - Return list return(listofdocuments); }
// --------------------------------------------------------- // Copy document links to client document links // --------------------------------------------------------- public void ReplicateDocLinkToClientDeprecated(int ClientUID, int ClientSetUID) { // 1... GetClientDocument // List documents for a Client Set Document // var clientDocumentList = new ClientDocument(); // clientDocumentList.List(ClientUID, ClientSetUID); RepClientDocument.List(clientDocumentList, ClientUID, ClientSetUID); // 2... foreach( clientDocument ) // For each client document, retrieve the linked documents // foreach (var clientDocument in clientDocumentList.clientDocSetDocLink) { // 3...... GetDocumentChildren( currentClientDocument) // This part retrieves Document Links and not ClientDocument Links // that's why we need to get the equivalent ClientDocumentUID... var children = DocumentLinkList.ListRelatedDocuments(clientDocument.document.UID); // 4...... foreach (GetDocumentChildren) foreach (var child in children.documentLinkList) { // 5..... CreateClientDocumentLink(Client,ClientSet,DocumentParent,DocumentChild, Type) ClientDocumentLink newLink = new ClientDocumentLink(); // This is the client document UID newLink.FKParentDocumentUID = clientDocument.clientDocument.UID; // Get clientUID for child document ClientDocument childDocument = new ClientDocument(); //childDocument.FKDocumentUID = child.UID; childDocument.FKDocumentUID = child.documentTo.UID; // childDocument.Find(child.documentTo.UID, clientDocument.clientDocumentSet.UID, 'N', ClientUID); childDocument = RepClientDocument.Find(child.documentTo.UID, clientDocument.clientDocumentSet.UID, 'N', ClientUID); if (childDocument.UID > 0) { newLink.FKChildDocumentUID = childDocument.UID; newLink.LinkType = child.LinkType; // Replace by link type newLink.Add(); } } } //using (var connection = new MySqlConnection(ConnString.ConnectionString)) //{ // var commandString = string.Format( // " SELECT " + // " UID " + // " FROM ClientDocument " + // " WHERE " + // " FKClientUID = {0} " + // " AND FKClientDocumentSetUID = {1} ", // ClientUID, // ClientSetUID // ); // using (var command = new MySqlCommand( // commandString, connection)) // { // connection.Open(); // using (MySqlDataReader reader = command.ExecuteReader()) // { // while (reader.Read()) // { // int ClientDocumentUID; // ClientDocumentUID = Convert.ToInt32(reader["UID"].ToString()); // } // } // } //} }