public SerializableConflictResolutionRule(ConfigConflictResolutionRule edmResolutionRule) { this.StorageId = edmResolutionRule.Id; this.ReferenceName = edmResolutionRule.ReferenceName; edmResolutionRule.ConflictTypeReference.Load(); this.ConflictType = new SerializableConflictType(edmResolutionRule.ConflictType); edmResolutionRule.ResolutionActionReference.Load(); this.ResolutionAction = new SerializableResolutionAction(edmResolutionRule.ResolutionAction); edmResolutionRule.RuleScopeReference.Load(); this.Scope = new SerializableResolutionRuleScope(edmResolutionRule.RuleScope); this.ScopeInfoUniqueId = edmResolutionRule.ScopeInfoUniqueId; this.SourceInfoUniqueId = edmResolutionRule.SourceInfoUniqueId; this.RuleDataXmlDocString = edmResolutionRule.RuleData; this.Status = edmResolutionRule.Status; }
private void ImportRule(SerializableConflictResolutionRule rule) { if (!m_oldRuleRefNameToNewOne.ContainsKey(rule.ReferenceName)) { ConfigConflictType edmConflictType = ImportConflictType(rule.ConflictType); ConfigConflictResolutionAction edmResolutionAction = ImportResolutionAction(rule.ResolutionAction); ConfigConflictResolutionRuleScope edmRuleScope = ImportScope(rule.Scope); Guid newRuleRefName = Guid.NewGuid(); string newRuleDataXmlDocString = rule.RuleDataXmlDocString.Replace(rule.ReferenceName.ToString(), newRuleRefName.ToString()); ConfigConflictResolutionRule edmRule = ConfigConflictResolutionRule.CreateConfigConflictResolutionRule( 0, newRuleRefName, rule.ScopeInfoUniqueId, rule.SourceInfoUniqueId, newRuleDataXmlDocString, DateTime.Now, rule.Status); m_context.AddToConfigConflictResolutionRuleSet(edmRule); edmRule.ConflictType = edmConflictType; edmRule.ResolutionAction = edmResolutionAction; edmRule.RuleScope = edmRuleScope; m_context.TrySaveChanges(); m_oldRuleRefNameToNewOne.Add(rule.ReferenceName, newRuleRefName); } }