-
Notifications
You must be signed in to change notification settings - Fork 0
/
EmployeeTool.m
124 lines (101 loc) · 3.86 KB
/
EmployeeTool.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
//
// EmployeeTool.m
// CheckInBLE
//
// Created by onemade on 14-9-11.
// Copyright (c) 2014年 CNPC. All rights reserved.
//
#import "EmployeeTool.h"
@implementation EmployeeTool
single_for_implementation(EmployeeTool)
-(AppDelegate *)appDelegate
{
return [[UIApplication sharedApplication] delegate];
}
-(BOOL)isEmployeeExist:(int)identifier
{
NSError *error = nil;
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"identifier = %@",[NSNumber numberWithInteger:identifier]];
NSFetchRequest *request = [self requestWithPredicate:predicate];
[request setFetchLimit:1];
NSUInteger existCount = [[[self appDelegate] managedObjectContext] countForFetchRequest:request error:&error];
if (existCount > 0) {
return YES;
}
return NO;
}
-(BOOL)addEmployee:(Employee *)emp
{
NSError *error = nil;
BOOL isSaveSuccess = [[[self appDelegate] managedObjectContext] save:&error];
if (!isSaveSuccess) {
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"添加失败" message:[NSString stringWithFormat:@"%@",[error localizedDescription]] delegate:self cancelButtonTitle:@"确定" otherButtonTitles:nil, nil];
[alert show];
}
return isSaveSuccess;
}
-(BOOL)updateEmployee:(Employee *)curEmp
{
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"identifier = %@",curEmp.identifier];
NSFetchRequest *request = [self requestWithPredicate:predicate];
[request setFetchLimit:1];
NSError * error = nil;
NSMutableArray *mutableFetchResult = [[[self appDelegate].managedObjectContext executeFetchRequest:request error:&error] mutableCopy];
if (mutableFetchResult == nil) {
NSLog(@"Error: %@,%@",error,[error userInfo]);
return NO;
}
for (Employee *employee in mutableFetchResult) {
employee.identifier = curEmp.identifier;
[[self appDelegate].managedObjectContext save:&error];
return YES;
}
return NO;
}
#pragma mark - 返回一个查询请求
-(NSFetchRequest *)requestWithPredicate:(NSPredicate *)predicate
{
NSFetchRequest *request = [[NSFetchRequest alloc] init];
NSEntityDescription * entity = [NSEntityDescription entityForName:@"Employee" inManagedObjectContext:[self appDelegate].managedObjectContext];
[request setEntity:entity];
[request setPredicate:predicate];
return request;
}
-(BOOL)deleteEmployee:(Employee *)curEmp
{
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"identifier = %@", curEmp.identifier];
NSFetchRequest *request = [self requestWithPredicate:predicate];
[request setPredicate:predicate];
[request setFetchLimit:1];
NSError * error = nil;
NSMutableArray * mutableFetchResult = [[[self appDelegate].managedObjectContext executeFetchRequest:request error:&error] mutableCopy];
if (mutableFetchResult == nil) {
NSLog(@"Error: %@,%@",error,[error userInfo]);
return NO;
}
for (Employee * employee in mutableFetchResult) {
[[self appDelegate].managedObjectContext deleteObject:employee];
[[self appDelegate].managedObjectContext save:&error];
return YES;
}
return NO;
}
-(NSMutableArray *)fetchAllEmployees
{
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Employee" inManagedObjectContext:[self appDelegate].managedObjectContext];
NSFetchRequest *request = [[NSFetchRequest alloc] init];
[request setEntity:entity];
NSError * error = nil;
return [[[self appDelegate].managedObjectContext executeFetchRequest:request error:&error] mutableCopy];
}
-(Employee *)findEmployeeById:(int)identifier
{
NSMutableArray *allEmployees = [self fetchAllEmployees];
for (Employee *employee in allEmployees) {
if ([employee.identifier intValue] == identifier) {
return employee;
}
}
return nil;
}
@end