//
//  BusinessCollectionViewController.m
//  RealEstateManagement
//
//  Created by Z on 16/7/29.
//  Copyright © 2016年 上海勾芒信息科技. All rights reserved.
//

#import "BusinessCollectionViewController.h"
#import "BusinessFunctionModel.h"
#import "SaleInputListViewController.h"
@interface BusinessCollectionViewController ()

@property (weak, nonatomic) IBOutlet UICollectionViewFlowLayout *layout;
@property (nonatomic, strong) NSMutableArray *arrFunction;
@end

@implementation BusinessCollectionViewController

static NSString *const reuseIdentifier = @"Cell";

- (void)viewDidLoad
{
    [super viewDidLoad];
    
    self.layout.itemSize = CGSizeMake((kWidth - 5 * 10) / 4, (kWidth - 5 * 10) / 4 + 25);
    self.layout.minimumLineSpacing = 10;
    self.layout.minimumInteritemSpacing = 10;
    self.layout.headerReferenceSize = CGSizeMake(kWidth, 40);
    self.collectionView.contentInset = UIEdgeInsetsMake(0, 0, 49, 0);
    
    NSString *plistPath = [[NSBundle mainBundle] pathForResource:@"BusinessItems" ofType:@"plist"];
    NSArray *arrData = [[NSArray alloc] initWithContentsOfFile:plistPath];
    CLog(@"%@", arrData);
    self.arrFunction = [NSMutableArray array];
    for (NSDictionary *dic in arrData) {
        
        //增加菜单需要在BusinessFunctionModel里面增加枚举项
#ifdef DEBUG
        //              没有权限控制
        //        BusinessFunctionModel *model = [BusinessFunctionModel modelObjectWithDictionary:dic];
        //
        //              权限控制
        BusinessFunctionModel *model = [[BusinessFunctionModel alloc] initWithDictionaryPermissionControl:dic];
#else
        BusinessFunctionModel *model = [[BusinessFunctionModel alloc] initWithDictionaryPermissionControl:dic];
#endif
        
        
        if (model.function.count > 0) {
            [self.arrFunction addObject:model];
        }
    }
}

- (UICollectionReusableView *)collectionView:(UICollectionView *)collectionView viewForSupplementaryElementOfKind:(NSString *)kind atIndexPath:(NSIndexPath *)indexPath
{
    UICollectionReusableView *header = nil;
    if (kind == UICollectionElementKindSectionHeader) {
        header = [collectionView dequeueReusableSupplementaryViewOfKind:UICollectionElementKindSectionHeader withReuseIdentifier:@"businessHeader" forIndexPath:indexPath];
    }
    
    UILabel *title = (UILabel *)[header viewWithTag:110];
    UIImageView *image = (UIImageView *)[header viewWithTag:111];
    [image.image resizableImageWithCapInsets:UIEdgeInsetsMake(0, 39, 0, 40) resizingMode:UIImageResizingModeTile];
    NSString *txt = [self.arrFunction[indexPath.section] headerTitle];
    title.text = txt;
    
    return header;
}

- (NSInteger)numberOfSectionsInCollectionView:(UICollectionView *)collectionView
{
    return self.arrFunction.count;
}

- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section
{
    BusinessFunctionModel *model = self.arrFunction[section];
    return model.function.count;
}

- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
{
    UICollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:reuseIdentifier forIndexPath:indexPath];
    BusinessFunctionModel *model = self.arrFunction[indexPath.section];
    BusinessFunction *founction = model.function[indexPath.row];
    UILabel *title = (UILabel *)[cell viewWithTag:110];
    title.text = founction.functionName;
    UIImageView *img = (UIImageView *)[cell viewWithTag:111];
    img.image = [UIImage imageNamed:founction.functionPic];
    // Configure the cell
    
    return cell;
}

- (void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath {
    BusinessFunctionModel *functions = self.arrFunction[indexPath.section];
    BusinessFunction *function = functions.function[indexPath.row];
    switch (function.type) {
        case functionTypeSaleInput:
        {
            SaleInputListViewController *saleVC = [SaleInputListViewController viewControllerWithStoryBoardType:STORYBOARD_TYPE_SALEINPUT];
            [self.navigationController pushViewController:saleVC animated:YES];
        }
            break;
            
        default:
            break;
    }
}

- (void)viewWillAppear:(BOOL)animated
{
    [super viewWillAppear:animated];
    [self.navigationController setNavigationBarHidden:NO animated:NO];
}

- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}


#pragma mark <UICollectionViewDelegate>

/*
 // Uncomment this method to specify if the specified item should be highlighted during tracking
 - (BOOL)collectionView:(UICollectionView *)collectionView shouldHighlightItemAtIndexPath:(NSIndexPath *)indexPath {
 return YES;
 }
 */

/*
 // Uncomment this method to specify if the specified item should be selected
 - (BOOL)collectionView:(UICollectionView *)collectionView shouldSelectItemAtIndexPath:(NSIndexPath *)indexPath {
 return YES;
 }
 */

/*
 // Uncomment these methods to specify if an action menu should be displayed for the specified item, and react to actions performed on the item
 - (BOOL)collectionView:(UICollectionView *)collectionView shouldShowMenuForItemAtIndexPath:(NSIndexPath *)indexPath {
 return NO;
 }
 
 - (BOOL)collectionView:(UICollectionView *)collectionView canPerformAction:(SEL)action forItemAtIndexPath:(NSIndexPath *)indexPath withSender:(id)sender {
 return NO;
 }
 
 - (void)collectionView:(UICollectionView *)collectionView performAction:(SEL)action forItemAtIndexPath:(NSIndexPath *)indexPath withSender:(id)sender {
 
 }
 */

@end
