Advertisement
Guest User

routeGroup

a guest
May 26th, 2015
262
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.52 KB | None | 0 0
  1. -(void)getDataFromfilter : (NSString *)strTypeCode{
  2.  
  3. FMResultSet *results;
  4.  
  5. NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
  6.  
  7. if(![defaults objectForKey:@"Category"]){
  8. [defaults setObject:@"Natuurwandelingen" forKey:@"Category"];
  9. [defaults synchronize];
  10. }
  11.  
  12. NSString *isdog = @"0";
  13.  
  14. if([defaults boolForKey:@"DogAllowed"]){
  15. if([defaults boolForKey:@"DogAllowed"]){
  16. isdog = @"1";
  17. }
  18. }
  19.  
  20. BOOL isareafilter = NO;
  21.  
  22. //Check for Area Filter
  23. if (![[defaults objectForKey:@"DistanceTo"] isEqualToString:@"Select"] && ![[defaults objectForKey:@"DistanceFrom"] isEqualToString:@"Select"]) {
  24. isareafilter = YES;
  25. }
  26.  
  27. NSString *disTo = @"0";
  28. NSString *disFrom = @"0";
  29.  
  30. if ([[defaults objectForKey:@"DistanceTo"] intValue] > [[defaults objectForKey:@"DistanceFrom"] intValue]) {
  31. disTo = [NSString stringWithFormat:@"%@",[defaults objectForKey:@"DistanceTo"]];
  32. disFrom = [NSString stringWithFormat:@"%@",[defaults objectForKey:@"DistanceFrom"]];
  33. }else{
  34. disTo = [NSString stringWithFormat:@"%@",[defaults objectForKey:@"DistanceFrom"]];
  35. disFrom = [NSString stringWithFormat:@"%@",[defaults objectForKey:@"DistanceTo"]];
  36. }
  37.  
  38. NSMutableArray *arrAllRouteGroups = [[NSMutableArray alloc]init];
  39.  
  40. BOOL isdatefilter = NO;
  41.  
  42. //Check For Date Filter
  43. if([[defaults objectForKey:@"Category"] isEqualToString:@"KNBLO"] || [[defaults objectForKey:@"Category"] isEqualToString:@"IVN"]){
  44.  
  45. if (![defaults objectForKey:@"Date"] && [[defaults objectForKey:@"Date"] isEqualToString:@"Select Date"]) {
  46. isdatefilter = YES;
  47. }
  48. }
  49.  
  50. if (isdatefilter) {
  51. if ([[defaults objectForKey:@"Date"] isEqualToString:@"Coming Week"]) {
  52. NSString *startday = [self ListDates2:1];
  53. NSString *endday = [self ListDates2:7];
  54.  
  55. if (isareafilter) {
  56. results = [database executeQuery:@"SELECT rg.*, COUNT(r.routeCode) AS totalNumberOfRoutes FROM routeGroups AS rg INNER JOIN routes AS r ON rg.routeGroupCode = r.routeGroup WHERE rg.type = ? AND (rg.eventStartDate >= %@ ) AND (rg.eventStartDate <= %@ ) AND (rg.eventFinishDate >= %@) AND (rg.eventFinishDate <= %@) AND r.dogsAllowed = ? AND r.lengthInKM >= ? AND r.lengthInKM <= ? GROUP BY rg.routeGroupCode ORDER BY rg.name ASC",strTypeCode,startday,endday,startday,endday,isdog,disFrom,disTo];
  57. }else{
  58. results = [database executeQuery:@"SELECT rg.*, COUNT(r.routeCode) AS totalNumberOfRoutes FROM routeGroups AS rg INNER JOIN routes AS r ON rg.routeGroupCode = r.routeGroup WHERE rg.type = ? AND (rg.eventStartDate >= %@ ) AND (rg.eventStartDate <= %@ ) AND (rg.eventFinishDate >= %@) AND (rg.eventFinishDate <= %@) AND r.dogsAllowed = ? GROUP BY rg.routeGroupCode ORDER BY rg.name ASC",strTypeCode,startday,endday,startday,endday,isdog];
  59. }
  60.  
  61. }else if([[defaults objectForKey:@"Date"] isEqualToString:@"Coming Weekend"]){
  62.  
  63. NSCalendar *gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar] ;
  64. NSDateComponents *comps = [gregorian components:NSWeekdayCalendarUnit fromDate:[NSDate date]];
  65. int weekday = (int)[comps weekday];
  66. int daysTosaturday = (14 - weekday) % 7;
  67. int daysTosunday = (8 - weekday) % 7;
  68.  
  69. NSString *satur = [self ListDates2:daysTosaturday];
  70. NSString *sunday = [self ListDates2:daysTosunday];
  71.  
  72. if (isareafilter) {
  73. results = [database executeQuery:@"SELECT rg.*, COUNT(r.routeCode) AS totalNumberOfRoutes FROM routeGroups AS rg INNER JOIN routes AS r ON rg.routeGroupCode = r.routeGroup WHERE rg.type = ? AND (rg.eventStartDate >= %@ ) AND (rg.eventStartDate <= %@ ) AND (rg.eventFinishDate >= %@) AND (rg.eventFinishDate <= %@) AND r.dogsAllowed = ? AND r.lengthInKM >= ? AND r.lengthInKM <= ? GROUP BY rg.routeGroupCode ORDER BY rg.name ASC",strTypeCode,satur,sunday,satur,sunday,isdog,disFrom,disTo];
  74. }else{
  75. results = [database executeQuery:@"SELECT rg.*, COUNT(r.routeCode) AS totalNumberOfRoutes FROM routeGroups AS rg INNER JOIN routes AS r ON rg.routeGroupCode = r.routeGroup WHERE rg.type = ? AND (rg.eventStartDate >= %@ ) AND (rg.eventStartDate <= %@ ) AND (rg.eventFinishDate >= %@) AND (rg.eventFinishDate <= %@) AND r.dogsAllowed = ? GROUP BY rg.routeGroupCode ORDER BY rg.name ASC",strTypeCode,satur,sunday,satur,sunday,isdog];
  76. }
  77.  
  78. }else{
  79. if (isareafilter) {
  80. results = [database executeQuery:@"SELECT rg.*, COUNT(r.routeCode) AS totalNumberOfRoutes FROM routeGroups AS rg INNER JOIN routes AS r ON rg.routeGroupCode = r.routeGroup WHERE rg.type = ? AND rg.eventStartDate < %@ AND rg.eventFinishDate > %@ AND r.dogsAllowed = ? AND r.lengthInKM >= ? AND r.lengthInKM <= ? GROUP BY rg.routeGroupCode ORDER BY rg.name ASC",strTypeCode,[defaults objectForKey:@"Date"],[defaults objectForKey:@"Date"],isdog,disFrom,disTo];
  81. }else{
  82. results = [database executeQuery:@"SELECT rg.*, COUNT(r.routeCode) AS totalNumberOfRoutes FROM routeGroups AS rg INNER JOIN routes AS r ON rg.routeGroupCode = r.routeGroup WHERE rg.type = ? AND rg.eventStartDate < %@ AND rg.eventFinishDate > %@ AND r.dogsAllowed = ? GROUP BY rg.routeGroupCode ORDER BY rg.name ASC",strTypeCode,[defaults objectForKey:@"Date"],[defaults objectForKey:@"Date"],isdog];
  83. }
  84.  
  85. }
  86. }else{
  87.  
  88. if (isareafilter) {
  89. results = [database executeQuery:@"SELECT rg.*, COUNT(r.routeCode) AS totalNumberOfRoutes FROM routeGroups AS rg INNER JOIN routes AS r ON rg.routeGroupCode = r.routeGroup WHERE rg.type = ? AND r.dogsAllowed = ? AND r.lengthInKM >= ? AND r.lengthInKM <= ? GROUP BY rg.routeGroupCode ORDER BY rg.name ASC",strTypeCode,isdog,disFrom,disTo];
  90. }else{
  91. results = [database executeQuery:@"SELECT rg.*, COUNT(r.routeCode) AS totalNumberOfRoutes FROM routeGroups AS rg INNER JOIN routes AS r ON rg.routeGroupCode = r.routeGroup WHERE rg.type = ? AND r.dogsAllowed = ? GROUP BY rg.routeGroupCode ORDER BY rg.name ASC",strTypeCode,isdog];
  92. }
  93.  
  94. }
  95.  
  96. NSString *strAreaOrProvince;
  97. NSString *strAreaSizeInHA;
  98. NSString *strDescr;
  99. NSString *strEventFinishDate;
  100. NSString *strEventStartDate;
  101. NSString *strLatitude;
  102. NSString *strLongitude;
  103. NSString *strName;
  104. NSString *strRouteGroupCode;
  105. NSString *strType;
  106. NSString *strgpsStatus;
  107. int totalroutes = 0;
  108.  
  109. while([results next]){
  110.  
  111. strAreaOrProvince = [results stringForColumn:@"areaOrProvince"];
  112. strAreaSizeInHA = [results stringForColumn:@"areaSizeInHA"];
  113. strDescr = [results stringForColumn:@"descr"];
  114. strEventFinishDate = [results stringForColumn:@"eventFinishDate"];
  115. strEventStartDate = [results stringForColumn:@"eventStartDate"];
  116. strLatitude = [results stringForColumn:@"latitude"];
  117. strLongitude = [results stringForColumn:@"longitude"];
  118. strName = [results stringForColumn:@"name"];
  119. strRouteGroupCode = [results stringForColumn:@"routeGroupCode"];
  120. strType = [results stringForColumn:@"type"];
  121. strgpsStatus = [results stringForColumn:@"gpsstatus"];
  122.  
  123. totalroutes = [results intForColumn:@"totalNumberOfRoutes"];
  124.  
  125. NSMutableDictionary *dict = [[NSMutableDictionary alloc] init];
  126.  
  127. [dict setObject:strAreaOrProvince forKey:@"areaOrProvince"];
  128. [dict setObject:strAreaSizeInHA forKey:@"areaSizeInHA"];
  129. [dict setObject:strDescr forKey:@"descr"];
  130. [dict setObject:strEventFinishDate forKey:@"eventFinishDate"];
  131. [dict setObject:strEventStartDate forKey:@"eventStartDate"];
  132. [dict setObject:strLatitude forKey:@"latitude"];
  133. [dict setObject:strLongitude forKey:@"longitude"];
  134. [dict setObject:strName forKey:@"name"];
  135. [dict setObject:strRouteGroupCode forKey:@"routeGroupCode"];
  136. [dict setObject:strType forKey:@"type"];
  137. [dict setObject:strgpsStatus forKey:@"gpsStatus"];
  138.  
  139. [arrAllRouteGroups addObject:dict];
  140. }
  141.  
  142. if (arrRoutesList != nil) {
  143. arrRoutesList = nil;
  144. }
  145.  
  146. arrRoutesList = [[NSMutableArray alloc] initWithArray:arrAllRouteGroups];
  147. [self addAnnotation:arrRoutesList];
  148. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement