Exemplo n.º 1
0
        private void GetOvertimeTaskList(OverTimeManagementDAL overTimeManagementDAL)
        {
            var query = $@"<Where>
                                <Or>
                                    <And>
                                        <Eq>
                                            <FieldRef Name='{StringConstant.OverTimeManagementList.FirstApprovedByField}' LookupId='TRUE' />
                                            <Value Type='User'>{_currentUserADId}</Value>
                                        </Eq>
                                        <Eq>
                                            <FieldRef Name='{StringConstant.OverTimeManagementList.FirstApprovedDateField}' />
                                            <Value IncludeTimeValue='FALSE' Type='DateTime'>{DateTime.Now.ToString(StringConstant.DateFormatForCAML)}</Value>
                                        </Eq>
                                    </And>
                                    <And>
                                        <Or>
                                            <Eq>
                                                <FieldRef Name='{StringConstant.CommonSPListField.ApprovalStatusField}' />
                                                <Value Type='Text'>true</Value>
                                            </Eq>
                                            <Eq>
                                                <FieldRef Name='{StringConstant.CommonSPListField.ApprovalStatusField}' />
                                                <Value Type='Text'>false</Value>
                                            </Eq>
                                        </Or>
                                        <And>
                                            <Eq>
                                                <FieldRef Name='{StringConstant.OverTimeManagementList.ApprovedByField}' LookupId='TRUE' />
                                                <Value Type='User'>{_currentUserADId}</Value>
                                            </Eq>
                                            <Eq>
                                                <FieldRef Name='{StringConstant.DefaultSPListField.ModifiedField}' />
                                                <Value IncludeTimeValue='FALSE' Type='DateTime'>{DateTime.Now.ToString(StringConstant.DateFormatForCAML)}</Value>
                                            </Eq>
                                        </And>
                                    </And>
                                </Or>
                            </Where>";

            if (this.CountOnly)
            {
                TotalCount += overTimeManagementDAL.CountByQuery(query);
            }
            else
            {
                var overtimeManagementList = overTimeManagementDAL.GetByQuery(query);
                if (overtimeManagementList != null && overtimeManagementList.Count > 0)
                {
                    foreach (var overtimeManagement in overtimeManagementList)
                    {
                        var filterTask = new FilterTask(overtimeManagement);
                        filterTask.ApprovalStatusId = overtimeManagement.ApprovalStatus == "true" ? ApprovedStatusId
                            : overtimeManagement.ApprovalStatus == "false" ? RejectedStatusId
                            : InProgressStatusId;
                        FilterTaskList.Add(filterTask);
                    }
                }
            }
        }
        private void GetOvertimeTaskList(OverTimeManagementDAL overTimeManagementDAL)
        {
            List <int> delegatedItemIDs = this.DelegationList.Where(d => d.ListUrl == OverTimeManagementList.ListUrl).Select(d => d.ListItemID).ToList();
            var        delegationQuery  = _filterTaskManager.BuildApprovedByDelegationQuery(_currentUserADId, OverTimeManagementList.ApprovedByField, "User", delegatedItemIDs);

            var query = $@"<Where>
                                <And>
                                    <And>
                                        {delegationQuery}
                                        <Geq>
                                           <FieldRef Name='{StringConstant.OverTimeManagementList.CommonDateField}' />
                                           <Value IncludeTimeValue='FALSE' Type='DateTime'>{DateTime.Now.ToString(StringConstant.DateFormatForCAML)}</Value>
                                        </Geq>
                                    </And>
	                                
	                                <IsNull>
		                                <FieldRef Name='{StringConstant.OverTimeManagementList.ApprovalStatusField}' />
	                                </IsNull>
                                </And>
                            </Where>";

            if (this.CountOnly)
            {
                TotalCount += overTimeManagementDAL.CountByQuery(query);
            }
            else
            {
                var overtimeManagementList = overTimeManagementDAL.GetByQuery(query);
                if (overtimeManagementList != null && overtimeManagementList.Count > 0)
                {
                    foreach (var overtimeManagement in overtimeManagementList)
                    {
                        var filterTask = new FilterTask(overtimeManagement);
                        filterTask.ApprovalStatusId = ApprovalStatusId;
                        FilterTaskList.Add(filterTask);
                    }
                }
            }
        }