//
//  KWMFilterUtil.m
//  iCemarose
//
//  Created by HouWeiBin on 2017/6/8.
//  Copyright © 2017年 kollway. All rights reserved.
//

#import "KWMFilterUtil.h"
#import "KWMFilter.h"
#import "KWMStringUtil.h"

@implementation KWMFilterUtil

+(NSMutableArray<NSString *> *)getTagsByFilterArray:(NSArray<KWMFilter *> *)filterArray{
    NSMutableArray<NSString *> *tags = [NSMutableArray array];
    for(KWMFilter *filter in filterArray){
        if(filter.tags){
            for(NSString *tag in filter.tags){
                [tags addObject:[self transformTag:filter tag:tag]];
            }
        }
    }
    return tags;
}

+(NSString *)transformTag:(KWMFilter *)filter tag:(NSString *)tag{
    
    NSString *mTag = [tag copy];
    
    //"Spring/Summer 2017" =>  Spring-Summer-2017
    if([filter.group isEqualToString:@"SEASON"]){
        mTag = [mTag stringByReplacingOccurrencesOfString:@"/" withString:@"-"];
        return [tag stringByReplacingOccurrencesOfString:@" " withString:@"-"];
    }
    
    //1 month=> size-01m
    else if([filter.group isEqualToString:@"SIZE"]){
        //不合规则的区别待遇
        if([tag isEqualToString:@"0 month"]){
            return @"size-0m";
        }else if([tag isEqualToString:@"3 month"]){
            return @"size-3m";
        }else if([tag isEqualToString:@"3 month"]){
            return @"size-9m";
        }
        
        NSString *numberString = [self getNumberString:tag];
        numberString = numberString.length == 1 ? [NSString stringWithFormat:@"0%@",numberString]:numberString;
        if([tag rangeOfString:@"year"].location == NSNotFound){
            return [NSString stringWithFormat:@"size-%@m",numberString];
        }else{
            return [NSString stringWithFormat:@"size-%@a",numberString];
        }
    }
    
    //12 => shoe-size-1
    else if([filter.group isEqualToString:@"Shoe Size"]){
        return [NSString stringWithFormat:@"shoe-size-%@",tag];
    }
    
    //Trousers & Shorts => trousers-shorts
    else if([filter.group isEqualToString:@"PRODUCT TYPE"]){
        return [KWMStringUtil deleteOtherCharExceptLetterWithLine:tag];
    }
    
    return mTag;
}


+(NSString *)getNumberString:(NSString *)string{
    NSCharacterSet* nonDigits =[[NSCharacterSet decimalDigitCharacterSet] invertedSet];
    return [string stringByTrimmingCharactersInSet:nonDigits];
}

@end