首页 > 解决方案 > 检查给定日期范围内是否存在项目 CAML Sharepoint

问题描述

我有以下问题:我构建了一个查询,在 sharepoint 列表中搜索我的项目,该查询在创建新项目时检查给定日期范围中的项目是否存在。此外,我对添加用户的用户名进行了查询,并且排除了取消和挂起的状态。这几乎可行,但是例如,当我在列表中有项目时,开始日期(yyyy-MM-dd):2019-06-03 和截止日期:2019-06-07。我想添加具有开始日期和截止日期的项目:2019-06-05 然后查询没有返回列表中的现有项目..但是例如当我添加具有开始日期的新项目时:2019- 06-01 和截止日期 2019-06-04 它返回给我一个之前添加的项目。请帮我重构它,因为我不知道如何去做。

<Where>
<And>
    <And>
        <Or>
            <And>
                <Geq>
                    <FieldRef Name='StartDate' />
                     <Value Type='DateTime'>2019-06-05T00:00:00Z</Value>
                </Geq>
                <Leq>
                    <FieldRef Name='StartDate' />
                    <Value Type='DateTime'>2019-06-05T00:00:00Z</Value>
                </Leq>
            </And>
            <And>
                <Geq>
                    <FieldRef Name='DueDate' />
                    <Value Type='DateTime'>2019-06-05T00:00:00Z</Value>
                </Geq>
                <Leq>
                    <FieldRef Name='DueDate' />
                    <Value Type='DateTime'>2019-06-05T00:00:00Z</Value>
                </Leq>
            </And>
        </Or>
        <Eq>
            <FieldRef Name='Employee' />
            <Value Type='PersonOrGroup'>User Name</Value>
        </Eq>
    </And>
    <And>
        <Neq>
            <FieldRef Name='Status' />
            <Value Type='Text'>Canceled</Value>
        </Neq>
         <Neq>
            <FieldRef Name='Status' />
            <Value Type='Text'>Rejected</Value>
        </Neq>
    </And>
</And>
</Where>

标签: c#sharepointsharepoint-2013caml

解决方案


推荐阅读