ScanBookViewController.m 3.24 KB
Newer Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
//
//  ScanBookViewController.m
//  PLUCdraft
//
//  Created by Alexander W. Moore on 2/3/15.
//  Copyright (c) 2015 Alexander W. Moore. All rights reserved.
//


#import "ScanBookViewController.h"

static int BOOK_ID_LENGTH = 13;

@interface ScanBookViewController ()
@property (weak, nonatomic) IBOutlet UITextField *txtBookID;
@property (weak, nonatomic) IBOutlet UIImageView *imgCheck;
@property (weak, nonatomic) IBOutlet UIImageView *imgX;
@property (weak, nonatomic) IBOutlet UILabel *lblSection;
- (IBAction)txtChange:(id)sender;


@end

@implementation ScanBookViewController

@synthesize session;
@synthesize lblSection;
@synthesize txtBookID;
@synthesize imgCheck;
@synthesize imgX;

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view.
    lblSection.text = session.section;
    [self.view addGestureRecognizer:[[UITapGestureRecognizer alloc] initWithTarget:self.view action:@selector(endEditing:)]];
    
    // SEND SESSION TO RTI
    
    //self.navigationItem.hidesBackButton = YES;
}

- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}


#pragma mark - Navigation

// In a storyboard-based application, you will often want to do a little preparation before navigation
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
    // Get the new view controller using [segue destinationViewController].
    // Pass the selected object to the new view controller.
    
    // TELL OCI TO END SESSION aka exit out of page
    
    
}


-(void) changeCheckImage {
    imgCheck.image = [UIImage imageNamed:@"greencheck.png"];
    
    dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_LOW, 0), ^{
        sleep(1);
        //do other stuff
        dispatch_async(dispatch_get_main_queue(), ^{
            imgCheck.image = [UIImage imageNamed:@"greycheck2.png"];
            txtBookID.text = @"";
        });  
    });
}

-(void) changeXImage {
    imgX.image = [UIImage imageNamed:@"redx.png"];
    
    dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_LOW, 0), ^{
        sleep(1);
        //do other stuff
        dispatch_async(dispatch_get_main_queue(), ^{
            imgX.image = [UIImage imageNamed:@"greyx2.png"];
            txtBookID.text = @"";
        });
    });
}



- (IBAction)txtChange:(id)sender {
    NSCharacterSet* notDigits = [[NSCharacterSet decimalDigitCharacterSet] invertedSet];
    
    if(txtBookID.text.length == BOOK_ID_LENGTH) {  //string is proper length
        if([txtBookID.text rangeOfCharacterFromSet:notDigits].location == NSNotFound) {  //string is numeric
            // SEND BOOK ID TO RTI
            
            //randomly generate errors
            int random = arc4random() % 10;
            if(random < 5) {
                //green check
                [self changeCheckImage];
            } else {
                //red x
                [self changeXImage];
            }
            

        } else {
            UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Invalid Book ID" message:@"Book ID must be numeric" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil, nil];
            [alert show];
        }
    } else {
        //if not 13 digits
    }
}



@end