I’m having issues with fetching data from table in backendless. It stops working automatically and it has generated ticket automatically. Could you please help me out?
Ticket id: A7BB5ADC-B054-ADF9-FF88-5BA62ADC3400
I’m having issues with fetching data from table in backendless. It stops working automatically and it has generated ticket automatically. Could you please help me out?
Ticket id: A7BB5ADC-B054-ADF9-FF88-5BA62ADC3400
Hi,
Amandeep Singh.
Please, provide appId and the short code example how you retrieve date from Backendless table.
Application id is E2380C63-B49A-5F86-FF77-77B2DC8DB000.
Code:
BackendlessUser *currentUser = backendless.userService.currentUser;
DataQueryBuilder *queryBuilder = [DataQueryBuilder new];
[queryBuilder setPageSize:100];
BOOL organization = NO;
if ([[backendless.userService currentUser] isCarrierType]) {
[queryBuilder setWhereClause:[NSString stringWithFormat:@"acceptedUser.orgCode = '%@' OR issuingUser.orgCode = '%@'", [currentUser getProperty:@"orgCode"], [currentUser getProperty:@"orgCode"]]];
} else if ([[backendless.userService currentUser] isAdminType] && self.segmentedControl.selectedSegmentIndex == 1) {
organization = YES;
} else if ([[backendless.userService currentUser] isAdminType] && self.segmentedControl.selectedSegmentIndex == 0) {
[queryBuilder setWhereClause:nil];
} else {
if ([[backendless.userService currentUser] isInvestigatorType]) {
[queryBuilder setWhereClause:[NSString stringWithFormat:@"(acceptedUser.objectId = '%@' OR acceptedUser is null) AND closestInvestigators.objectId = '%@' AND rejectedRespondersList.objectId != '%@'", currentUser.objectId, currentUser.objectId, currentUser.objectId]];
} else {
[queryBuilder setWhereClause:[NSString stringWithFormat:@"acceptedUser.objectId = '%@' OR issuingUser.objectId = '%@' OR closestInvestigators.objectId = '%@'", currentUser.objectId, currentUser.objectId, currentUser.objectId]];
}
}
if (!organization) {
[queryBuilder setRelated:[NSMutableArray arrayWithArray:@[@"acceptedUser", @"issuingUser", @"accidentReport"]]];
}
[queryBuilder setSortBy:@[@"created DESC"]];
[MBProgressHUD showHUDAddedTo:self.view animated:YES];
[backendless.persistenceService find: organization ? [Organization class] : [Alert class] queryBuilder:queryBuilder response:^(NSArray *results) {
[MBProgressHUD hideHUDForView:self.view animated:YES];
if (results && results.count > 0) {
[self populateListsFromData:results];
// now find system alerts
if (!organization) {
DataQueryBuilder *query = [DataQueryBuilder new];
[query setPageSize:100];
[MBProgressHUD showHUDAddedTo:self.view animated:YES];
[backendless.persistenceService find: [SystemAlert class] queryBuilder:query response:^(NSArray *results) {
[MBProgressHUD hideHUDForView:self.view animated:YES];
if (results && results.count > 0) {
// add system alerts to this array, then reverse it, and add to our main array
// so we can have system alerts in order but also at top of the list of all alerts
NSMutableArray *sysAlerts = [[NSMutableArray alloc] init];
for (SystemAlert *alert in results) {
[sysAlerts addObject:alert];
}
NSEnumerator *enumerator = [sysAlerts reverseObjectEnumerator];
for (SystemAlert *alert in enumerator) {
[self.currentList insertObject:alert atIndex:0];
}
[self.tableView reloadData];
} else {
// Temp code to check alert list data at initial screen load.
[self.tableView reloadData];
}
[self.button_CreateAlert setTitle:self.segmentedControl.selectedSegmentIndex == 0 ? @"+ Create an Alert":@"+ Create an Organization" forState:UIControlStateNormal];
} error:^(Fault *fault) {
NSLog(@"Error: %@", fault.description);
[MBProgressHUD hideHUDForView:self.view animated:YES];
UIAlertController *alert = [UIAlertController alertWithTitle:@"Error fetching system alerts" message:fault.message];
[self presentViewController:alert animated:YES completion:nil];
}];
} else {
[self.tableView reloadData];
[self.button_CreateAlert setTitle:self.segmentedControl.selectedSegmentIndex == 0 ? @"+ Create an Alert":@"+ Create an Organization" forState:UIControlStateNormal];
}
} else {
if (self.pastList != nil && self.pastList.count > 0) {
[self.pastList removeAllObjects];
}
if (self.currentList != nil && self.currentList.count > 0) {
[self.currentList removeAllObjects];
}
[self.tableView reloadData];
}
} error:^(Fault *fault) {
NSLog(@"Error: %@", fault.description);
[MBProgressHUD hideHUDForView:self.view animated:YES];
UIAlertController *alert = [UIAlertController alertWithTitle:@"Error fetching alerts" message:fault.message];
[self presentViewController:alert animated:YES completion:nil];
[self.tableView reloadData];
[self.button_CreateAlert setTitle:self.segmentedControl.selectedSegmentIndex == 0 ? @"+ Create an Alert":@"+ Create an Organization" forState:UIControlStateNormal];
}];
}
It is resolved, thanks.