private DocumentVM DocumentFromTS(DocumentVM documentVM) { // Create document in archive base from trading system Document newDocument = new Document() { name = documentVM.Document.name, number = documentVM.Document.number, description = "_", type = 21, author = "_", createdDate = documentVM.Document.createdDate, uploadDate = DateTime.Now, company = documentVM.Document.company.Replace("'", "") }; // Create link var CurrentNode = TemporaryDataService.GetCurrentNodeVM(); string url = CurrentNode == null ? "" : GetNewPath(CurrentNode); string path = string.IsNullOrEmpty(url) ? "" : FolderService.GetFolderPath(1, CurrentNode.Node.Name, url) + string.Format("{0} {1}.{2}", "Договор", newDocument.number.Replace("/", "_").Replace("\\", "_"), documentVM.Document.exchange.Substring(documentVM.Document.exchange.LastIndexOf(".") + 1)); int linkId = DocumentService.CreateDocumentLink(path, path.Substring(path.LastIndexOf(".") + 1)); if (linkId > 0) { newDocument.linkId = linkId; string query = string.Format("{0}={1},{2}", CurrentNode.Node.Level_id, CurrentNode.Node.Name, presentTreeVM.GetParentValues(CurrentNode.Parent)); // Create document in base int newDocId = DocumentService.CreateDocument(newDocument, 1, query); if (newDocId > 0) { // Set archive serial number if archive presentation DocumentService.UpdateDocumentWithASN(newDocId, 0); // Copy attached file to destination FileSystemService.CopyFile(documentVM.Document.exchange, path); var newDoc = DocumentService.ReadDocument(newDocId); if (newDoc == null) { return(null); } documentVM.Document = newDoc; return(documentVM); } } return(null); }
private void PutOnPath() { if (SelectedDocument != null) { if (SelectedDocument.Document.exchange.Contains("Archive")) { SelectedDocument = DocumentFromTS(SelectedDocument); } var curNodeVM = TemporaryDataService.GetCurrentNodeVM(); if (curNodeVM != null && curNodeVM.IsLastLevel) { // Get archive number path string query = string.Format("{0}={1},{2}", curNodeVM.Node.Level_id, curNodeVM.Node.Name, presentTreeVM.GetParentValues(curNodeVM.Parent)); // Update document with archive data path DocumentService.UpdateDocument(SelectedDocument.Document.id, (int)present, query); // Update document with serial number var curPresentTreeVM = TemporaryDataService.GetCurrentPresentTreeVM(); int serialNumber = 1; if (curPresentTreeVM.DetailsVM.Documents != null && curPresentTreeVM.DetailsVM.Documents.Count > 0) { serialNumber = curPresentTreeVM.DetailsVM.Documents.Max(d => (int)d.Document.serialNumber) + 1; } DocumentService.UpdateDocumentWithASN(SelectedDocument.Document.id, serialNumber); // Update details view with document curPresentTreeVM.DetailsVM.Documents.Add(new DocumentVM(DocumentService.ReadDocument(SelectedDocument.Document.id))); // Update current view by deleting element Documents.Remove(SelectedDocument); } else { MessagesService.Show("ПОЛОЖИТЬ В АРХИВ", "Не выбрана конечная ветка"); } } else { MessagesService.Show("ПОЛОЖИТЬ В АРХИВ", "Не выбран документ"); } }
private void PutDocument() { if (InfoDetailsVM != null && InfoDetailsVM.SelectedDocument != null) { var curNode = TemporaryDataService.GetCurrentNodeVM(); if (curNode != null) { if (curNode.IsLastLevel) { string query = string.Format("{0}={1},{2}", curNode.Node.Level_id, curNode.Node.Name, GetParentValues(curNode.Parent)); int documentSerialNumber = 1; if (DetailsVM.Documents != null && DetailsVM.Documents.Count > 0) { documentSerialNumber = DetailsVM.Documents.Max(d => (int)d.Document.serialNumber) + 1; } DocumentService.UpdateDocument(InfoDetailsVM.SelectedDocument.Document.id, (int)settings.presentation, query); DocumentService.UpdateDocumentWithASN(InfoDetailsVM.SelectedDocument.Document.id, documentSerialNumber); DetailsVM.Documents.Add(new DocumentVM(DocumentService.ReadDocument(InfoDetailsVM.SelectedDocument.Document.id))); InfoDetailsVM.Documents.Remove(InfoDetailsVM.SelectedDocument); } else { MessagesService.Show("ПЕРЕМЕЩЕНИЕ В АРХИВ", "Выбранная ветка не является томом"); } } else { MessagesService.Show("ПЕРЕМЕЩЕНИЕ В АРХИВ", "Не выбрана ветка в которую перемещать"); } } else { MessagesService.Show("ПЕРЕМЕЩЕНИЕ В АРХИВ", "Не выбрано документа для перемещения"); } }