-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathBBModelController.m
75 lines (59 loc) · 2.29 KB
/
BBModelController.m
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
//
// BBModelController.m
// BubbleBusters
//
// Created by Anton Tikhonov on 13.11.12.
// Copyright (c) 2012 FPM Soft. All rights reserved.
//
#import "BBModelController.h"
#import "BBDownloader.h"
#import "Constants.h"
#import "FMDBDataAccess.h"
#import "BBIssue.h"
#define kCachesFolder @"Caches"
@implementation BBModelController
@synthesize selectedIssueCategory = selectedIssueCategory_;
@synthesize categoriesArray = categoriesArray_;
@synthesize selectedIssueTypeName = selectedIssueTypeName_;
static BBModelController * sharedModel = nil;
#pragma mark Init Singleton
+ (BBModelController *) sharedModelController {
if (sharedModel == nil) {
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
sharedModel = [[BBModelController alloc] init];
sharedModel.selectedIssueCategory = [[BBIssueCategory alloc]init];
sharedModel.selectedIssueTypeName = [[NSString alloc]init];
});
}
return sharedModel;
}
#pragma mark Download Database
- (void) downloadSQLite {
NSString * sqLitePath = [[NSSearchPathForDirectoriesInDomains
(NSLibraryDirectory, NSUserDomainMask, YES) objectAtIndex:0]
stringByAppendingPathComponent:kCachesFolder];
NSURL * url = [NSURL URLWithString:[NSString stringWithFormat:@"%@%@",K_BASE_URL,K_DOWNLOAD_SQLITE_API]];
NSString * filename = [NSString stringWithFormat:@"%@.%@",K_DBASE_NAME,K_DBASE_FORMAT];
[BBDownloader downloadFileWithURL:url toDirectory:sqLitePath withName:filename];
}
#pragma mark Get Objects From Database
- (BBAbout *) getAboutObject {
return [FMDBDataAccess getAbout];
}
- (NSMutableArray *) getTipsArray {
return [FMDBDataAccess getTips];
}
- (NSMutableArray *) getCategoriesArray {
if (!categoriesArray) {
self.categoriesArray = [FMDBDataAccess getCategories];
}
return self.categoriesArray;
}
- (BBIssue *) getIssueForIssueCategory:(BBIssueCategory *)_category byType:(int)issueType {
return [FMDBDataAccess getIssueForCategory:_category byType:[NSNumber numberWithInt:issueType]];
}
- (NSMutableArray *) getIssuesForCategory:(BBIssueCategory *)_category byType:(int)type {
return [FMDBDataAccess getIssuesForCategory:_category byType:[NSNumber numberWithInt:type]];
}
@end