Advertisement
Guest User

Untitled

a guest
Nov 6th, 2017
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. - (NSPredicate *)getPredicateForFilter:(CallsFilter)callFilter
  2. {
  3.     NSPredicate *predicate = nil;
  4.     NSString *apptalkAccount = [FiretalkManager sharedManager].account.accountName;
  5.  
  6.     switch (callFilter) {
  7.         case callsFilterAll:
  8.             if (self.searchString.length > 0) {
  9.                 predicate = [NSPredicate predicateWithFormat:@"apptalkAccount == %@ AND (ani CONTAINS[c] %@ OR destNumber CONTAINS[c] %@ OR publicNumber CONTAINS[c] %@)", apptalkAccount,
  10.                 self.searchString, self.searchString, self.searchString];
  11.             } else {
  12.                 predicate = [NSPredicate predicateWithFormat:@"apptalkAccount == %@", apptalkAccount];
  13.             }
  14.             break;
  15.         case callsFilterMissed:
  16.             if (self.searchString.length > 0) {
  17.                 predicate = [NSPredicate predicateWithFormat:@"apptalkAccount == %@ AND subType = %d AND direction = %d AND (ani CONTAINS[c] %@ OR destNumber CONTAINS[c] %@ OR publicNumber CONTAINS[c] %@)",
  18.                 apptalkAccount, ServerRecentActivityRecordSubTypeMissed, ServerRecentActivityRecordDirectionInbound,
  19.                 self.searchString, self.searchString, self.searchString];
  20.             } else {
  21.                 predicate = [NSPredicate predicateWithFormat:@"apptalkAccount == %@ AND subType = %d AND direction = %d", apptalkAccount, ServerRecentActivityRecordSubTypeMissed,
  22.                 ServerRecentActivityRecordDirectionInbound];
  23.             }
  24.             break;
  25.         case callsFilterVM:
  26.             if (self.searchString.length > 0) {
  27.                 predicate = [NSPredicate predicateWithFormat:@"apptalkAccount == %@ AND subType = %d AND direction = %d AND (ani CONTAINS[c] %@ OR destNumber CONTAINS[c] %@ OR publicNumber CONTAINS[c] %@)",
  28.                 apptalkAccount, ServerRecentActivityRecordSubTypeVoiceMail, ServerRecentActivityRecordDirectionInbound,
  29.                 self.searchString, self.searchString, self.searchString];
  30.             } else {
  31.                 predicate = [NSPredicate predicateWithFormat:@"apptalkAccount == %@ AND subType = %d AND direction = %d", apptalkAccount, ServerRecentActivityRecordSubTypeVoiceMail,
  32.                 ServerRecentActivityRecordDirectionInbound];
  33.             }
  34.             break;
  35.         default:
  36.             break;
  37.     }
  38.     return predicate;
  39. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement