예제 #1
0
        private IQueryable <Reservation> RestrictByLocation(IQueryable <Reservation> resData, bool checkOutLogic)
        {
            if (Parameters.ContainsValueAndIsntEmpty(checkOutLogic ? DictionaryParameter.CheckOutLocation : DictionaryParameter.Location))
            {
                resData = ReservationFieldRestrictions.RestrictByLocation(resData,
                                                                          Parameters[checkOutLogic ? DictionaryParameter.CheckOutLocation : DictionaryParameter.Location], checkOutLogic);
            }
            else
            {
                bool foundParameter = false;
                if (Parameters.ContainsValueAndIsntEmpty(checkOutLogic ? DictionaryParameter.CheckOutLocationGroup : DictionaryParameter.LocationGroup))
                {
                    resData = ReservationFieldRestrictions.RestrictByLocationGroup(resData,
                                                                                   Parameters[checkOutLogic ? DictionaryParameter.CheckOutLocationGroup : DictionaryParameter.LocationGroup], checkOutLogic);
                    foundParameter = true;
                }
                else if (Parameters.ContainsValueAndIsntEmpty(checkOutLogic ? DictionaryParameter.CheckOutPool : DictionaryParameter.Pool))
                {
                    resData = ReservationFieldRestrictions.RestrictByPool(resData,
                                                                          Parameters[checkOutLogic ? DictionaryParameter.CheckOutPool : DictionaryParameter.Pool], checkOutLogic);
                    foundParameter = true;
                }

                if (!foundParameter)
                {
                    if (Parameters.ContainsValueAndIsntEmpty(checkOutLogic ? DictionaryParameter.CheckOutArea : DictionaryParameter.Area))
                    {
                        resData = ReservationFieldRestrictions.RestrictByArea(resData,
                                                                              Parameters[checkOutLogic ? DictionaryParameter.CheckOutArea : DictionaryParameter.Area], checkOutLogic);
                        foundParameter = true;
                    }
                    else if (Parameters.ContainsValueAndIsntEmpty(checkOutLogic ? DictionaryParameter.CheckOutRegion : DictionaryParameter.Region))
                    {
                        resData = ReservationFieldRestrictions.RestrictByRegion(resData,
                                                                                Parameters[checkOutLogic ? DictionaryParameter.CheckOutRegion : DictionaryParameter.Region], checkOutLogic);
                        foundParameter = true;
                    }
                }

                if (!foundParameter)
                {
                    if (Parameters.ContainsValueAndIsntEmpty(checkOutLogic ? DictionaryParameter.CheckOutCountry : DictionaryParameter.LocationCountry))
                    {
                        resData = ReservationFieldRestrictions.RestrictByLocationCountry(resData,
                                                                                         Parameters[checkOutLogic ? DictionaryParameter.CheckOutCountry : DictionaryParameter.LocationCountry], checkOutLogic);
                    }
                }
            }
            return(resData);
        }
예제 #2
0
 private IQueryable <Reservation> RestrictByCarFields(IQueryable <Reservation> resData, bool reservedLogic)
 {
     if (Parameters.ContainsValueAndIsntEmpty(DictionaryParameter.CarGroup))
     {
         resData = ReservationFieldRestrictions.RestrictByCarGroup(resData,
                                                                   Parameters[DictionaryParameter.CarGroup], reservedLogic);
     }
     else if (Parameters.ContainsValueAndIsntEmpty(DictionaryParameter.CarClass))
     {
         resData = ReservationFieldRestrictions.RestrictByCarClass(resData,
                                                                   Parameters[DictionaryParameter.CarClass], reservedLogic);
     }
     else if (Parameters.ContainsValueAndIsntEmpty(DictionaryParameter.CarSegment))
     {
         resData = ReservationFieldRestrictions.RestrictByCarSegment(resData,
                                                                     Parameters[DictionaryParameter.CarSegment], reservedLogic);
     }
     else if (Parameters.ContainsValueAndIsntEmpty(DictionaryParameter.OwningCountry))
     {
         resData = ReservationFieldRestrictions.RestrictByOwningCountry(resData,
                                                                        Parameters[DictionaryParameter.OwningCountry]);
     }
     return(resData);
 }