Saturday, September 14, 2013

Log Data

 LoginView.h


#import <UIKit/UIKit.h>
#import "HttpWrapper.h"
#import "ASIHTTPRequest.h"
#import "ASIFormDataRequest.h"
#import "BSKeyboardControls.h"

@interface LoginView : UIViewController<HttpWrapperDelegate,UITextFieldDelegate,BSKeyboardControlsDelegate,UIScrollViewDelegate>
{
    IBOutlet UITextField *txtUserName;
    IBOutlet UITextField *txtPassword;
    
    IBOutlet UIButton *btnSignIn;
    IBOutlet UIButton *btnSignUp;
    IBOutlet UIButton *btnRemember;
    IBOutlet UIButton *btnFogotPassword;
    IBOutlet UIScrollView *scrView;
    
    ASIFormDataRequest *request;
    HttpWrapper *regRequest,*loginRequest;
    BOOL isRemember;
}
@property(nonatomic, strong) BSKeyboardControls *keyboardControls;
@property(nonatomic,retain)IBOutlet UITextField *txtUserName;
@property(nonatomic,retain)IBOutlet UITextField *txtPassword;
@property(nonatomic,retain)IBOutlet UIScrollView *scrView;

@end

Login.m

#import "LoginView.h"
#import "RegisterView.h"
#import "AppDelegate.h"
#import "NSString+SBJSON.h"
#import "DBHelper.h"
#import "ForgotPasswordView.h"

@interface LoginView ()

@end
@implementation LoginView
@synthesize txtPassword,txtUserName,keyboardControls,scrView;
AppDelegate *appDelegate;
DBHelper *db;

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
    if (self) {
        // Custom initialization
    }
    return self;
}
- (void)viewDidLoad
{
    [super viewDidLoad];
     appDelegate = [AppDelegate sharedAppDelegate];
     self.title =@"Login";
   
//    NSArray *fields = @[self.txtUserName,self.txtPassword];
//    [self setKeyboardControls:[[BSKeyboardControls alloc] initWithFields:fields]];
//    [self.keyboardControls setDelegate:self];
    
  //  [scrView setContentSize:CGSizeMake(320,82)];

    db = [[DBHelper alloc]init];
    
    NSString *username = [[NSUserDefaults standardUserDefaults] objectForKey:@"username"];
    NSString *password = [[NSUserDefaults standardUserDefaults] objectForKey:@"password"];
    if(username  && password)
    {
        isRemember = YES;
        [btnRemember setSelected:YES];
        txtUserName.text = username;
        txtPassword.text = password;
    }
    else
    {
        txtUserName.text = @"";
        txtPassword.text = @"";
    }
    
    UIBarButtonItem *barButton = [[UIBarButtonItem alloc] initWithTitle:@"Back" style:UIBarButtonItemStylePlain target:nil action:nil];
[self.navigationItem setBackBarButtonItem:barButton];
[barButton release];    
//    [self drawPlaceholderInRect:CGRectMake(0, 0, <#CGFloat width#>, <#CGFloat height#>)]
}
- (void) drawPlaceholderInRect:(CGRect)rect {
    [[UIColor blueColor] setFill];
    [[txtPassword placeholder] drawInRect:rect withFont:[UIFont systemFontOfSize:16]];
}
-(void)viewWillAppear:(BOOL)animated
{
    [self.navigationController setNavigationBarHidden:YES];
}
-(IBAction)OnClickSignIn:(id)sender
{
    [appDelegate addTabBarControllerInwindow];
    return;

    if ([txtUserName.text isEqualToString:@""] || [txtPassword.text isEqualToString:@""]) {
        [appDelegate showAlertWithTitle:@"Alert" message:@"Please Enter  UserName and Password"];
        
        return;
    }
    if(loginRequest)
    {
        [loginRequest cancelRequest];
        [loginRequest release];
        loginRequest = nil;
    }
    [appDelegate showLoadingView];
    loginRequest = [[HttpWrapper alloc] init];
    loginRequest.delegate=self;
    NSString *strUrl = [NSString stringWithFormat:@"%@?action=CheckLogin&UName=%@&Pwd=%@",API_URL,txtUserName.text,txtPassword.text];
    [loginRequest requestWithMethod:@"GET" url:strUrl param:nil];
}
-(IBAction)onClickForgotPass:(id)sender
{
    ForgotPasswordView *forgotPass =[[ForgotPasswordView alloc]initWithNibName:@"ForgotPasswordView" bundle:nil];
    [self.navigationController pushViewController:forgotPass animated:YES];
    [forgotPass release];
}
-(void) HttpWrapper:(HttpWrapper *)wrapper fetchDataFail:(NSError *)error
{
    if(wrapper == loginRequest)
    {
       // btnLogin.enabled=YES;
    }
    else if(wrapper == regRequest)
    {
        NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
        [userDefaults removeObjectForKey:@"username"];
        [userDefaults synchronize];
    }
    [appDelegate showAlertWithTitle:@"Connection" message:@"Please check internet connection"];
    [appDelegate hideLoadingView];
    //  [activity stopAnimating];
    self.view.userInteractionEnabled = YES;
 //   btnLogin.hidden = NO;
}
-(void) HttpWrapper:(HttpWrapper *)wrapper fetchDataSuccess:(NSString *)response
{
  //  btnLogin.hidden = NO;
    // [activity stopAnimating];
    [appDelegate hideLoadingView];
    self.view.userInteractionEnabled = YES;
    if(wrapper == loginRequest)
    {
        NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
        NSString *strUsername=[defaults objectForKey:@"username"];
        
        if (![txtUserName.text isEqualToString:strUsername]) {
            [db deleteAllPatientInfo];
        }
        
        NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
        if (isRemember) {
            [userDefaults setObject:txtUserName.text forKey:@"username"];
            [userDefaults setObject:txtPassword.text forKey:@"password"];
        }
        else{
            [userDefaults removeObjectForKey:@"username"];
            [userDefaults removeObjectForKey:@"password"];
            [userDefaults setObject:txtUserName.text forKey:@"username"];
        }
        appDelegate.isLogin = YES;
        [userDefaults setBool:appDelegate.isLogin forKey:@"login"];
         [userDefaults synchronize];

        NSLog(@"Login >fetch success %@",response);
        //[appDelegate loadTabbar];
       // btnLogin.enabled=YES;
        NSMutableDictionary *dict= (NSMutableDictionary *)[response JSONValue];
        appDelegate.dirUserInfo = dict;
        if([[dict valueForKey:@"status"]integerValue] == 0){
            [appDelegate showAlertWithTitle:@"Login" message:@"Invalid Login"];
            [appDelegate hideLoadingView];
            return;
        }
        appDelegate.userID=[[appDelegate.dirUserInfo valueForKey:@"userid"] intValue];
        
        [appDelegate addTabBarControllerInwindow];
    }
}
-(IBAction)onClickRemember:(id)sender
{
    [btnRemember setSelected:!btnRemember.selected];
    isRemember = btnRemember.selected;
}
-(IBAction)OnClickSignUp:(id)sender
{
    RegisterView *objregister =[[RegisterView alloc]initWithNibName:@"RegisterView" bundle:nil];
    [self.navigationController pushViewController:objregister animated:YES];
    [objregister release];
}
-(BOOL)textFieldShouldReturn:(UITextField *)textField
{
    [textField resignFirstResponder];
    return YES;
}
-(void) textFieldDidEndEditing:(UITextField *)textField
{
    [textField resignFirstResponder];
    CGPoint bottomOffset = CGPointMake(0, 0);
    [scrView setContentOffset:bottomOffset animated:YES];
}
-(void)textFieldDidBeginEditing:(UITextField *)textField
{
    CGPoint offset = CGPointMake(0,0);
    if (textField == txtUserName)
    {
        offset.y = txtUserName.frame.origin.y-10;
        [scrView setContentOffset:offset animated:NO];
    }
    else if (textField == txtPassword)
    {
        offset.y = txtPassword.frame.origin.y-10;
        [scrView setContentOffset:offset animated:NO];
    }
   // [self.keyboardControls setActiveField:textField];
}
#pragma mark Keyboard Controls Delegate
/*
-(void) keyboardControls:(BSKeyboardControls *)keyboardControls selectedField:(UIView *)field inDirection:(BSKeyboardControlsDirection)direction
{
    CGPoint offset = field.frame.origin;
    offset.x = 0;
    offset.y -= 100;
    offset.y+=self.scrView.frame.origin.y;
    [self.scrView setContentOffset:offset animated:YES];
}
- (void)keyboardControlsDonePressed:(BSKeyboardControls *)keyboardControls1
{
    [self.scrView setContentOffset:CGPointZero animated:YES];
    [keyboardControls.activeField resignFirstResponder];
}
 */
- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}
@end

No comments:

Post a Comment