Guest User

Untitled

a guest
Feb 10th, 2016
32
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.  
  2. #import "LogIn.h"
  3. #import "BaseClass.h"
  4. #import "XMLReader.h"
  5. #import "QuestionOfTheDay.h"
  6. #import "MainView.h"
  7. #import "Config.h"
  8.  
  9. @interface LogIn () <UITextFieldDelegate,MBProgressHUDDelegate,NSXMLParserDelegate>
  10. {
  11.    // NSMutableDictionary * dictUser;
  12.     BOOL varSuccess;
  13. }
  14. @property (weak, nonatomic) IBOutlet UITextField *txtUserName;
  15. @property (weak, nonatomic) IBOutlet UITextField *txtPassword;
  16. @property (weak, nonatomic) IBOutlet UIImageView *imgTxt1;
  17. @property (weak, nonatomic) IBOutlet UIImageView *imgTxt2;
  18. @property (weak, nonatomic) IBOutlet UILabel *lblVersion;
  19.  
  20. @end
  21.  
  22. @implementation LogIn
  23.  
  24. -(BOOL)textFieldShouldReturn:(UITextField *)textField
  25. {
  26.     [textField resignFirstResponder];
  27.     return YES;
  28. }
  29. -(void)textFieldDidBeginEditing:(UITextField *)textField
  30. {
  31.     if(textField==self.txtUserName)
  32.         [self.imgTxt1 setImage:[UIImage imageNamed:@"box_selected.png"]];
  33.     else
  34.         [self.imgTxt2 setImage:[UIImage imageNamed:@"box_selected.png"]];
  35.  
  36. }
  37. -(void)textFieldDidEndEditing:(UITextField *)textField
  38. {
  39.     if(textField==self.txtUserName)
  40.         [self.imgTxt1 setImage:[UIImage imageNamed:@"box_nonselected.png"]];
  41.     else
  42.         [self.imgTxt2 setImage:[UIImage imageNamed:@"box_nonselected.png"]];
  43.    
  44. }
  45. - (void)viewDidLoad {
  46.     [super viewDidLoad];
  47.  
  48.     NSString *version = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleShortVersionString"];
  49.    
  50.     self.lblVersion.text = [NSString stringWithFormat:@"Version : %@",version];
  51.    
  52.     NSDictionary * dict = [[NSUserDefaults standardUserDefaults] objectForKey:@"loginUser"];
  53.    
  54.     if(dict)
  55.         [self gotoMainView:dict animated:NO];
  56.  
  57. }
  58. - (IBAction)clickHelp:(id)sender {
  59.    
  60.     [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"http://support.ebmappsllc.com/"]];
  61. }
  62. - (IBAction)clickRegister:(id)sender {
  63.    
  64.     [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"http://register.ebmappsllc.com/"]];
  65. }
  66. -(void)gotoMainView:(NSDictionary*)dict animated:(BOOL)animated
  67. {
  68.     UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
  69.    
  70.     NSDate *fromDate = [[NSUserDefaults standardUserDefaults] objectForKey:@"questionDate"];
  71.    
  72.     NSLog(@"%@", fromDate);
  73.    
  74.     if(!fromDate)   // if first time
  75.     {
  76.         QuestionOfTheDay *yourViewController = (QuestionOfTheDay *) [storyboard instantiateViewControllerWithIdentifier:@"QuestionOfTheDay"];
  77.         yourViewController.dictUser=dict;
  78.         [self.navigationController pushViewController:yourViewController animated:animated];
  79.     }
  80.     else
  81.     {
  82.         NSDateComponents *difference = [[NSCalendar currentCalendar] components:NSCalendarUnitDay fromDate:fromDate toDate:[NSDate date] options:0];
  83.        
  84.         if([difference day]>0)
  85.         {
  86.             QuestionOfTheDay *yourViewController = (QuestionOfTheDay *) [storyboard instantiateViewControllerWithIdentifier:@"QuestionOfTheDay"];
  87.             yourViewController.dictUser=dict;
  88.             [self.navigationController pushViewController:yourViewController animated:animated];
  89.         }
  90.         else
  91.         {
  92.             MainView *yourViewController = (MainView *) [storyboard instantiateViewControllerWithIdentifier:@"MainView"];
  93.             yourViewController.dictUser=dict;
  94.             [self.navigationController pushViewController:yourViewController animated:animated];
  95.         }
  96.      
  97.     }
  98.    
  99.  
  100. }
  101. -(void)viewWillAppear:(BOOL)animated
  102. {
  103.     [super viewWillAppear:animated];
  104.    
  105.     self.txtUserName.text=@"";
  106.     self.txtPassword.text=@"";
  107. }
  108. - (IBAction)clickLogIn:(id)sender {
  109.  
  110.     [self.txtUserName resignFirstResponder];
  111.     [self.txtPassword resignFirstResponder];
  112.  
  113.     if(self.txtUserName.text.length==0||self.txtPassword.text.length==0)
  114.     {
  115.         [BaseClass showText:@"Some field missing." onView:self.view];
  116.         return;
  117.     }
  118.    
  119.     if(![BaseClass isNetworkReachableOnView:self.view])
  120.         return ;
  121.    
  122.     MBProgressHUD *HUD = [[MBProgressHUD alloc] initWithView:self.view];
  123.     [self.view addSubview:HUD];
  124.     HUD.delegate = self;
  125.     HUD.labelText = @"Logging In, Please wait.";
  126.     [HUD showWhileExecuting:@selector(getResponse) onTarget:self withObject:nil animated:NO];
  127.    
  128. }
  129. - (void)getResponse {
  130.    
  131.    // NSString  *currentDeviceId = [[[UIDevice currentDevice] identifierForVendor]UUIDString];
  132.     NSString *remoteRegistrationID = [[NSUserDefaults standardUserDefaults] objectForKey:@"registrationID"];
  133.    
  134.     NSString *login_url = [serviceBaseURL stringByAppendingFormat:@"CheckUser?userName=%@&password=%@&deviceID=%@&phoneType=%@",self.txtUserName.text,self.txtPassword.text,remoteRegistrationID,@"iOS"];
  135.    
  136.     NSString *loginResponse = [BaseClass requestWithURL:[NSString stringWithFormat:@"%@",login_url] onView:self.view];
  137.    
  138.     NSError *error = nil;
  139.  
  140.     NSDictionary *dict = [XMLReader dictionaryForXMLData:[loginResponse dataUsingEncoding:NSASCIIStringEncoding] options:XMLReaderOptionsProcessNamespaces error:&error];
  141.    
  142.     NSLog(@"%@",dict);
  143.    
  144.     NSString * stringResponse = [[dict objectForKey:@"string"] objectForKey:@"text"];
  145.    
  146.     NSString * str1 = [stringResponse substringFromIndex:[stringResponse rangeOfString:@"<Success>"].location+9];
  147.    
  148.    
  149.     if([[str1 substringToIndex:[str1 rangeOfString:@"</Success>"].location] isEqualToString:@"Y"])
  150.     {
  151.    
  152.         NSMutableDictionary *dictUser = [NSMutableDictionary dictionary];
  153.  
  154.         [dictUser setObject:self.txtUserName.text forKey:@"UserName"];
  155.         [dictUser setObject:self.txtPassword.text forKey:@"Password"];
  156.  
  157.         [dictUser setObject:[str1 substringToIndex:[str1 rangeOfString:@"</UserId>"].location] forKey:@"UserId"];
  158.  
  159.         str1 = [stringResponse substringFromIndex:[stringResponse rangeOfString:@"<UserId>"].location+8];
  160.         [dictUser setObject:[str1 substringToIndex:[str1 rangeOfString:@"</UserId>"].location] forKey:@"UserId"];
  161.        
  162.         str1 = [stringResponse substringFromIndex:[stringResponse rangeOfString:@"<UserGender>"].location+12];
  163.         [dictUser setObject:[str1 substringToIndex:[str1 rangeOfString:@"</UserGender>"].location] forKey:@"UserGender"];
  164.  
  165.         str1 = [stringResponse substringFromIndex:[stringResponse rangeOfString:@"<ActivityLevel>"].location+15];
  166.         [dictUser setObject:[str1 substringToIndex:[str1 rangeOfString:@"</ActivityLevel>"].location] forKey:@"ActivityLevel"];
  167.  
  168.         str1 = [stringResponse substringFromIndex:[stringResponse rangeOfString:@"<HeightInInch>"].location+14];
  169.         [dictUser setObject:[str1 substringToIndex:[str1 rangeOfString:@"</HeightInInch>"].location] forKey:@"HeightInInch"];
  170.        
  171.         str1 = [stringResponse substringFromIndex:[stringResponse rangeOfString:@"<WeightInLB>"].location+12];
  172.         [dictUser setObject:[str1 substringToIndex:[str1 rangeOfString:@"</WeightInLB>"].location] forKey:@"WeightInLB"];
  173.        
  174.         NSLog(@"user %@", dictUser);
  175.        
  176.         [[NSUserDefaults standardUserDefaults] setObject:dictUser forKey:@"loginUser"];
  177.         [[NSUserDefaults standardUserDefaults] synchronize];
  178.  
  179.         // I think here we need to make a background call.
  180.        
  181.         NSString  *userID = [[[NSUserDefaults standardUserDefaults] objectForKey:@"loginUser"] objectForKey:@"UserId"];
  182.        
  183.         NSLog(@"%@",userID);
  184.        
  185.         [self gotoMainView:dictUser animated:YES];
  186.        
  187.     }
  188.     else
  189.     {
  190.         [self performSelectorOnMainThread:@selector(showAlert:) withObject:@"Login Failed." waitUntilDone:YES];
  191.     }
  192.    
  193. }
  194.  
  195. -(void)showAlert:(NSString*)string
  196. {
  197.     [BaseClass showText:string onView:self.view];
  198.    
  199. }
  200.  
  201. //
  202. //-(void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict{
  203. //    
  204. //    NSLog(@"Element started %@",elementName);
  205. //   // self.currentElement=elementName;
  206. //    
  207. //}
  208. //
  209. //-(void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName{
  210. //    
  211. //    varSuccess=NO;
  212. //    
  213. //    NSLog(@"Element ended %@",elementName);
  214. //   // self.currentElement=@"";
  215. //    
  216. //}
  217. //
  218. //-(void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string{
  219. //    
  220. //    NSLog(@"foundCharacters %@",string);
  221. //
  222. //    if([string isEqualToString:@"<"]||[string isEqualToString:@">"])
  223. //        return;
  224. //    
  225. //    if([string isEqualToString:@"Success"])
  226. //        varSuccess=YES;
  227. //    
  228. //   // if(varSuccess)
  229. //    
  230. //    
  231. ////    if([self.currentElement isEqualToString:@"VideoListResult"]){
  232. ////        // NSLog(@"The characters are %@",string);
  233. ////        
  234. ////        id data = [NSJSONSerialization JSONObjectWithData:[string dataUsingEncoding:NSASCIIStringEncoding] options:0 error:nil];
  235. ////        
  236. ////        
  237. ////        NSLog(@"The page numbers are %@",[[[data valueForKey:@"List"] objectAtIndex:0] valueForKey:@"PageNumber"]);
  238. ////        
  239. ////        
  240. ////    }
  241. //}
  242. //
  243.  
  244.  
  245.  
  246. - (void)didReceiveMemoryWarning {
  247.     [super didReceiveMemoryWarning];
  248.     // Dispose of any resources that can be recreated.
  249. }
  250.  
  251. /*
  252. #pragma mark - Navigation
  253.  
  254. // In a storyboard-based application, you will often want to do a little preparation before navigation
  255. - (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
  256.     // Get the new view controller using [segue destinationViewController].
  257.     // Pass the selected object to the new view controller.
  258. }
  259. */
  260.  
  261. @end
Add Comment
Please, Sign In to add comment