Exemplo n.º 1
0
        public List <FreightManagement> GetFilteredFreights(DateTime fromDate, DateTime toDate, int deptId, List <int> locationIds, int vehId)
        {
            List <FreightManagement> queriedFreights = null;
            string queryStr = string.Empty;

            try
            {
                queryStr = $@"<And>
                                <Geq>
                                    <FieldRef Name='TransportTime' />
                                    <Value IncludeTimeValue='FALSE' Type='DateTime'>{fromDate.ToString(StringConstant.DateFormatForCAML)}</Value>
                                </Geq>
                                <Leq>
                                    <FieldRef Name='TransportTime' />
                                    <Value IncludeTimeValue='FALSE' Type='DateTime'>{toDate.ToString(StringConstant.DateFormatForCAML)}</Value>
                                </Leq>
                            </And>";

                if (vehId > 0)
                {
                    queryStr = $@"<And>{queryStr}
                                      <And>
                                          <Eq>
                                              <FieldRef Name='{StringConstant.FreightManagementList.VehicleLookupField}' LookupId='TRUE' />
                                              <Value Type='Lookup'>{vehId}</Value>
                                          </Eq>
                                          <Eq>
                                              <FieldRef Name='{StringConstant.CommonSPListField.ApprovalStatusField}'/>
                                              <Value Type='Text'>{StringConstant.ApprovalStatus.Approved}</Value>
                                          </Eq>
                                      </And>
                                   </And>";
                }
                else
                {
                    queryStr = $@"<And>{queryStr}
                                      <And>
                                        <Eq>
                                            <FieldRef Name='CompanyVehicle' />
                                            <Value Type='Boolean'>1</Value>
                                        </Eq>
                                        <Eq>
                                            <FieldRef Name='{StringConstant.CommonSPListField.ApprovalStatusField}' />
                                            <Value Type='Text'>{ StringConstant.ApprovalStatus.Approved}</Value>
                                        </Eq>
                                    </And>
                                </And>";
                }

                if (deptId > 0)
                {
                    queryStr = $@"<And>
                                    {queryStr}
                                    <Eq>
                                        <FieldRef Name='{StringConstant.CommonSPListField.CommonDepartmentField}' LookupId='TRUE' />
                                        <Value Type='Lookup'>{deptId}</Value>
                                    </Eq>
                                </And>";
                }

                string locationFilter = CommonHelper.BuildFilterCommonLocation(locationIds);
                if (!string.IsNullOrEmpty(locationFilter))
                {
                    queryStr = $@"<And>{locationFilter}{queryStr}</And>";
                }

                queryStr        = string.Format(" <Where>{0}</Where>", queryStr);
                queriedFreights = GetByQuery(queryStr);
            }
            catch { }

            return(queriedFreights);
        }