-
Notifications
You must be signed in to change notification settings - Fork 1
/
GameCategory+GameCategoryModel.m
152 lines (94 loc) · 4.39 KB
/
GameCategory+GameCategoryModel.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
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
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
//
// GameCategory+GameCategoryModel.m
// Ludow2
//
// Created by Guillaume ESTREM on 23/03/2015.
// Copyright (c) 2015 JACQUEZ_ESTREM. All rights reserved.
//
#import "GameCategory+GameCategoryModel.h"
@implementation GameCategory (GameCategoryModel)
+(NSMutableArray* ) getAllGameCategories:(NSEntityDescription *) entityDesc inManagedObjectContext :(NSManagedObjectContext *) context {
GameCategory* gameCategory=nil;
NSError* error = nil;
NSMutableArray *GameCategoryList = [[NSMutableArray alloc] init];
NSFetchRequest* request = [[NSFetchRequest alloc] init];
[request setEntity:entityDesc];
NSArray* result = [context executeFetchRequest:request error:&error];
if(!error){
for ( gameCategory in result ) {
[GameCategoryList addObject:gameCategory.categoryName];
}
}
return GameCategoryList;
}
+(void) addGameCategory:(NSString *) categoryName withEntity:(NSEntityDescription *) entityDesc inManagedObjectContext :(NSManagedObjectContext *) context {
GameCategory* aGameCategory=nil;
NSError* error = nil;
NSFetchRequest* request = [[NSFetchRequest alloc] init];
[request setEntity:entityDesc];
//On vérifie qu'il n'y ait pas déjà cette fonction dans la base
NSPredicate* predicat = [NSPredicate predicateWithFormat:@"%K LIKE [c]%@",@"categoryName",categoryName];
[request setPredicate:predicat];
NSArray* result = [context executeFetchRequest:request error:&error];
if(!error){
if([result count]==0){// il faut en créer un
aGameCategory = [[GameCategory alloc] initWithEntity:entityDesc insertIntoManagedObjectContext:context];
aGameCategory.categoryName=categoryName;
}
}
}
+(int) deleteGameCategory:(NSString *) categoryName withEntity:(NSEntityDescription *) entity inManagedObjectContext :(NSManagedObjectContext *) context {
GameCategory *gameCategoryToDelete=nil;
NSError* error = nil;
NSFetchRequest* request = [[NSFetchRequest alloc] init];
[request setEntity:entity];
NSPredicate* predicat = [NSPredicate predicateWithFormat:@"%K LIKE [c]%@",@"categoryName",categoryName];
[request setPredicate:predicat];
NSArray* result = [context executeFetchRequest:request error:&error];
int res=1;
if(!error){
if([result count]==0){
res=0; // aucun objet à supprimer
}
else{
gameCategoryToDelete = result[0];
[context deleteObject:gameCategoryToDelete];
}
}
return res;
}
+(int) updateGameCategory:(NSString *) categoryNameToUpdate withCategoryName :(NSString *) newGameCategory withEntity:(NSEntityDescription *) entity inManagedObjectContext :(NSManagedObjectContext *) context{
NSError *error = nil;
GameCategory *gameCategoryToUpdate=nil;
NSFetchRequest * request = [[NSFetchRequest alloc] init];
[request setEntity:[NSEntityDescription entityForName:@"GameCategory" inManagedObjectContext:context]];
NSPredicate* predicat = [NSPredicate predicateWithFormat:@"%K LIKE [c]%@",@"categoryName",categoryNameToUpdate];
[request setPredicate:predicat];
NSArray* result = [context executeFetchRequest:request error:&error];
int res=1;
if(!error){
if([result count]==0){
res=0; // aucun objet à supprimer
}
else{
gameCategoryToUpdate = result[0];
gameCategoryToUpdate.categoryName=newGameCategory;
}
}
return res;
}
+(GameCategory*) getGameCategory:(NSString *) categoryName withEntity:(NSEntityDescription *) entityDesc inManagedObjectContext :(NSManagedObjectContext *) context {
GameCategory* aGameCategory=nil;
NSError* error = nil;
NSFetchRequest* request = [[NSFetchRequest alloc] init];
[request setEntity:entityDesc];
//On vérifie qu'il n'y ait pas déjà cette fonction dans la base
NSPredicate* predicat = [NSPredicate predicateWithFormat:@"%K LIKE [c]%@",@"categoryName",categoryName];
[request setPredicate:predicat];
NSArray* result = [context executeFetchRequest:request error:&error];
if(!error){
aGameCategory=result[0];
}
return aGameCategory;
}
@end