private void RenameWorkspace(string workspaceName)
        {
            // Создаем диалог, вызываем его и возвращаем результат
            InputBoxWindow newEntityWindow =
                new InputBoxWindow(
                    workspaceName,
                    this.Lang("RenameWorkspaceDialog.Title"),
                    this.Lang("RenameWorkspaceDialog.Label"),
                    this.Lang("RenameButtonCaption"),
                    this.Lang("CancelButtonCaption"),
                    (input) =>
                    {
                        // Проверяем, то что вводит юзер на валидность и что такой рабочей области еще не создано

                        if (input != workspaceName)
                        {
                            if (!Data.Workspace.IsValidName(input))
                                return this.Lang("Error.IllegalItemName");
                            if (Data.Workspace.Exists(input))
                                return this.Lang("Error.SuchItemAlreadyExists");
                        }

                        return null;
                    }
                );
            newEntityWindow.Owner = this;
            newEntityWindow.WindowStartupLocation = WindowStartupLocation.CenterOwner;
            if (newEntityWindow.ShowDialog().Value && workspaceName != newEntityWindow.Input)
            {
                Directory.Move(Data.Workspace.GetWorkspaceDirectory(workspaceName), Data.Workspace.GetWorkspaceDirectory(newEntityWindow.Input));
                UpdateWorkspacesList(newEntityWindow.Input);
                Global.CurrentWorkspace = Data.Workspace.OpenExisting(newEntityWindow.Input);
            }
        }
Пример #2
0
        public static string ShowDialog_CreateNewArticle(Window owner)
        {
            // Сначала нужно получить имя имя доступной новой статьи по умолчанию

            const string defaultFreeWorkspaceNameBase = "Article";
            int defaultFreeWorkspaceNameNumber = 1;

            string defaultFreeWorkspaceName;
            do
                defaultFreeWorkspaceName = $"{defaultFreeWorkspaceNameBase}{defaultFreeWorkspaceNameNumber++}";
            while (Global.CurrentWorkspace.ArticleNames.Contains(defaultFreeWorkspaceName));

            InputBoxWindow dialog = new InputBoxWindow(
                defaultFreeWorkspaceName,
                owner.Lang("NewArticleDialog.Title"),
                owner.Lang("NewArticleDialog.Label"),
                owner.Lang("CreateButtonCaption"),
                owner.Lang("CancelButtonCaption"),
                (input) =>
                {
                    if (input == string.Empty)
                        return owner.Lang("Error.Article.IllegalName");

                    if (Global.CurrentWorkspace.ArticleNames.Contains(input))
                        return owner.Lang("Error.Article.AlreadyExists");

                    return null;
                });

            dialog.Owner = owner;
            dialog.WindowStartupLocation = WindowStartupLocation.CenterOwner;

            return dialog.ShowDialog().Value ? dialog.Input : null;
        }
        private void RenameArticle(string articleName)
        {
            // Создаем диалог, вызываем его и возвращаем результат
            InputBoxWindow newEntityWindow =
                new InputBoxWindow(
                    articleName,
                    this.Lang("RenameArticleDialog.Title"),
                    this.Lang("RenameArticleDialog.Label"),
                    this.Lang("RenameButtonCaption"),
                    this.Lang("CancelButtonCaption"),
                    (input) =>
                    {
                        // Проверяем, то что вводит юзер на валидность и что такой рабочей области еще не создано

                        if (input != articleName)
                        {
                            if (input == string.Empty)
                                return this.Lang("Error.Article.IllegalName");
                            if (Global.CurrentWorkspace.ArticleNames.Contains(input))
                                return this.Lang("Error.Article.AlreadyExists");
                        }

                        return null;
                    }
                );
            newEntityWindow.Owner = this;
            newEntityWindow.WindowStartupLocation = WindowStartupLocation.CenterOwner;
            if (newEntityWindow.ShowDialog().Value && articleName != newEntityWindow.Input)
            {
                Global.CurrentWorkspace.RenameArticle(articleName, newEntityWindow.Input);
                UpdateArticlesList(newEntityWindow.Input);
            }
        }
Пример #4
0
        public static string ShowDialog_CreateNewArticle(Window owner)
        {
            // Сначала нужно получить имя имя доступной новой статьи по умолчанию

            const string defaultFreeWorkspaceNameBase   = "Article";
            int          defaultFreeWorkspaceNameNumber = 1;

            string defaultFreeWorkspaceName;

            do
            {
                defaultFreeWorkspaceName = $"{defaultFreeWorkspaceNameBase}{defaultFreeWorkspaceNameNumber++}";
            }while (Global.CurrentWorkspace.ArticleNames.Contains(defaultFreeWorkspaceName));

            InputBoxWindow dialog = new InputBoxWindow(
                defaultFreeWorkspaceName,
                owner.Lang("NewArticleDialog.Title"),
                owner.Lang("NewArticleDialog.Label"),
                owner.Lang("CreateButtonCaption"),
                owner.Lang("CancelButtonCaption"),
                (input) =>
            {
                if (input == string.Empty)
                {
                    return(owner.Lang("Error.Article.IllegalName"));
                }

                if (Global.CurrentWorkspace.ArticleNames.Contains(input))
                {
                    return(owner.Lang("Error.Article.AlreadyExists"));
                }

                return(null);
            });

            dialog.Owner = owner;
            dialog.WindowStartupLocation = WindowStartupLocation.CenterOwner;

            return(dialog.ShowDialog().Value ? dialog.Input : null);
        }
        private void RenameWorkspace(string workspaceName)
        {
            // Создаем диалог, вызываем его и возвращаем результат
            InputBoxWindow newEntityWindow =
                new InputBoxWindow(
                    workspaceName,
                    this.Lang("RenameWorkspaceDialog.Title"),
                    this.Lang("RenameWorkspaceDialog.Label"),
                    this.Lang("RenameButtonCaption"),
                    this.Lang("CancelButtonCaption"),
                    (input) =>
            {
                // Проверяем, то что вводит юзер на валидность и что такой рабочей области еще не создано

                if (input != workspaceName)
                {
                    if (!Data.Workspace.IsValidName(input))
                    {
                        return(this.Lang("Error.IllegalItemName"));
                    }
                    if (Data.Workspace.Exists(input))
                    {
                        return(this.Lang("Error.SuchItemAlreadyExists"));
                    }
                }

                return(null);
            }
                    );

            newEntityWindow.Owner = this;
            newEntityWindow.WindowStartupLocation = WindowStartupLocation.CenterOwner;
            if (newEntityWindow.ShowDialog().Value&& workspaceName != newEntityWindow.Input)
            {
                Directory.Move(Data.Workspace.GetWorkspaceDirectory(workspaceName), Data.Workspace.GetWorkspaceDirectory(newEntityWindow.Input));
                UpdateWorkspacesList(newEntityWindow.Input);
                Global.CurrentWorkspace = Data.Workspace.OpenExisting(newEntityWindow.Input);
            }
        }
Пример #6
0
        private void RenameArticle(string articleName)
        {
            // Создаем диалог, вызываем его и возвращаем результат
            InputBoxWindow newEntityWindow =
                new InputBoxWindow(
                    articleName,
                    this.Lang("RenameArticleDialog.Title"),
                    this.Lang("RenameArticleDialog.Label"),
                    this.Lang("RenameButtonCaption"),
                    this.Lang("CancelButtonCaption"),
                    (input) =>
            {
                // Проверяем, то что вводит юзер на валидность и что такой рабочей области еще не создано

                if (input != articleName)
                {
                    if (input == string.Empty)
                    {
                        return(this.Lang("Error.Article.IllegalName"));
                    }
                    if (Global.CurrentWorkspace.ArticleNames.Contains(input))
                    {
                        return(this.Lang("Error.Article.AlreadyExists"));
                    }
                }

                return(null);
            }
                    );

            newEntityWindow.Owner = this;
            newEntityWindow.WindowStartupLocation = WindowStartupLocation.CenterOwner;
            if (newEntityWindow.ShowDialog().Value&& articleName != newEntityWindow.Input)
            {
                Global.CurrentWorkspace.RenameArticle(articleName, newEntityWindow.Input);
                UpdateArticlesList(newEntityWindow.Input);
            }
        }