コード例 #1
0
        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("ПОЛОЖИТЬ В АРХИВ", "Не выбран документ");
            }
        }
コード例 #2
0
        private void Save()
        {
            if (IsAttach && !string.IsNullOrEmpty(SearchCompanyTxt) && !string.IsNullOrEmpty(DocumentNumber))
            {
                Document newDocument = FillDocument();

                // Get path from tree nodes
                string url = CurrentNode == null ? "" : GetNewPath(CurrentNode);

                // Check folder exist
                string path = string.IsNullOrEmpty(url) ? "" : FolderService.GetFolderPath((int)CurrentPresentation, CurrentNode.Node.Name, url) + string.Format("{0} {1}.{2}", SelectedDocumentType.descriptionRU, newDocument.number.Replace("/", "_").Replace("\\", "_"), AttachedDocument.Substring(AttachedDocument.LastIndexOf(".") + 1));

                if (document != null && document.id != null && document.id > 0) // Update
                {
                    // Update link if need
                    if (AttachedDocument != DocumentService.ReadDocumentLink(document.id))
                    {
                        if (!string.IsNullOrEmpty(path))
                        {
                            DocumentService.UpdateDocumentLink(path, path.Substring(path.LastIndexOf(".") + 1), (int)document.linkId);

                            // Copy attached file to destination
                            if (FileSystemService.CopyFile(AttachedDocument, path))
                            {
                                MessagesService.Show("РЕДАКТИРОВАНИЕ", "Файл удачно занесен в архив");
                            }
                        }
                        else
                        {
                            MessagesService.Show("РЕДАКТИРОВАНИЕ", "Изменение прикрепленного файла не возможно, так как не выбрана ветка пути.\nБудут изменены лишь основные данные.");
                        }
                    }

                    // Update document
                    DocumentService.UpdateDocument(newDocument, document.id);

                    // Update serial number
                    if (CurrentPresentation == PresentationEnum.Archive)
                    {
                        DocumentService.UpdateDocumentWithASN(document.id, DocumentSerialNumber);
                    }

                    // Update view
                    presentTreeVM.DetailsVM.SelectedDocument.Document = DocumentService.ReadDocument(document.id);

                    // Close panel
                    Cancel();
                }
                else // Create
                {
                    // Create link
                    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, (int)CurrentPresentation, query);

                        if (newDocId > 0)
                        {
                            // Set archive serial number if archive presentation
                            if (CurrentPresentation == PresentationEnum.Archive)
                            {
                                DocumentService.UpdateDocumentWithASN(newDocId, DocumentSerialNumber);
                            }

                            // Copy attached file to destination
                            if (FileSystemService.CopyFile(AttachedDocument, path))
                            {
                                MessagesService.Show("СОХРАНЕНИЕ", "Файл удачно занесен в архив");

                                // Update view
                                presentTreeVM.DetailsVM.Documents.Add(new DocumentVM(DocumentService.ReadDocument(newDocId)));

                                // Close panel
                                Cancel();
                            }
                            else
                            {
                                MessagesService.Show("СОХРАНЕНИЕ", "Произошла ошибка во время занесения файла в архив");
                            }
                        }
                        else
                        {
                            MessagesService.Show("СОХРАНЕНИЕ", "Произошла ошибка во время сохранения документа в базе");
                        }
                    }
                    else
                    {
                        MessagesService.Show("СОХРАНЕНИЕ", "Произошла ошибка во время сохранения пути");
                    }
                }
            }
            else
            {
                MessagesService.Show("СОХРАНЕНИЕ", "Нет прикрепленного документа или не все данные заполненны.");
            }
        }