public override void DeployModel(object modelHost, Definitions.DefinitionBase model) { var list = modelHost.WithAssertAndCast<List>("modelHost", value => value.RequireNotNull()); var listItemModel = model.WithAssertAndCast<ListItemDefinition>("model", value => value.RequireNotNull()); ValidateModel(list, listItemModel); }
public override void DeployModel(object modelHost, Definitions.DefinitionBase model) { var listItemModelHost = modelHost.WithAssertAndCast<ListItemFieldValueModelHost>("modelHost", value => value.RequireNotNull()); var fieldValue = model.WithAssertAndCast<ListItemFieldValueDefinition>("model", value => value.RequireNotNull()); ProcessFieldValue(listItemModelHost, listItemModelHost.CurrentItem, fieldValue); }
public override void DeployModel(object modelHost, Definitions.DefinitionBase model) { var listItemModelHost = modelHost.WithAssertAndCast<ListItemModelHost>("modelHost", value => value.RequireNotNull()); var definition = model.WithAssertAndCast<ListItemFieldValuesDefinition>("model", value => value.RequireNotNull()); var spObject = listItemModelHost.HostListItem; var assert = ServiceFactory.AssertService .NewAssert(definition, spObject) .ShouldNotBeNull(spObject); if (definition.Values.Count > 0) { assert.ShouldBeEqual((p, s, d) => { var srcProp = s.GetExpressionValue(def => def.Values); var isValid = true; foreach (var value in definition.Values) { if (spObject[value.FieldName].ToString() != value.Value.ToString()) { isValid = false; break; } } return new PropertyValidationResult { Tag = p.Tag, Src = srcProp, Dst = null, IsValid = isValid }; }); } else { assert.SkipProperty(m => m.Values, "Values.Count == 0. Skipping"); } }