148 lines
4.6 KiB
Objective-C
148 lines
4.6 KiB
Objective-C
//
|
|
// CodFis+Helper.m
|
|
// Pods
|
|
//
|
|
// Created by Giuseppe Nucifora on 08/07/15.
|
|
//
|
|
//
|
|
|
|
#import "CodFis+Helper.h"
|
|
|
|
#define DEF_SURNAME_COD_LENGHT 3
|
|
#define DEF_NAME_COD_LENGHT 3
|
|
|
|
@implementation CodFis_Helper
|
|
|
|
- (instancetype) init {
|
|
self = [super init];
|
|
if (self) {
|
|
|
|
}
|
|
return self;
|
|
}
|
|
|
|
- (NSString*) calculate {
|
|
|
|
NSMutableString *resposeString = [[NSMutableString alloc] init];
|
|
|
|
[resposeString appendString:[self getCodFisSurname]];
|
|
|
|
[resposeString appendString:[self getCodFisName]];
|
|
|
|
return resposeString;
|
|
}
|
|
|
|
- (BOOL) check:(NSString*) codFis {
|
|
return YES;
|
|
}
|
|
|
|
- (NSString *) getCodFisSurname {
|
|
NSMutableString *resultString = [[NSMutableString alloc] init];
|
|
NSString *vowels = @"aeiouàèìòùáéíóúäëïöü";
|
|
NSString *chars = @"qwrtypsdfghjklzxcvbnm";
|
|
|
|
NSArray* consonantsArray = [[_surname lowercaseString] componentsSeparatedByCharactersInSet:[NSCharacterSet characterSetWithCharactersInString:vowels]];
|
|
NSArray* vowelArray = [[_surname lowercaseString] componentsSeparatedByCharactersInSet:[NSCharacterSet characterSetWithCharactersInString:chars]];
|
|
|
|
for (NSString *chr in consonantsArray) {
|
|
if (![chr isEqualToString:@""]) {
|
|
[resultString appendString:chr];
|
|
}
|
|
}
|
|
|
|
if ([resultString length] >= DEF_SURNAME_COD_LENGHT) {
|
|
return [[resultString substringToIndex:DEF_SURNAME_COD_LENGHT] uppercaseString];
|
|
}
|
|
|
|
for (NSString *chr in vowelArray) {
|
|
if (![chr isEqualToString:@""]) {
|
|
[resultString appendString:chr];
|
|
}
|
|
}
|
|
|
|
if ([resultString length] >= DEF_SURNAME_COD_LENGHT) {
|
|
[resultString setString:[resultString substringToIndex:DEF_SURNAME_COD_LENGHT]];
|
|
}
|
|
else {
|
|
for(NSUInteger i = [resultString length]; i< DEF_SURNAME_COD_LENGHT;i++){
|
|
[resultString appendString:@"x"];
|
|
}
|
|
}
|
|
return [resultString uppercaseString];
|
|
}
|
|
|
|
- (NSString *) getCodFisName {
|
|
NSMutableString *resultString = [[NSMutableString alloc] init];
|
|
NSString *vowels = @"aeiouàèìòùáéíóúäëïöü";
|
|
NSString *chars = @"qwrtypsdfghjklzxcvbnm";
|
|
|
|
NSMutableArray* consonantsArray = [NSMutableArray arrayWithArray:[[_name lowercaseString] componentsSeparatedByCharactersInSet:[NSCharacterSet characterSetWithCharactersInString:vowels]]];
|
|
NSArray* vowelArray = [NSMutableArray arrayWithArray:[[_name lowercaseString] componentsSeparatedByCharactersInSet:[NSCharacterSet characterSetWithCharactersInString:chars]]];
|
|
|
|
for (NSString *chr in [consonantsArray mutableCopy]) {
|
|
if ([chr isEqualToString:@""]) {
|
|
[consonantsArray removeObject:chr];
|
|
}
|
|
}
|
|
|
|
if ([consonantsArray count] > DEF_NAME_COD_LENGHT) {
|
|
[resultString appendString:[consonantsArray objectAtIndex:0]];
|
|
[resultString appendString:[consonantsArray objectAtIndex:2]];
|
|
[resultString appendString:[consonantsArray objectAtIndex:3]];
|
|
}
|
|
else {
|
|
for (NSString *chr in consonantsArray) {
|
|
if (![chr isEqualToString:@""]) {
|
|
[resultString appendString:chr];
|
|
}
|
|
}
|
|
|
|
if ([resultString length] >= DEF_SURNAME_COD_LENGHT) {
|
|
return [[resultString substringToIndex:DEF_SURNAME_COD_LENGHT] uppercaseString];
|
|
}
|
|
|
|
for (NSString *chr in vowelArray) {
|
|
if (![chr isEqualToString:@""]) {
|
|
[resultString appendString:chr];
|
|
}
|
|
}
|
|
|
|
if ([resultString length] >= DEF_SURNAME_COD_LENGHT) {
|
|
[resultString setString:[resultString substringToIndex:DEF_SURNAME_COD_LENGHT]];
|
|
}
|
|
else {
|
|
for(NSUInteger i = [resultString length]; i< DEF_SURNAME_COD_LENGHT;i++){
|
|
[resultString appendString:@"x"];
|
|
}
|
|
}
|
|
}
|
|
|
|
/*for (NSString *chr in consonantsArray) {
|
|
if (![chr isEqualToString:@""]) {
|
|
[resultString appendString:chr];
|
|
}
|
|
}
|
|
|
|
if ([resultString length] >= DEF_SURNAME_COD_LENGHT) {
|
|
return [[resultString substringToIndex:DEF_SURNAME_COD_LENGHT] uppercaseString];
|
|
}
|
|
|
|
for (NSString *chr in vowelArray) {
|
|
if (![chr isEqualToString:@""]) {
|
|
[resultString appendString:chr];
|
|
}
|
|
}
|
|
|
|
if ([resultString length] >= DEF_SURNAME_COD_LENGHT) {
|
|
[resultString setString:[resultString substringToIndex:DEF_SURNAME_COD_LENGHT]];
|
|
}
|
|
else {
|
|
for(NSUInteger i = [resultString length]; i< DEF_SURNAME_COD_LENGHT;i++){
|
|
[resultString appendString:@"x"];
|
|
}
|
|
}*/
|
|
return [resultString uppercaseString];
|
|
}
|
|
|
|
@end
|