Today's Menu  Portugal
journal and plan nutrition
EmailMessage+CoreDataClass.m
Go to the documentation of this file.
1 //
2 // EmailMessage+CoreDataClass.m
3 // TodaysMenu
4 //
5 // Created by Don Zeek on 6/7/18.
6 // Copyright © 2018 net.dzeek.y2015.ios.portfolio. All rights reserved.
7 //
8 //
9 
11 
12 @implementation EmailMessage
13 
14 //+ (EmailMessage *) findEmailMessageWithKey:(NSString *)randomkey context:(NSManagedObjectContext *)moc
15 //{
16 // NSArray *dupDoctorN = [self emailMessageWithKey:randomkey context:moc];
17 // EmailMessage *result = [dupDoctorN lastObject];
18 // if (result) {
19 // NSLog(@"EmailMessageAccess.findOrCreate: Reuse EmailMessage with randomkey: %@ name: %@", randomkey, [result subject]);
20 // }
21 // return result;
22 //}
23 // + (EmailMessage *) findOrCreateEmailMessageWithRandomkey:(NSString *)key context:(NSManagedObjectContext *)moc
24 // {
25 // NSArray *dupDoctorN = [self emailMessageWithKey:key context:moc];
26 // EmailMessage *result = [dupDoctorN lastObject];
27 // if (result) {
28 // NSLog(@"EmailMessageAccess.findOrCreate: Reuse EmailMessage with randomkey: %@ name: %@", key, [result subject]);
29 // } else {
30 // NSLog(@"EmailMessageAccess.findOrCreate: Create new EmailMessage with randomkey: %@", key);
31 // result = [NSEntityDescription insertNewObjectForEntityForName:@"EmailMessage" inManagedObjectContext:moc];
32 // NSAssert(result, @"EmailMessage insert failed");
33 // result.randomkey = key;
34 // }
35 // return result;
36 // }
37 // + (EmailMessage *) findOrCreateEmailMessageWithUID:(NSNumber *)uidkey context:(NSManagedObjectContext *)moc
38 // {
39 // NSArray *dupDoctorN = [self eMsgWithUID:uidkey context:moc];
40 // EmailMessage *result = [dupDoctorN lastObject];
41 // if (result) {
42 // NSLog(@"EmailMessageAccess.findOrCreate: Reuse EmailMessage with UID: %@ name: %@", uidkey, [result subject]);
43 // } else {
44 // NSLog(@"EmailMessageAccess.findOrCreate: Create new EmailMessage with UID: %@", uidkey);
45 // result = [NSEntityDescription insertNewObjectForEntityForName:@"EmailMessage" inManagedObjectContext:moc];
46 // NSAssert(result, @"EmailMessage insert failed");
47 // result.uid = uidkey;
48 // }
49 // return result;
50 //
51 // }
52 + (EmailMessage *) findOrCreateEmailMessageWithFileIdentification:(NSString *)googlefileid
53  context:(NSManagedObjectContext *) moc
54 {
55  NSArray *dupDoctorN = [self emailMessageWithFileid:googlefileid context:moc];
56  EmailMessage *result = [dupDoctorN lastObject];
57  if (result) {
58  NSLog(@"EmailMessageAccess.EmailMessageWithFileIdent: Reuse EmailMessage with file-ident: %@ name: %@", googlefileid, [result subject]);
59  } else {
60  NSLog(@"EmailMessageAccess.EmailMessageWithFileIdent: Create new EmailMessage with file-ident: %@", googlefileid);
61  result = [NSEntityDescription insertNewObjectForEntityForName:@"EmailMessage" inManagedObjectContext:moc];
62  NSAssert(result, @"EmailMessage insert failed");
63  result.remoteUniqueIID = googlefileid;
64  }
65  return result;
66 }
67 
68 + (Boolean) deleteEmailMessageWithFileIdentification:(NSString *)googlefileid
69  context:(NSManagedObjectContext *) moc
70 {
71  Boolean ret = NO;
72  if (nil == googlefileid) {
73  NSLog(@"MenuItemAccess.emailMessageWithKey: ERROR: nil googlefileid at MenuItem.emailMessageWithFileid");
74  return NO;
75  }
76  NSManagedObjectModel *mom = moc.persistentStoreCoordinator.managedObjectModel;
77 
78  NSFetchRequest *emailKeyFetchRequest =
79  [mom fetchRequestFromTemplateWithName:@"EmailMessageByFileId" substitutionVariables:@{@"x" : googlefileid} ];
80 
81  emailKeyFetchRequest.fetchBatchSize = 1;
82 
83 
84  NSError *error = nil;
85  NSArray *results = [moc executeFetchRequest:emailKeyFetchRequest error:&error];
86  if (!results) {
87  NSLog(@"ERROR/EmailMessage+CoreData.deleteEmailMessageWithFileIdentification: error.localizedDescription: %@", [error localizedDescription]);
88  ret = NO;
89  }
90 
91  for (NSManagedObject *mobj in results) {
92  [moc deleteObject:mobj];
93  NSError *error;
94  if (![moc save:&error]) {
95  NSLog(@"ERROR/EmailMessage+CoreData.deleteEmailMessageWithFileIdentification: %@", [error description]);
96  ret = NO;
97  } else {
98  ret = YES;
99  }
100  }
101  return ret;
102 }
103 
104 + (NSArray *) eMsgWithUID:(NSNumber *)uidkey context:(NSManagedObjectContext *)moc
105 {
106  if (nil == uidkey) {
107  NSLog(@"ERROR: nil randomkey at EmailMessage.eMsgWithUID");
108  return nil;
109  }
110  NSManagedObjectModel *mom = moc.persistentStoreCoordinator.managedObjectModel;
111 
112  NSFetchRequest *emailMessageKeyFetchRequest =
113  [mom fetchRequestFromTemplateWithName:@"EmailMessageByUID" substitutionVariables:@{@"x" : uidkey} ];
114 
115  emailMessageKeyFetchRequest.fetchBatchSize = 1;
116 
117  NSError *error = nil;
118  NSArray *results = [moc executeFetchRequest:emailMessageKeyFetchRequest error:&error];
119  if (!results) {
120  NSLog(@"EmailMessageAccess.eMsgWithUID: error.localizedDescription: %@", [error localizedDescription]);
121  }
122 
123  return results;
124 }
125 + (NSArray *) emailMessageWithKey:(NSString *)randomkey context:(NSManagedObjectContext *)moc
126 {
127  if (nil == randomkey) {
128  // NSLog(@"ERROR: nil randomkey at MenuItem.emailMessageWithKey");
129  return nil;
130  }
131  NSManagedObjectModel *mom = moc.persistentStoreCoordinator.managedObjectModel;
132 
133  NSFetchRequest *emailMessageKeyFetchRequest =
134  [mom fetchRequestFromTemplateWithName:@"EmailMessageByKey" substitutionVariables:@{@"x" : randomkey} ];
135 
136  emailMessageKeyFetchRequest.fetchBatchSize = 1;
137 
138  NSError *error = nil;
139  NSArray *results = [moc executeFetchRequest:emailMessageKeyFetchRequest error:&error];
140  if (!results) {
141  NSLog(@"MenuItemAccess.emailMessageWithKey: error.localizedDescription: %@", [error localizedDescription]);
142  }
143 
144  return results;
145 }
146 
147 + (NSArray *) emailMessageWithFileid:(NSString *)googlefileid context:(NSManagedObjectContext *)moc
148 {
149  if (nil == googlefileid) {
150  NSLog(@"MenuItemAccess.emailMessageWithKey: ERROR: nil googlefileid at MenuItem.emailMessageWithFileid");
151  return nil;
152  }
153  NSManagedObjectModel *mom = moc.persistentStoreCoordinator.managedObjectModel;
154 
155  NSFetchRequest *emailKeyFetchRequest =
156  [mom fetchRequestFromTemplateWithName:@"EmailMessageByFileId" substitutionVariables:@{@"x" : googlefileid} ];
157 
158  emailKeyFetchRequest.fetchBatchSize = 1;
159 
160  NSError *error = nil;
161  NSArray *results = [moc executeFetchRequest:emailKeyFetchRequest error:&error];
162  if (!results) {
163  NSLog(@"%@", error.localizedDescription);
164  }
165 
166  return results;
167 }
168 @end
NSArray * emailMessageWithFileid:context:(NSString *googlefileid, [context] NSManagedObjectContext *moc)