Ejemplo n.º 1
0
        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));
        }
Ejemplo n.º 2
0
        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));
        }
Ejemplo n.º 3
0
        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));
        }