Beispiel #1
0
        public SystemSetting()
        {
            InitializeComponent();
            viewModel = new ProjectInfoWindowViewModel();
            gridProjectConfig.DataContext = viewModel;

            dbConnViewModel          = new DBConnViewModel();
            gridDBConfig.DataContext = dbConnViewModel;

            manager = new KeyValueSettingManager();
            backUpJobConfigManger = new BackUpJobConfigManger();
        }
        private MySqlBackUpViewModel()
        {
            manger                = new BackUpJobConfigManger();
            TaskStartCommand      = new DelegateCommand();
            TaskStopCommand       = new DelegateCommand();
            ManualExecuteCommand  = new DelegateCommand();
            RemovePolicyCommand   = new DelegateCommand();
            AddPolicyCommand      = new DelegateCommand();
            ChooseAllCommand      = new DelegateCommand();
            RecoverDefaultCommand = new DelegateCommand();
            EditPolicyCommand     = new DelegateCommand();
            SaveFileDayCommand    = new DelegateCommand();

            manager = new KeyValueSettingManager();

            TaskStartCommand.ExecuteAction     = Start;
            TaskStopCommand.ExecuteAction      = Stop;
            ManualExecuteCommand.ExecuteAction = ManualExecute;
            RemovePolicyCommand.ExecuteAction  = RemovePolicy;

            AddPolicyCommand.ExecuteAction      = AddPolicy;
            ChooseAllCommand.ExecuteAction      = ChooseAll;
            RecoverDefaultCommand.ExecuteAction = RecoverDefault;
            EditPolicyCommand.ExecuteAction     = EditPolicy;

            SaveFileDayCommand.ExecuteAction = SaveFileDayAction;

            Policys       = new ObservableCollection <BackUpPolicy>();
            Tables        = new ObservableCollection <BackUpTable>();
            Databases     = new ObservableCollection <BackUpDatabase>();
            CurrentPolicy = new BackUpPolicy();
            CurrentPolicy.DataBaseName = EnvironmentInfo.DbConnEntity.DbName;
            CurrentPolicyBak           = DeepCopy(CurrentPolicy);

            ReadPolicyConfig();
            GetTables();

            int saveday = 7;

            int.TryParse(EnvironmentInfo.Settings.FirstOrDefault(x => x.KeyId == "SaveFileDay")?.ValueText, out saveday);
            SaveFileDay = saveday;

            ProcessHelper.ShowOutputMessage += ProcessHelper_ShowOutputMessage;

            Message = "说明:\r\n1)全库备份,是完整备份。基础业务备份,是只备份核心业务数据。\r\n2)哪些表数据属于核心业务,系统已经默认配置了,也可以自行勾选,但是建议只多不少。\r\n3)如果要全部勾选,建议就不要配置为基础业务备份,直接使用全库备份即可。\r\n4)基础业务的备份频率一定要高于全库备份,因为全库备份包含了一些历史表,会很大。\r\n5)配置策略之后,重新启动不需要再去点执行任务,系统会自动执行。\r\n";
        }
Beispiel #3
0
        void OnStart()
        {
            KeyValueSettingManager keyValueSettingManager = new KeyValueSettingManager();
            BackUpJobConfigManger  backUpJobConfigManger  = new BackUpJobConfigManger();

            EnvironmentInfo.Settings.AddRange(keyValueSettingManager.KeyValueSettings());
            EnvironmentInfo.BackUpJobConfigs.AddRange(backUpJobConfigManger.BackUpJobConfigs());

            //迁移到数据库中
            string filePath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "JieShun.JieLink.DevOps.App.exe.config");
            var    setting  = keyValueSettingManager.ReadSetting("IsTransfered");

            if (setting != null && setting.ValueText == "0")
            {
                XDocument myXDoc   = XDocument.Load(filePath);
                XElement  rootNode = myXDoc.Element("configuration");
                foreach (XElement node in rootNode.Elements("appSettings"))
                {
                    foreach (XElement element in node.Elements("add"))
                    {
                        keyValueSettingManager.WriteSetting(new KeyValueSetting()
                        {
                            KeyId     = element.Attribute("key").Value,
                            ValueText = element.Attribute("value").Value
                        });
                    }
                }

                EnvironmentInfo.Settings.Clear();
                EnvironmentInfo.Settings.AddRange(keyValueSettingManager.KeyValueSettings());

                if (keyValueSettingManager.ReadSetting("ServerUrl").ValueText != "http://www.dwburning.top:1688")
                {
                    keyValueSettingManager.WriteSetting(new KeyValueSetting()
                    {
                        KeyId     = "ServerUrl",
                        ValueText = "http://www.dwburning.top:1688"//强制搞一下
                    });
                }

                backUpJobConfigManger.WriteBackUpJobConfig(new BackUpJobConfig()
                {
                    Id           = Guid.NewGuid().ToString(),
                    DataBaseName = EnvironmentInfo.DbConnEntity.DbName,
                    Cron         = "00 00 03 ? * 4",
                    BackUpType   = 0
                });

                backUpJobConfigManger.WriteBackUpJobConfig(new BackUpJobConfig()
                {
                    Id           = Guid.NewGuid().ToString(),
                    DataBaseName = EnvironmentInfo.DbConnEntity.DbName,
                    Cron         = "00 00 03 ? * 2,6",
                    BackUpType   = 1
                });

                keyValueSettingManager.WriteSetting(new KeyValueSetting()
                {
                    KeyId     = "IsTransfered",
                    ValueText = "1"
                });
            }

            EnvironmentInfo.ServerUrl = keyValueSettingManager.ReadSetting("ServerUrl").ValueText;

            EnvironmentInfo.DbConnEntity = JsonHelper.DeserializeObject <DbConnEntity>(keyValueSettingManager.ReadSetting("ConnectionString").ValueText);

            EnvironmentInfo.AutoStartCorectEntity = JsonHelper.DeserializeObject <AutoStartCorectEntity>(keyValueSettingManager.ReadSetting("AutoStartCorectString").ValueText);

            EnvironmentInfo.AutoStartSyncEntity = JsonHelper.DeserializeObject <AutoStartSyncEntity>(keyValueSettingManager.ReadSetting("AutoStartSyncString").ValueText);

            EnvironmentInfo.IsAutoArchive = keyValueSettingManager.ReadSetting("AutoStartSyncString").ValueText == "1";

            EnvironmentInfo.AutoArchiveMonth = int.Parse(keyValueSettingManager.ReadSetting("AutoArchiveMonth").ValueText);

            EnvironmentInfo.IsJieLink3x = keyValueSettingManager.ReadSetting("IsJieLink3x").ValueText == "1";
        }