Untitled

 avatar
unknown
plain_text
21 days ago
6.0 kB
1
Indexable
- (IBAction)dashboardbtnClicked:(id)sender
{
    self.listButton.userInteractionEnabled = NO;
    _avtivityview.hidden=NO;
    [_activityindicator startAnimating];
    NSString * url=[NSString stringWithFormat:@"%@%@",serverAI,TokenVarification];
    
    NSString * username=[self GetUsername];
    NSString * accesstoken=[self GetAccessTokenForAI];
    NSString * siteid=[FDKeychain itemForKey:SiteId forService:InspectorService error:nil];
    if(siteid.length==0)
    {
        siteid =@"0";
    }
    
    NSDictionary* parametersDictionary = [NSDictionary dictionaryWithObjectsAndKeys:
                                          username, @"username",
                                          accesstoken, @"token",
                                          siteid,@"siteid",
                                          nil ];
    
    AFHTTPSessionManager * manager = [[AFHTTPSessionManager alloc]initWithSessionConfiguration:[NSURLSessionConfiguration defaultSessionConfiguration]];
    
    manager.requestSerializer = [AFHTTPRequestSerializer serializer];
    manager.responseSerializer = [AFHTTPResponseSerializer serializer];
    
    [manager.requestSerializer setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"];
    
    manager.responseSerializer.acceptableContentTypes = [manager.responseSerializer.acceptableContentTypes setByAddingObject:@"text/html"];
    
    NSDate *startTime = [NSDate date]; // Added on 19 Nov'24
    
    dispatch_async(dispatch_get_main_queue(),^{
        [manager POST:url parameters:parametersDictionary headers:nil progress:nil success:^(NSURLSessionDataTask * _Nonnull task, id  _Nullable responseObject)
         {
            self->_avtivityview.hidden=YES;
            
            //Added on 19 Nov'24
            NSDate *endTime = [NSDate date];
            NSTimeInterval timeTaken = [endTime timeIntervalSinceDate:startTime];
            NSString *timeTakenStr = [NSString stringWithFormat:@"%.3f Sec", timeTaken];
            NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *)task.response;
                
            if ([httpResponse isKindOfClass:[NSHTTPURLResponse class]]) {
                NSInteger statusCode = [httpResponse statusCode];
                NSString *statusCodeStr = [NSString stringWithFormat:@"%ld", (long)statusCode];
                [APIStatusLogger logAPIStatus:TokenVarification userName:username timeTaken:timeTakenStr withMessage:statusCodeStr];
                NSLog(@"response status code: %@", statusCodeStr);
            } else {
                NSLog(@"Error: Response is not an NSHTTPURLResponse.");
            }
            // End on 19 Nov'24
            
            NSDictionary * json = [NSJSONSerialization JSONObjectWithData:responseObject
                                                                  options:kNilOptions error:nil];
            NSString * okstr=[json objectForKey:Result];
            if([okstr isEqualToString:OK])
            {
                MyInspectionViewController * inspection =[[MyInspectionViewController alloc]initWithNibName:@"MyInspectionViewController" bundle:nil];
                
                [self.navigationController pushViewController:inspection animated:YES];
            }else
            {
                dispatch_async(dispatch_get_main_queue(), ^{
                    UIAlertController * alert=[UIAlertController alertControllerWithTitle:@"" message:ALREADYLOGGEDIN  preferredStyle:UIAlertControllerStyleAlert];
                    
                    UIAlertAction * action =[UIAlertAction actionWithTitle:OKaction style:UIAlertActionStyleCancel handler:^(UIAlertAction * action)
                                             {
                        
                        LoginViewController * login=[[LoginViewController alloc]initWithNibName:@"LoginViewController" bundle:nil];
                        
                        UINavigationController * nav =[[UINavigationController alloc]initWithRootViewController:login];
                        nav.modalPresentationStyle = UIModalPresentationOverFullScreen;
                        [self SetTrasitionEffetct:nav];
                    }];
                    
                    [alert addAction:action];
                    [self presentViewController:alert animated:YES completion:nil];
                });
            }
        } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error)
         {
            NSLog(@"%@",error);
            
            //Added on 19 Nov'24
            NSDate *endTime = [NSDate date];
            NSTimeInterval timeTaken = [endTime timeIntervalSinceDate:startTime];
            NSString *timeTakenString = [NSString stringWithFormat:@"%.3f Sec", timeTaken];
            
            NSInteger number = error.code;
            NSString *numberString = [NSString stringWithFormat:@"%ld", (long)number];
            [APIStatusLogger logAPIStatus:TokenVarification userName:username timeTaken:timeTakenString withMessage:numberString];
            //End on 19 Nov'24
            
            if([[Reachability reachabilityForInternetConnection]currentReachabilityStatus]==NotReachable)
            {
                dispatch_async(dispatch_get_main_queue(), ^{
                    [self ShowAlert:NoInternetConnection];
                });
            }
            else if( error.code == -1001 || error.code == -1009 )//-1001 --> request timed out
            {
                dispatch_async(dispatch_get_main_queue(), ^{
                    [self ShowAlert:slowInternet];
                });
            }
            else
            {
                dispatch_async(dispatch_get_main_queue(), ^{
                    [self ShowAlert:PleaseTryAgain];
                });
            }
            self.listButton.userInteractionEnabled = YES;
            self->_avtivityview.hidden=YES;
            [self->_activityindicator stopAnimating];
        }];
    });
}
Editor is loading...
Leave a Comment