Esempio n. 1
0
        private void LoadSolution(string directory, string file, bool isGlobal)
        {
            var sluFile = Path.Combine(directory, file);

            using (WorkModelScope.CreateScope(WorkModel.Loding))
            {
                try
                {
                    _solution = DeSerializer <SolutionConfig>(sluFile) ?? new SolutionConfig
                    {
                        Name        = "GlobalConfig",
                        Caption     = "全局配置",
                        Description = "全局配置"
                    };
                }
                catch (Exception exception)
                {
                    Trace.WriteLine(exception);
                    _solution = new SolutionConfig();
                }
                SolutionConfig.SetCurrentSolution(_solution);
                _solution.IsGlobal     = isGlobal;
                _solution.SaveFileName = sluFile;
                try
                {
                    LoadProjects(directory);
                }
                catch (Exception ex)
                {
                    Trace.WriteLine(ex);
                }
                GlobalTrigger.OnLoad(_solution);
            }
        }
Esempio n. 2
0
 /// <summary>
 /// 载入事件处理
 /// </summary>
 protected override void OnLoad()
 {
     base.OnLoad();
     using (WorkModelScope.CreateScope(WorkModel.Repair))
     {
         foreach (var cfg in TargetConfig.Classifies)
         {
             GlobalTrigger.OnLoad(cfg);
         }
         TargetConfig.Option.IsReference = TargetConfig.Entities.Count > 0 && TargetConfig.Entities.All(p => p.IsReference);
         foreach (var entity in TargetConfig.Entities)
         {
             entity.Project = TargetConfig.Name;
             entity.Parent  = TargetConfig;
             GlobalTrigger.OnLoad(entity);
         }
         foreach (var entity in TargetConfig.ApiItems)
         {
             entity.Project = TargetConfig.Name;
             entity.Parent  = TargetConfig;
             GlobalTrigger.OnLoad(entity);
         }
         foreach (var entity in TargetConfig.Enums)
         {
             entity.Project = TargetConfig.Name;
             entity.Parent  = TargetConfig;
             GlobalTrigger.OnLoad(entity);
         }
         TargetConfig.Entities.CollectionChanged += OnEntityCollectionChanged;
         TargetConfig.Enums.CollectionChanged    += OnEnumCollectionChanged;
         TargetConfig.ApiItems.CollectionChanged += OnApiCollectionChanged;
     }
 }
Esempio n. 3
0
 /// <summary>
 /// 保存
 /// </summary>
 public void SaveProject(string dir, ConfigWriter write)
 {
     using (WorkModelScope.CreateScope(WorkModel.Saving))
     {
         dir = write.SaveProject(this, dir);
         SaveTypedefs(dir, write);
         SaveNotifies(dir, write);
     }
 }
Esempio n. 4
0
        /// <summary>
        /// 保存
        /// </summary>
        private void SaveSolution()
        {
            var directory = Path.GetDirectoryName(Solution.SaveFileName);

            using (WorkModelScope.CreateScope(WorkModel.Saving))
            {
                SaveProjects(directory);
                SaveConfig(Solution.SaveFileName, Solution, true);
            }

            Solution.Foreach <ConfigBase>(p => p.IsModify = false);
            //VersionControlItem.Current.TfsCheckIn();
        }
Esempio n. 5
0
        /// <summary>
        /// 载入事件处理
        /// </summary>
        protected override void OnLoad()
        {
            using (WorkModelScope.CreateScope(WorkModel.Repair))
            {
                SolutionModel model = new SolutionModel
                {
                    Solution = TargetConfig
                };

                model.RepairByLoaded();
                model.ResetStatus();
                model.OnSolutionLoad();

                TargetConfig.ProjectList.CollectionChanged += ConfigCollectionChanged;
            }
        }
Esempio n. 6
0
 /// <summary>
 /// 同步解决方案变更
 /// </summary>
 public override void OnSolutionChanged()
 {
     using (WorkModelScope.CreateScope(WorkModel.Show))
         CreateTree();
 }