public void Test() { string caml = CAML.Where() .Any( CAML.Expression().TextField("Email").EqualTo("*****@*****.**"), CAML.Expression().TextField("Email").EqualTo("*****@*****.**"), CAML.Expression().TextField("Title").BeginsWith("[Google]"), CAML.Expression().TextField("Content").Contains("Google") ) .ToString(); string expected = @"<Where> <Or> <Eq><FieldRef Name=""Email"" /><Value Type=""Text"">[email protected]</Value></Eq> <Or> <Eq><FieldRef Name=""Email"" /><Value Type=""Text"">[email protected]</Value></Eq> <Or> <BeginsWith><FieldRef Name=""Title"" /><Value Type=""Text"">[Google]</Value></BeginsWith> <Contains><FieldRef Name=""Content"" /><Value Type=""Text"">Google</Value></Contains> </Or> </Or> </Or> </Where>"; Assert.AreEqual(Beautify.Xml(expected), Beautify.Xml(caml)); }
public void Test() { var expression = CAML.Expression().BooleanField("Enabled").IsTrue(); var caml = CAML.View().Query().Where().All(expression).OrderBy("Priority").ToString(); string expected = @"<View> <Query> <Where> <Eq><FieldRef Name=""Enabled"" /><Value Type=""Integer"">1</Value></Eq> </Where> <OrderBy> <FieldRef Name=""Priority"" /> </OrderBy> </Query> </View>"; Assert.AreEqual(Beautify.Xml(expected), Beautify.Xml(caml)); }
public void Test() { var caml = CAML.Expression() .All( CAML.Expression().DateField("BroadcastExpires").GreaterThanOrEqualTo(CamlValues.Today), CAML.Expression().Any( CAML.Expression().UserField("BroadcastTo").IsInCurrentUserGroups(), CAML.Expression().UserField("BroadcastTo").EqualToCurrentUser() ), CAML.Expression().DateRangesOverlap(DateRangesOverlapType.Year, new DateTime().ToUniversalTime().ToString("yyyy-MM-ddTHH:mm:ssZ")) ) .ToString(); string expected = @"<And> <Geq> <FieldRef Name=""BroadcastExpires"" /> <Value Type=""DateTime""> <Today /> </Value> </Geq> <And> <Or> <Membership Type=""CurrentUserGroups""> <FieldRef Name=""BroadcastTo"" /> </Membership> <Eq> <FieldRef Name=""BroadcastTo"" LookupId=""True"" /> <Value Type=""Integer""><UserID /></Value> </Eq> </Or> <DateRangesOverlap> <FieldRef Name=""EventDate"" /> <FieldRef Name=""EndDate"" /> <FieldRef Name=""RecurrenceID"" /> <Value Type=""DateTime""> <Year /> </Value> </DateRangesOverlap> </And> </And>"; Assert.AreEqual(Beautify.Xml(expected), Beautify.Xml(caml)); }
public void Test() { var caml = CAML.Where() .All( CAML.Expression().All( CAML.Expression().BooleanField("Enabled").IsTrue(), CAML.Expression().UserMultiField("TargetAudience").IncludesSuchItemThat().ValueAsText().EqualTo("55").Or().UserMultiField("TargetAudience").IncludesSuchItemThat().ValueAsText().EqualTo("66") ), CAML.Expression().Any( CAML.Expression().TextField("NotificationScope").EqualTo("77"), CAML.Expression().TextField("NotificationScope").EqualTo("88").And().TextField("ScopeWebRelativeUrl").EqualTo("99") ) ) .ToString(); string expected = @"<Where> <And> <And> <Eq><FieldRef Name=""Enabled"" /><Value Type=""Integer"">1</Value></Eq> <Or> <Eq><FieldRef Name=""TargetAudience"" /><Value Type=""Text"">55</Value></Eq> <Eq><FieldRef Name=""TargetAudience"" /><Value Type=""Text"">66</Value></Eq> </Or> </And> <Or> <Eq><FieldRef Name=""NotificationScope"" /><Value Type=""Text"">77</Value></Eq> <And> <Eq><FieldRef Name=""NotificationScope"" /><Value Type=""Text"">88</Value></Eq> <Eq><FieldRef Name=""ScopeWebRelativeUrl"" /><Value Type=""Text"">99</Value></Eq> </And> </Or> </And> </Where>"; Assert.AreEqual(Beautify.Xml(expected), Beautify.Xml(caml)); }
public void Test() { var categories = new List <string>() { "Platform Support", "Research and Strategy" }; var purposes = new List <string>() { "Application and User Lists", "How To", "Support Information" }; var categoriesExpressions = new List <IExpression>(); foreach (var category in categories) { categoriesExpressions.Add(CAML.Expression().TextField("ContentCategory").EqualTo(category)); } var purposesExpressions = new List <IExpression>(); foreach (var purpose in purposes) { purposesExpressions.Add(CAML.Expression().TextField("ContentPurpose").EqualTo(purpose)); } var caml = CAML.Where() .All( CAML.Expression().Any(categoriesExpressions.ToArray()), CAML.Expression().Any(purposesExpressions.ToArray()) ) .ToString(); string expected = @"<Where> <And> <Or> <Eq> <FieldRef Name=""ContentCategory"" /> <Value Type=""Text"">Platform Support</Value> </Eq> <Eq> <FieldRef Name=""ContentCategory"" /> <Value Type=""Text"">Research and Strategy</Value> </Eq> </Or> <Or> <Eq> <FieldRef Name=""ContentPurpose"" /> <Value Type=""Text"">Application and User Lists</Value> </Eq> <Or> <Eq> <FieldRef Name=""ContentPurpose"" /> <Value Type=""Text"">How To</Value> </Eq> <Eq> <FieldRef Name=""ContentPurpose"" /> <Value Type=""Text"">Support Information</Value> </Eq> </Or> </Or> </And> </Where>"; Assert.AreEqual(Beautify.Xml(expected), Beautify.Xml(caml)); }