Пример #1
0
        private void EditSessionMonitor(object sender, ElapsedEventArgs e)
        {
            if (EditProcess == null)
            {
                UIMessager.ShowMessage("Система не смогла идентифицировать процесс редактирования! Обратитесь к администратору!");
                return;
            }

            bool editSessionEnded = false;

            try
            {
                editSessionEnded = EditProcess == null ? true : EditProcess.HasExited;
            }
            catch
            {
                editSessionEnded = true;
            }


            if (editSessionEnded)
            {
                EditSessionMonitorTimer.Stop();
                OnEditSessionEnd(DocumentOnEdit, EditProcess.StartInfo.FileName);
            }
        }
Пример #2
0
        private void OnDeleteFolder(Folder selectedFolder)
        {
            if (selectedFolder == null)
            {
                return;
            }

            if ((SelectedFolder.ID == 2) ||
                (SelectedFolder.ID == 3) ||
                (SelectedFolder.ID == 4) ||
                (SelectedFolder.ID == 5) ||
                (SelectedFolder.ParentFolderID == 3) ||
                (SelectedFolder.ParentFolderID == 4) ||
                (SelectedFolder.ParentFolderID == 5))
            {
                UIMessager.ShowMessage("Операции с системными папками запрещены");
                return;
            }

            if (!UIMessager.DeleteConfirmationDialog())
            {
                return;
            }

            var response = DocumentManager.Delete(selectedFolder);

            UIMessager.ShowMessage(response.Message);

            if (response.IsDone)
            {
                RefreshView();
            }
        }
Пример #3
0
        private void OnAddLink()
        {
            Link link;

            if (SelectedDocument != null)
            {
                link = Link.GetLink(SelectedDocument);
            }
            else if (SelectedFolder != null)
            {
                link = Link.GetLink(SelectedFolder);
            }
            else
            {
                return;
            }

            if (PackageLinks.Where(l => l.ID == link.ID).Count() != 0)
            {
                UIMessager.ShowMessage("Ссылка на данный объект уже содержится в текущем наборе");
                return;
            }
            PackageLinks.Add(link);
            OnPropertyChanged("PackageLinks");
        }
Пример #4
0
        private void OnCopyDocumentToPrivateStorage()
        {
            var storagePath = Session.ActiveUser.PrivateStoragePath;

            if (!Directory.Exists(storagePath))
            {
                UIMessager.
                ShowMessage("Папка личного хранилища не выбрана! Выберите папку в меню ПРОГРАММА -> Моя учётная запись.");
                return;
            }

            if (SelectedDocument == null)
            {
                return;
            }

            if (DocumentManager.ExistsInPrivateStorage(SelectedDocument, storagePath))
            {
                if (!ReplaceConfirmationDialog(Link.GetLink(SelectedDocument)))
                {
                    return;
                }
            }
            var response = DocumentManager.CopyToPrivateStorage(SelectedDocument, storagePath);

            UIMessager.ShowMessage(response.Message);
        }
Пример #5
0
        private void OnPastePackage()
        {
            if (PackageLinks.Count == 0)
            {
                UIMessager.ShowMessage("Набор пуст");
                return;
            }

            if ((SelectedFolder.ID == 2) ||
                (SelectedFolder.ID == 3) ||
                (SelectedFolder.ID == 4) ||
                (SelectedFolder.ID == 5))
            {
                UIMessager.ShowMessage("Операции с системными папками запрещены");
                return;
            }


            if (SelectedFolder == null)
            {
                UIMessager.ShowMessage("Целевая папка не выбрана");
                return;
            }

            // pop paste dialog
            SatteliteWindow.ShowSatteliteWindow(new DB73.Views.PasteDialogView(),
                                                new PasteDialogViewModel(PackageLinks, this));
        }
Пример #6
0
        private void OnSaveFolderChanges()
        {
            if (SelectedFolder == null)
            {
                return;
            }

            if ((SelectedFolder.ID == 2) ||
                (SelectedFolder.ID == 3) ||
                (SelectedFolder.ID == 4) ||
                (SelectedFolder.ID == 5) ||
                (SelectedFolder.ParentFolderID == 3) ||
                (SelectedFolder.ParentFolderID == 4) ||
                (SelectedFolder.ParentFolderID == 5))
            {
                UIMessager.ShowMessage("Операции с системными папками запрещены");
                return;
            }

            if (SelectedFolder.IsValid)
            {
                if (SelectedFolder.Push())
                {
                    UIMessager.ShowMessage(new LogicResponse(true, "data_saved").Message);
                    RefreshView();
                }
                else
                {
                    UIMessager.ShowMessage(new LogicResponse(false).Message);
                }
            }
        }
Пример #7
0
 // Start is called before the first frame update
 void Awake()
 {
     positionTxt      = GameObject.Find("LocationTxt").GetComponent <Text>();
     uiMessager       = GetComponent <UIMessager>();
     positionTxt.text = "A1";
     animator         = GetComponent <Animator>();
 }
Пример #8
0
        private void OnRequestPackageCopy()
        {
            if (PackageLinks.Count == 0)
            {
                UIMessager.ShowMessage("Набор пуст!");
                return;
            }

            LogicResponse response = new LogicResponse(false);

            foreach (var link in PackageLinks)
            {
                var storagePath = Session.ActiveUser.PrivateStoragePath;

                if (!Directory.Exists(storagePath))
                {
                    UIMessager.
                    ShowMessage("Папка личного хранилища не выбрана! Выберите папку в меню ПРОГРАММА -> Моя учётная запись.");
                    return;
                }

                dynamic obj;

                if (link.LinkedType == "Folder")
                {
                    obj = link.GetObject() as Folder;
                }
                else if (link.LinkedType == "Document")
                {
                    obj = link.GetObject() as Document;
                }
                else
                {
                    return;
                }

                if (DocumentManager.ExistsInPrivateStorage(obj, storagePath))
                {
                    if (!ReplaceConfirmationDialog(Link.GetLink(obj)))
                    {
                        return;
                    }
                }
                response = DocumentManager.CopyToPrivateStorage(obj, storagePath);

                if (!response.IsDone)
                {
                    UIMessager.ShowMessage(response.Message);
                }
            }

            if (response.IsDone)
            {
                UIMessager.ShowMessage("Копирование успешно завершено");
            }
        }
Пример #9
0
        // on request close override
        public override void OnRequestClose()
        {
            if (EditProcess != null)
            {
                UIMessager.ShowMessage("Обнаружена активная сессия редактирования! \nЗакройте редактируемый файл!", "Документы и папки");
                return;
            }

            base.OnRequestClose();
        }
Пример #10
0
 private void Awake()
 {
     if (instance == null)
     {
         instance = this;
     }
     else
     {
         Destroy(gameObject);
     }
 }
Пример #11
0
        private void OnCloseTicket(object parameter)
        {
            var response = BugTicketsLogic.CloseTicket(Ticket);

            UIMessager.ShowMessage(response.Message);

            if (response.IsDone)
            {
                this.OnRequestClose();
            }
        }
Пример #12
0
        private void OnMove()
        {
            var response = new LogicResponse(false);

            foreach (var link in Links)
            {
                if (link.LinkedType == "Folder")
                {
                    if (link.LinkedID == TargetFolder.ID)
                    {
                        UIMessager.ShowMessage("Перемещаемая папка совпадает с целевой папкой. Объект будет пропущен!");
                    }
                    else
                    {
                        response = DocumentManager.Move(link.GetObject() as Folder, TargetFolder);

                        if (!response.IsDone)
                        {
                            UIMessager.ShowMessage(response.Message);
                            return;
                        }
                    }
                }

                if (link.LinkedType == "Document")
                {
                    var obj = link.GetObject() as Document;

                    if (obj.ParentFolderID == TargetFolder.ID)
                    {
                        UIMessager.ShowMessage("Перемещаемый документ уже находится в целевой папке. Объект будет пропущен!");
                    }
                    else
                    {
                        response = DocumentManager.Move(obj, TargetFolder);

                        if (!response.IsDone)
                        {
                            UIMessager.ShowMessage(response.Message);
                            return;
                        }
                    }
                }
            }

            UIMessager.ShowMessage(response.Message);

            if (response.IsDone)
            {
                OnRequestClose();
            }
        }
Пример #13
0
        private void OnRemoveLink()
        {
            if (SelectedLink != null)
            {
                if (Links.Count == 1)
                {
                    UIMessager.ShowMessage("Набор не может быть пустым!");
                    return;
                }

                Links.Remove(SelectedLink);
                OnPropertyChanged("PackageLinks");
            }
        }
Пример #14
0
        private void OnOpenReadOnly()
        {
            if (SelectedDocument == null)
            {
                return;
            }

            var response = DocumentManager.OpenReadOnly(SelectedDocument);

            if (!response.IsDone)
            {
                UIMessager.ShowMessage(response.Message);
            }
        }
Пример #15
0
        private void OnSendPackage()
        {
            if (PackageLinks.Count == 0)
            {
                UIMessager.ShowMessage("Набор пуст");
                return;
            }

            var window = new DB73.Views.NewMessageView();
            var vm     = new NewMessageViewModel(window, PackageLinks);

            window.DataContext = vm;
            MainWindowViewModel.OpenedWindows.Add(window);
            window.Show();
        }
Пример #16
0
        private void OnDeleteTicket(object parameter)
        {
            if (!UIMessager.DeleteConfirmationDialog())
            {
                return;
            }

            var response = BugTicketsLogic.DeleteTicket(Ticket);

            UIMessager.ShowMessage(response.Message);

            if (response.IsDone)
            {
                this.OnRequestClose();
            }
        }
Пример #17
0
        private void OnSendMessage()
        {
            if (MessageLinks == null)
            {
                MessageLinks = new ObservableCollection <Link>();
            }

            NewMessage.UserList = MessageUserList.ToList();
            NewMessage.LinkList = MessageLinks.ToList();

            var response = MessagesLogic.SendMessage(NewMessage);

            UIMessager.ShowMessage(response.Message);

            if (response.IsDone)
            {
                this.OnRequestClose();
            }
        }
Пример #18
0
        private void OnAddUser(object parameter)
        {
            NewUser.Username = NewUser.Username.Trim();

            if (User.List.FindAll(u => u.Username.ToLower() == NewUser.Username.ToLower()).Count != 0)
            {
                UIMessager.ShowMessage("Пользователь с тамим именем уже существует в системе. Выберите другое имя пользователя");
                return;
            }

            var response = AdminTools.AddUser(NewUser);

            UIMessager.ShowMessage(response.Message);

            if (response.IsDone)
            {
                this.OnRequestClose();
            }
        }
Пример #19
0
        private void OnAddLink()
        {
            if (SelectedLink == null)
            {
                return;
            }
            if (MessageLinks == null)
            {
                MessageLinks = new ObservableCollection <Link>();
            }

            if (MessageLinks.Where(l => l.ID == SelectedLink.ID).Count() != 0)
            {
                UIMessager.ShowMessage("Ссылка на данный объект уже прикреплена к сообщению");
                return;
            }

            MessageLinks.Add(SelectedLink);
            OnPropertyChanged("MessageLinks");
        }
Пример #20
0
        private void OnAddUser()
        {
            if (SelectedUser == null)
            {
                return;
            }
            if (MessageUserList == null)
            {
                MessageUserList = new ObservableCollection <User>();
            }

            if (MessageUserList.Where(l => l.ID == SelectedUser.ID).Count() != 0)
            {
                UIMessager.ShowMessage("Данный пользователь уже находится в списке адресатов");
                return;
            }

            MessageUserList.Add(SelectedUser);
            OnPropertyChanged("MessageUserList");
        }
Пример #21
0
        private void OnReplaceFile()
        {
            if (SelectedDocument != null)
            {
                string chosenPath = DB73.ViewModels.
                                    ImportDocumentViewModel.HandleOpenFileDialogSingleSelect();

                if (chosenPath == null)
                {
                    return;
                }

                var response = DocumentManager.ReplaceFile(chosenPath, SelectedDocument);
                UIMessager.ShowMessage(response.Message);
            }
            else
            {
                return;
            }
        }
Пример #22
0
        private void OnSaveDocumentChanges()
        {
            if (SelectedDocument == null)
            {
                return;
            }

            if (SelectedDocument.IsValid)
            {
                if (SelectedDocument.Push())
                {
                    UIMessager.ShowMessage(new LogicResponse(true, "data_saved").Message);
                    RefreshView();
                }
                else
                {
                    UIMessager.ShowMessage(new LogicResponse(false).Message);
                }
            }
        }
Пример #23
0
        private void OnEditSessionEnd(Document document, string editedFilePath)
        {
            if (document == null)
            {
                return;
            }
            var response = DocumentManager.EndEditSession(document, editedFilePath);

            if (!response.IsDone)
            {
                UIMessager.ShowMessage(response.Message);
            }

            if (response.IsDone)
            {
                EditProcess             = null;
                EditSessionMonitorTimer = null;
                DocumentOnEdit          = null;
            }
        }
Пример #24
0
 private void OnShowImportDocument()
 {
     if (SelectedFolder != null)
     {
         if ((SelectedFolder.ID == 2) ||
             (SelectedFolder.ID == 3) ||
             (SelectedFolder.ID == 4) ||
             (SelectedFolder.ID == 5))
         {
             UIMessager.ShowMessage("Операции с системными папками запрещены");
             return;
         }
         else
         {
             SatteliteWindow.
             ShowSatteliteWindow(new DB73.Views.ImportDocumentView(),
                                 new ImportDocumentViewModel(SelectedFolder, this));
         }
     }
 }
Пример #25
0
        private void OnImportTreeToFolder()
        {
            if (SelectedFolder == null)
            {
                UIMessager.ShowMessage("Выберите папку в которую будет импортировано дерево!");
                return;
            }

            if ((SelectedFolder.ID == 2) ||
                (SelectedFolder.ID == 3) ||
                (SelectedFolder.ID == 4) ||
                (SelectedFolder.ID == 5))
            {
                UIMessager.ShowMessage("Операции с системными папками запрещены");
                return;
            }

            SatteliteWindow.ShowSatteliteWindow(new DB73.Views.TreeImportView(),
                                                new TreeImportViewModel(SelectedFolder, this));
        }
Пример #26
0
 private void OnShowAddSubFolder()
 {
     if (SelectedFolder != null)
     {
         if ((SelectedFolder.ID == 2) ||
             (SelectedFolder.ID == 3) ||
             (SelectedFolder.ID == 4) ||
             (SelectedFolder.ID == 5) ||
             (SelectedFolder.ID == 6))
         {
             UIMessager.ShowMessage("Операции с системными папками запрещены");
             return;
         }
         else
         {
             SatteliteWindow.
             ShowSatteliteWindow(new DB73.Views.NewFolderView(),
                                 new NewFolderViewModel(this, SelectedFolder));
         }
     }
 }
Пример #27
0
        private void OnDeleteDocument()
        {
            if (SelectedDocument == null)
            {
                return;
            }

            if (!UIMessager.DeleteConfirmationDialog())
            {
                return;
            }

            var response = DocumentManager.Delete(SelectedDocument);

            UIMessager.ShowMessage(response.Message);

            if (response.IsDone)
            {
                RefreshView();
            }
        }
Пример #28
0
        private void OnOpenForEdit()
        {
            if (SelectedDocument == null)
            {
                return;
            }

            if (EditProcess != null)
            {
                if (SelectedDocument.Name == DocumentOnEdit.Name)
                {
                    UIMessager.ShowMessage("Вы уже редактируете этот документ!");
                    return;
                }

                UIMessager.ShowMessage("Обнаружена активная сессия редактирования! \nЕдиновременное редактирование нескольких документов запрещено!");
                return;
            }

            var response = DocumentManager.OpenForEdit(SelectedDocument);

            if (response.IsDone)
            {
                DocumentOnEdit = SelectedDocument;
                EditProcess    = response.Output;

                //initilize data refreshing
                EditSessionMonitorTimer          = new Timer();
                EditSessionMonitorTimer.Elapsed += new ElapsedEventHandler(EditSessionMonitor);
                EditSessionMonitorTimer.Interval = 1000;
                EditSessionMonitorTimer.Start();
            }
            else
            {
                UIMessager.ShowMessage(response.Message);
            }
        }
Пример #29
0
        private void OnCopy()
        {
            var response = new LogicResponse(false);

            foreach (var link in Links)
            {
                if (link.LinkedType == "Folder")
                {
                    response = DocumentManager.Copy(link.GetObject() as Folder, TargetFolder);

                    if (!response.IsDone)
                    {
                        UIMessager.ShowMessage(response.Message);
                        return;
                    }
                }

                if (link.LinkedType == "Document")
                {
                    response = DocumentManager.Copy(link.GetObject() as Document, TargetFolder);

                    if (!response.IsDone)
                    {
                        UIMessager.ShowMessage(response.Message);
                        return;
                    }
                }
            }

            UIMessager.ShowMessage(response.Message);

            if (response.IsDone)
            {
                OnRequestClose();
            }
        }
Пример #30
0
        public static void UnderDevMessage()
        {
            string underdev = "Функционал в разработке! Спасибо за понимание!";

            UIMessager.ShowMessage(underdev);
        }