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); } }
/// <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; } }
/// <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); } }
/// <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(); }
/// <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; } }
/// <summary> /// 同步解决方案变更 /// </summary> public override void OnSolutionChanged() { using (WorkModelScope.CreateScope(WorkModel.Show)) CreateTree(); }