Sunday, 18 May 2014

Core Data

//------CoreData Fetch from AppDelegate-----//

-(NSManagedObjectContext *) managedObjectContext
{
    NSManagedObjectContext *context = nil;
    id delegate = [[UIApplication sharedApplication] delegate];
    if ([delegate performSelector:@selector(managedObjectContext)]) {
        context = [delegate managedObjectContext];
    }
    return context;
    

}

//--------Adding to CoreData Fields------//

NSManagedObjectContext *context = [self managedObjectContext];
        NSManagedObject *obj = [NSEntityDescription insertNewObjectForEntityForName:@"CashierDB" inManagedObjectContext:context];
        
        [obj setValue:[[[arr_order_details objectAtIndex:0] objectAtIndex:i] objectForKey:@"food_Id"] forKey:@"food_id"];
        
        NSError  *error1 = nil;
        NSError  *error  = nil;
        if(![context save:&error1])
        {
            NSLog(@"Can't Save! %@ %@", error, [error1 localizedDescription]);
        }
    }

//--------Fetching all fields from CoreData--------//

NSManagedObjectContext *context   =   [self managedObjectContext];
    NSFetchRequest  * fetchRequest      =   [[NSFetchRequest alloc]init];
    NSEntityDescription * entity        =   [NSEntityDescription entityForName:@"OrderDB" inManagedObjectContext:context];
    [fetchRequest setEntity:entity];
    NSError     * error;
    NSArray     * fetchedObjects        =   [context executeFetchRequest:fetchRequest error:&error];
    
    if([fetchedObjects count] == 0)
    {
        // NSLog(@" NULLLLLLLLLL");
    }
    else{
        for (NSManagedObject *info in fetchedObjects)
        {
            [nameArray          addObject:[info valueForKey:@"name"]];
            [countArray         addObject:[info valueForKey:@"count"]];
            [imageArray         addObject:[info valueForKey:@"image"]];
            [priceArray         addObject:[info valueForKey:@"price"]];
            [totalpriceArray    addObject:[info valueForKey:@"totalprice"]];
            [detailArray        addObject:[info valueForKey:@"detail"]];
        }
    }

//-----------Deleting All Fields from DB-----//

NSManagedObjectContext *context     = [self managedObjectContext];
    NSFetchRequest *fetchRequestDelete  = [[NSFetchRequest alloc] init];
    NSEntityDescription *entity         = [NSEntityDescription entityForName:@"OrderDB" inManagedObjectContext:context];
    [fetchRequestDelete setEntity:entity];
    NSError *error;
    NSArray *items = [context executeFetchRequest:fetchRequestDelete error:&error];
    for (NSManagedObject *managedObject in items)
    {
        [context deleteObject:managedObject];
    }
    if (![context save:&error])
    {
        NSLog(@"Error deleting  - error:%@",error);
    }

//-----------Deleting a single item from DB------//
BOOL del = NO;
    NSManagedObjectContext  * context    =   [self managedObjectContext];
    NSFetchRequest *fetchRequestDelete   = [[NSFetchRequest alloc] init];
    NSEntityDescription *detail          = [NSEntityDescription entityForName:@"OrderDB" inManagedObjectContext:context];
    [fetchRequestDelete setEntity:detail];
    NSError *error;
    NSArray *items   = [context executeFetchRequest:fetchRequestDelete error:&error];
    for (NSManagedObject *det in items)
    {
        if(del == NO)
        {
            for(int i =0; i<[items count];i++)
            {
                if([nameTodlt isEqualToString:[det valueForKey:@"name"]])
                {
                    [context deleteObject:det];
                    del =   YES;
                    break;
                }
            }
        }
        else
            break;
    }
    if (![context save:&error])
    {
        //NSLog(@"Error deleting  - error:%@",error);
    }

//---------cell for row for indexpath--------//
static NSString *cellID = @"MyCell";
        cell          = (DMF_categoryCell *)[categoryTable dequeueReusableCellWithIdentifier:cellID];
        if(cell==nil)
        {
            NSArray *nibObjects = [[NSBundle mainBundle] loadNibNamed:@"DMF_categoryCell" owner:nil options:nil];
            for(id currentObject in nibObjects)
            {
                if([currentObject isKindOfClass: [DMF_categoryCell class]])
                {
                    cell                                =   (DMF_categoryCell *)currentObject;
                    UIImageView *selectedBackground     =   [[UIImageView alloc] initWithFrame:CGRectMake(0,0, 611,145)];
                    selectedBackground.backgroundColor  =   [UIColor darkGrayColor];
                    [cell setSelectedBackgroundView:selectedBackground];
                }
            }
        }

No comments:

Post a Comment