public AttributeChangeRuleViewModel(AttributeChangeRule model, bool canUseProposedValues) : base(model, canUseProposedValues) { this.typedModel = model; this.ValidatePropertyChange("TriggerEvents"); this.ValidatePropertyChange("Attribute"); }
public void TestSerialization() { ObjectClassScopeProviderForTest provider = new ObjectClassScopeProviderForTest("person"); AttributeChangeRule toSeralize = new AttributeChangeRule(); toSeralize.ObjectClassScopeProvider = provider; toSeralize.Attribute = ActiveConfig.DB.GetAttribute("sn"); toSeralize.TriggerEvents = TriggerEvents.Add | TriggerEvents.Delete; AttributeChangeRule deserialized = (AttributeChangeRule)UnitTestControl.XmlSerializeRoundTrip <AttributeChangeRule>(toSeralize); deserialized.ObjectClassScopeProvider = provider; Assert.AreEqual(toSeralize.Attribute, deserialized.Attribute); Assert.AreEqual(toSeralize.TriggerEvents, deserialized.TriggerEvents); Assert.IsTrue(deserialized.ErrorCount == 0); }
public void EvaluateOnNoAttributeChange() { Guid newId = Guid.NewGuid(); try { MAObjectHologram maObject = ActiveConfig.DB.CreateMAObject(newId, "person"); maObject.CommitCSEntryChange(); CSEntryChange csentry = CSEntryChange.Create(); csentry.DN = maObject.ObjectID.ToString(); csentry.ObjectModificationType = ObjectModificationType.Update; csentry.ObjectType = maObject.ObjectClass.Name; // Positive Tests AttributeChangeRule target = new AttributeChangeRule(); target.Attribute = ActiveConfig.DB.GetAttribute("accountName"); target.TriggerEvents = TriggerEvents.None; bool actual = target.Evaluate(maObject); Assert.IsTrue(actual); // Negative Tests csentry.AttributeChanges.Add(AttributeChange.CreateAttributeAdd("accountName", "mytestvalue")); maObject.AttachCSEntryChange(csentry); target = new AttributeChangeRule(); target.Attribute = ActiveConfig.DB.GetAttribute("accountName"); target.TriggerEvents = TriggerEvents.None; actual = target.Evaluate(maObject); Assert.IsFalse(actual); } finally { ActiveConfig.DB.DeleteMAObjectPermanent(newId); } }