예제 #1
0
        public GitDiffViewModel(IDbObjectText DbObjectText, IIDEProvider IDE, IGitAPI Git, IWarnings Warnings, ISettings Settings)
        {
            _DbObjectText = DbObjectText;
            IDiffText DiffText = Git.GitDiff(DbObjectText);

            FillDocument(DiffText);

            CurrentBranch   = Git.GetCurrentBranch();
            CurrentDataBase = IDE.GetDatabaseConnection();
            ObjectDescrName = DbObjectText.DescriptionName;
            ObjectFullPath  = DbObjectText.GetRawFilePath();

            if (Settings.UnexpectedBranch)
            {
                UnexpectedBranch = Warnings.IsBranchUnexsepted(CurrentBranch, true);
            }
            if (Settings.UnexpectedServer)
            {
                UnexpectedServer = Warnings.IsServerUnexsepted(CurrentDataBase, true);
            }

            SaveTextCommand = NinjectCore.Get <CommandSaveTextToRepository>();
            LoadTextCommand = NinjectCore.Get <CommandLoadTextFromRepository>();

            ButtonsClassicStyle = Settings.ClassicButtonsPosition;
        }
예제 #2
0
        private void LoadText()
        {
            if (_DbObjectText == null)
            {
                _DbObjectText = _IDEProvider.GetDbObject <IDbObjectText>();
            }
            else
            {
                _DbObjectText.DirectoriesChecks();
            }

            if (_ServerName == null)
            {
                _ServerName = _IDEProvider.GetDatabaseConnection();
            }

            if (_Warnings.IsServerUnexsepted(_ServerName))
            {
                return;
            }

            string FilePath = _DbObjectText.GetRawFilePath();

            Seri.Log.Here().Debug("FilePath={0}", FilePath);

            string LocalText = File.ReadAllText(FilePath);

            _PlsqlCodeFormatter.RemoveSlash(ref LocalText);

            _IDEProvider.SetText(LocalText);
            _IDEProvider.SetStatusMessage($"Объект БД загружен из: {FilePath}");
        }