Today's Menu  Portugal
journal and plan nutrition
Instance Methods | Class Methods | Properties | List of all members
Meal Class Reference

#import <Meal+CoreDataClass.h>

Inheritance diagram for Meal:
Inheritance graph
[legend]
Collaboration diagram for Meal:
Collaboration graph
[legend]

Instance Methods

(void) - addContainedItemObject:
 
(void) - removeContainedItemObject:
 
(void) - addContainedItem:
 
(void) - removeContainedItem:
 

Class Methods

(NSArray< Meal * > *) + findMealsWithDate:context:
 
(NSArray< Meal * > *) + findOrCreateMealWithDate:context:
 
(NSArray< Meal * > *) + findMealsByMonth:context:
 
(NSArray *) + retrieveAllMealsForGallery:context:
 
(void) + deleteMealsByMonth:context:
 
(void) + deleteMealByRandomkey:context:
 
(NSArray *) + mealByDate:context: [implementation]
 
(NSArray *) + mealByDay:context: [implementation]
 
(NSFetchRequest< Meal * > *) + fetchRequest
 

Properties

NSDate * consumeDate
 
NSNumber * galleryNumber
 
NSDate * orderDate
 
NSData * photo
 
NSString * randomkey
 
NSNumber * rating
 
NSString * caption
 
NSSet< MenuItem * > * containedItem
 

Detailed Description

Definition at line 17 of file Meal+CoreDataClass.h.

Method Documentation

◆ addContainedItem:()

- (void) addContainedItem: (NSSet< MenuItem * > *)  values

Provided by category Meal(CoreDataGeneratedAccessors).

◆ addContainedItemObject:()

- (void) addContainedItemObject: (MenuItem *)  value

Provided by category Meal(CoreDataGeneratedAccessors).

◆ deleteMealByRandomkey:context:()

+ (void) deleteMealByRandomkey: (NSString *)  deleteKey
context: (NSManagedObjectContext *)  moc 

Definition at line 156 of file Meal+CoreDataClass.m.

156  :(NSString *)deleteKey context:(NSManagedObjectContext *)moc
157 {
158  NSManagedObjectModel *mom = moc.persistentStoreCoordinator.managedObjectModel;
159 
160  NSFetchRequest *mealKeyFetchRequest =
161  [mom fetchRequestFromTemplateWithName:@"MealByRandomkey"
162  substitutionVariables:@{@"randomkey" : deleteKey} ];
163  mealKeyFetchRequest.fetchBatchSize = 10;
164 
165  NSError *error = nil;
166  NSArray *results = [moc executeFetchRequest:mealKeyFetchRequest error:&error];
167  if (error) {
168  NSLog(@"ERROR/Meal+CoreData.mealByDay: error.localizedDescription: %@", [error localizedDescription]);
169  } else if (results) {
170 
171  for (NSManagedObject *mobj in results) {
172  [moc deleteObject:mobj];
173  NSError *error;
174  if (![moc save:&error]) {
175  NSLog(@"ERROR/Meal.deleteMealsByMonth: %@", [error description]);
176  }
177  }
178  } else {
179  assert(error || results);
180  }
181 }

◆ deleteMealsByMonth:context:()

+ (void) deleteMealsByMonth: (NSDate *)  nowdate
context: (NSManagedObjectContext *)  moc 

Definition at line 182 of file Meal+CoreDataClass.m.

182  :(NSDate *)nowdate context:(NSManagedObjectContext *)moc
183 {
184  if (nil == nowdate) {
185  NSLog(@"Meal.deleteMealsByMonth: ERROR: nil nowdate");
186  // return nil;
187  }
188  NSDateComponents *components = [[NSCalendar currentCalendar]
189  components:NSCalendarUnitYear|NSCalendarUnitMonth
190  fromDate:nowdate];
191  NSManagedObjectModel *mom = moc.persistentStoreCoordinator.managedObjectModel;
192 
193 
194  NSDate *dayBegin = [[NSCalendar currentCalendar] dateFromComponents:components];
195  // NSTimeInterval ti = 86400.0; // seconds in the day
196  NSInteger currentMonth = [components month];
197  NSInteger nextMonth = currentMonth + 1;
198  [components setMonth:nextMonth];
199  NSDate *dayEnd = [[NSCalendar currentCalendar] dateFromComponents:components];
200  NSLog(@"Meal.mealByMonth: after %@, before %@", [dayBegin description], [dayEnd description]);
201 
202  NSFetchRequest *mealByDateRangeFetchRequest =
203  [mom fetchRequestFromTemplateWithName:@"MealByDate"
204  substitutionVariables:@{@"begin_date" : dayBegin,
205  @"end_date" : dayEnd} ];
206  mealByDateRangeFetchRequest.fetchBatchSize = 10;
207 
208  NSError *error = nil;
209  NSArray *results = [moc executeFetchRequest:mealByDateRangeFetchRequest error:&error];
210  if (!results) {
211  NSLog(@"ERROR/Meal+CoreData.mealByDay: error.localizedDescription: %@", [error localizedDescription]);
212  }
213 
214  for (NSManagedObject *mobj in results) {
215  [moc deleteObject:mobj];
216  NSError *error;
217  if (![moc save:&error]) {
218  NSLog(@"ERROR/Meal.deleteMealsByMonth: %@", [error description]);
219  }
220  }
221 }

◆ fetchRequest()

+ (NSFetchRequest< Meal * > *) fetchRequest

Provided by category Meal(CoreDataProperties).

Definition at line 13 of file Meal+CoreDataProperties.m.

13  {
14  return [NSFetchRequest fetchRequestWithEntityName:@"Meal"];
15 }

◆ findMealsByMonth:context:()

+ (NSArray *) findMealsByMonth: (NSDate *)  nowdate
context: (NSManagedObjectContext *)  moc 

Definition at line 71 of file Meal+CoreDataClass.m.

71  :(NSDate *)nowdate context:(NSManagedObjectContext *)moc
72 {
73  if (nil == nowdate) {
74  NSLog(@"Meal.mealByDay: ERROR: nil nowdate");
75  return nil;
76  }
77  NSDateComponents *components = [[NSCalendar currentCalendar]
78  components:NSCalendarUnitYear|NSCalendarUnitMonth
79  fromDate:nowdate];
80  NSManagedObjectModel *mom = moc.persistentStoreCoordinator.managedObjectModel;
81 
82 
83  NSDate *dayBegin = [[NSCalendar currentCalendar] dateFromComponents:components];
84  // NSTimeInterval ti = 86400.0; // seconds in the day
85  NSInteger currentMonth = [components month];
86  NSInteger nextMonth = currentMonth + 1;
87  [components setMonth:nextMonth];
88  NSDate *dayEnd = [[NSCalendar currentCalendar] dateFromComponents:components];
89  NSLog(@"Meal.mealByMonth: after %@, before %@", [dayBegin description], [dayEnd description]);
90 
91  NSFetchRequest *mealDateFetchRequest =
92  [mom fetchRequestFromTemplateWithName:@"MealByDate"
93  substitutionVariables:@{@"begin_date" : dayBegin,
94  @"end_date" : dayEnd} ];
95  mealDateFetchRequest.fetchBatchSize = 10;
96 
97  NSError *error = nil;
98  NSArray *results = [moc executeFetchRequest:mealDateFetchRequest error:&error];
99  if (!results) {
100  NSLog(@"Meal+CoreData.mealByDay: error.localizedDescription: %@", [error localizedDescription]);
101  }
102 
103  return results;
104 }

◆ findMealsWithDate:context:()

+ (NSArray< Meal * > *) findMealsWithDate: (NSDate *)  findDate
context: (NSManagedObjectContext *)  moc 

Definition at line 30 of file Meal+CoreDataClass.m.

30  :(NSDate *)findDate context:(NSManagedObjectContext *)moc
31 {
32  NSArray<Meal *> *result = [self mealByDay:findDate context:moc];
33  if (0 < [result count]) {
34  NSLog(@"Meal+CoreData.findMealsWithDate: Found Meals with day date: %lu", (unsigned long)[result count]);
35  } else {
36  NSLog(@"Meal+CoreData.findMealsWithDate: No Meal day date: \ndate: %@ \ndate description: %@", findDate, [findDate description]);
37  }
38  return result;
39 }

◆ findOrCreateMealWithDate:context:()

+ (NSArray< Meal * > *) findOrCreateMealWithDate: (NSDate *)  findDate
context: (NSManagedObjectContext *)  moc 

Definition at line 15 of file Meal+CoreDataClass.m.

15  :(NSDate *)findDate context:(NSManagedObjectContext *)moc
16 {
17  NSArray<Meal *> *result = [self mealByDate:findDate context:moc];
18  Meal *singleMeal;
19  if (0 < [result count]) {
20  NSLog(@"Meal+CoreData.findOrCreate: ERR: Reuse Meals with nowdate?: %lu", (unsigned long)[result count]);
21  } else {
22  NSLog(@"Meal+CoreData.findOrCreate: Create new Meal with date: %@", findDate);
23  singleMeal = [NSEntityDescription insertNewObjectForEntityForName:@"Meal" inManagedObjectContext:moc];
24  NSAssert(singleMeal, @"Meal insert failed");
25  singleMeal.consumeDate = findDate;
26  result = [[NSArray alloc] initWithObjects:singleMeal, nil];
27  }
28  return result;
29 }
NSDate * consumeDate

◆ mealByDate:context:()

+ (NSArray *) mealByDate: (NSDate *)  nowdate
context: (NSManagedObjectContext *)  moc 
implementation

Definition at line 52 of file Meal+CoreDataClass.m.

52  :(NSDate *)nowdate context:(NSManagedObjectContext *)moc
53 {
54  if (nil == nowdate) {
55  NSLog(@"ERROR: nil nowdate at Meal.mealByDate");
56  return nil;
57  }
58  NSManagedObjectModel *mom = moc.persistentStoreCoordinator.managedObjectModel;
59  NSFetchRequest *mealDateFetchRequest =
60  [mom fetchRequestFromTemplateWithName:@"MealByExactDate"
61  substitutionVariables:@{@"orderDate" : nowdate} ];
62  mealDateFetchRequest.fetchBatchSize = 10;
63 
64  NSError *error = nil;
65  NSArray *results = [moc executeFetchRequest:mealDateFetchRequest error:&error];
66  if (!results) {
67  NSLog(@"Meal+CoreData.mealByDate: error.localizedDescription: %@", [error localizedDescription]);
68  }
69  return results;
70 }

◆ mealByDay:context:()

+ (NSArray *) mealByDay: (NSDate *)  nowdate
context: (NSManagedObjectContext *)  moc 
implementation

Definition at line 120 of file Meal+CoreDataClass.m.

120  :(NSDate *)nowdate context:(NSManagedObjectContext *)moc
121 {
122  if (nil == nowdate) {
123  NSLog(@"Meal.mealByDay: ERROR: nil nowdate");
124  return nil;
125  }
126  NSDateComponents *components = [[NSCalendar currentCalendar]
127  components:NSCalendarUnitYear|NSCalendarUnitMonth|NSCalendarUnitDay
128  fromDate:nowdate];
129  NSManagedObjectModel *mom = moc.persistentStoreCoordinator.managedObjectModel;
130 
131 
132  NSDate *dayBegin = [[NSCalendar currentCalendar] dateFromComponents:components];
133  NSTimeInterval ti = 86400.0; // seconds in the day
134  NSDate *dayEnd = [dayBegin dateByAddingTimeInterval:ti];
135  NSLog(@"Meal+CoreData.mealByDay: \n dayBegin: %@ \n dayEnd: %@", dayBegin,dayEnd);
136  // Z5LocalDataController *localData = [[Z5DataController sharedInstance] localDataController];
137  // NSDate *dayBeginLocal = [localData toLocalTime:dayBegin];
138  // NSDate *dayEndLocal = [localData toLocalTime:dayEnd];
139  // NSLog(@"Meal+CoreData.mealByDay/before GMT-mod: after %@, before %@", [dayBegin description], [dayEnd description]);
140  // NSLog(@"Meal+CoreData.mealByDay: after %@, before %@", [dayBeginLocal description], [dayEndLocal description]);
141 
142  NSFetchRequest *mealByDateRangeFetchRequest =
143  [mom fetchRequestFromTemplateWithName:@"MealByDate"
144  substitutionVariables:@{@"begin_date" : dayBegin,
145  @"end_date" : dayEnd} ];
146  mealByDateRangeFetchRequest.fetchBatchSize = 10;
147 
148  NSError *error = nil;
149  NSArray *results = [moc executeFetchRequest:mealByDateRangeFetchRequest error:&error];
150  if (!results) {
151  NSLog(@"Meal+CoreData.mealByDay: error.localizedDescription: %@", [error localizedDescription]);
152  }
153 
154  return results;
155 }

◆ removeContainedItem:()

- (void) removeContainedItem: (NSSet< MenuItem * > *)  values

Provided by category Meal(CoreDataGeneratedAccessors).

◆ removeContainedItemObject:()

- (void) removeContainedItemObject: (MenuItem *)  value

Provided by category Meal(CoreDataGeneratedAccessors).

◆ retrieveAllMealsForGallery:context:()

+ (NSArray *) retrieveAllMealsForGallery: (NSNumber *)  mealGallery
context: (NSManagedObjectContext *)  moc 

Definition at line 105 of file Meal+CoreDataClass.m.

105  :(NSNumber *)mealGallery context:(NSManagedObjectContext *)moc
106 {
107  NSManagedObjectModel *mom = moc.persistentStoreCoordinator.managedObjectModel;
108  NSFetchRequest *allMealsFetchRequest =
109  [mom fetchRequestFromTemplateWithName:@"FetchAllMeals" substitutionVariables:@{@"x":mealGallery}];
110  allMealsFetchRequest.fetchBatchSize = 10;
111 
112  NSError *error = nil;
113  NSArray *results = [moc executeFetchRequest:allMealsFetchRequest error:&error];
114  if (!results) {
115  NSLog(@"Meal+CoreData.mealByDay: error.localizedDescription: %@", [error localizedDescription]);
116  }
117 
118  return results;
119 }

Property Documentation

◆ caption

- (NSString*) caption
readwritenonatomiccopy

Provided by category Meal(CoreDataProperties).

Definition at line 24 of file Meal+CoreDataProperties.h.

◆ consumeDate

- (NSDate*) consumeDate
readwritenonatomiccopy

Provided by category Meal(CoreDataProperties).

Definition at line 18 of file Meal+CoreDataProperties.h.

◆ containedItem

- (NSSet<MenuItem *>*) containedItem
readwritenonatomicretain

Provided by category Meal(CoreDataProperties).

Definition at line 25 of file Meal+CoreDataProperties.h.

◆ galleryNumber

- (NSNumber*) galleryNumber
readwritenonatomiccopy

Provided by category Meal(CoreDataProperties).

Definition at line 19 of file Meal+CoreDataProperties.h.

◆ orderDate

- (NSDate*) orderDate
readwritenonatomiccopy

Provided by category Meal(CoreDataProperties).

Definition at line 20 of file Meal+CoreDataProperties.h.

◆ photo

- (NSData*) photo
readwritenonatomicretain

Provided by category Meal(CoreDataProperties).

Definition at line 21 of file Meal+CoreDataProperties.h.

◆ randomkey

- (NSString*) randomkey
readwritenonatomiccopy

Provided by category Meal(CoreDataProperties).

Definition at line 22 of file Meal+CoreDataProperties.h.

◆ rating

- (NSNumber*) rating
readwritenonatomiccopy

Provided by category Meal(CoreDataProperties).

Definition at line 23 of file Meal+CoreDataProperties.h.


The documentation for this class was generated from the following files: