Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- - (TTEventVO *)updateEventWithDictionary:(NSDictionary *)eventItem isTop:(BOOL)top groupName:(NSString *)groupName ignoreSaved:(BOOL)ignoreSaved
- {
- TTEventVO *dbEvent = nil;
- if (!ignoreSaved) {
- dbEvent = [TTEventVO MR_findFirstByAttribute:@"serverID" withValue:eventItem[@"ni"]];
- }
- if (!dbEvent) {
- dbEvent = [TTEventVO MR_createEntity];
- dbEvent.serverID = eventItem[@"ni"];
- dbEvent.code = eventItem[@"code"];
- dbEvent.eventMethod = eventItem[@"ev"];
- dbEvent.homeTeamId = eventItem[@"hi"];
- dbEvent.homeTeam = [NSString stringFromLexicon:eventItem[@"lexicon"] withKey:dbEvent.homeTeamId];
- dbEvent.visitorTeamId = eventItem[@"ai"];
- dbEvent.visitorTeam = [NSString stringFromLexicon:eventItem[@"lexicon"] withKey:dbEvent.visitorTeamId];
- dbEvent.priority = eventItem[@"priority"];
- dbEvent.tournament = [TTTournamentVO MR_findFirstByAttribute:@"serverID" withValue:eventItem[@"ti"]];
- dbEvent.kickOffDate = [NSDate dateWithTimeIntervalSince1970:[eventItem[@"kdt"] doubleValue]/1000];
- }
- if (!dbEvent.tournament) {
- TTTournamentVO *tournament = [TTTournamentVO MR_findFirstByAttribute:@"serverID" withValue:eventItem[@"ti"]];
- if (!tournament) {
- TTSportVO *sport = [TTSportVO MR_findFirstByAttribute:@"serverID" withValue:eventItem[@"si"]];
- if (!sport) {
- sport = [TTSportVO MR_createEntity];
- sport.serverID = eventItem[@"si"];
- }
- TTCountryVO *country = [TTCountryVO MR_createEntity];
- country.serverID = @"";
- country.name = [NSString stringFromLexicon:eventItem[@"lexicon"] withKey:eventItem[@"ci"]];
- country.sport = sport;
- TTTournamentVO *dbTournament = [TTTournamentVO MR_createEntity];
- dbTournament.serverID = @"";
- dbTournament.name = [NSString stringFromLexicon:eventItem[@"lexicon"] withKey:eventItem[@"ti"]];
- dbTournament.country = country;
- dbEvent.tournament = dbTournament;
- } else {
- dbEvent.tournament = tournament;
- }
- }
- NSString *sportID = eventItem[@"si"];
- NSArray *markets = eventItem[@"markets"];
- NSUInteger extraMarkets = (markets.count > 0) ? markets.count - 1 : 0;
- if (eventItem[@"num"]) {
- dbEvent.availableMarkets = @([eventItem[@"num"] integerValue] + extraMarkets);
- } else {
- dbEvent.availableMarkets = @(extraMarkets);
- }
- for (int i=0; i<markets.count; i++)
- {
- NSDictionary *marketItem = markets[i];
- NSString *nameGroup = @"";
- if (([marketItem[@"i"] integerValue] > 81 && [marketItem[@"i"] integerValue] < 400) || [marketItem[@"i"] integerValue] > 500) {
- nameGroup = [NSString stringFromLexicon:eventItem[@"lexicon"] withKey:[NSString stringWithFormat:@"%@_%@_short", dbEvent.serverID, marketItem[@"i"]]];
- } else {
- nameGroup = [NSString stringFromLexicon:self.bettingConfig[@"lexicon"] withKey:[NSString stringWithFormat:@"def_%@_%@_short", sportID, marketItem[@"i"]]];
- }
- if (!groupName || [nameGroup isEqualToString:groupName]) {
- NSString *marketID = [NSString stringWithFormat:@"%@_%@", dbEvent.serverID, marketItem[@"i"]];
- TTMarketVO *dbMarket = nil;
- if (!ignoreSaved) {
- dbMarket = [TTMarketVO MR_findFirstByAttribute:@"serverID" withValue:marketID];
- }
- if (!dbMarket) {
- dbMarket = [TTMarketVO MR_createEntity];
- dbMarket.serverID = marketID;
- dbMarket.code = marketItem[@"i"]; // [NSString stringWithFormat:@"%li", [marketItem[@"i"] integerValue]];
- dbMarket.event = dbEvent;
- dbMarket.name = [self nameForMarket:dbMarket marketLexicon:eventItem[@"lexicon"]];
- dbMarket.nameShort = [self nameShortForMarket:dbMarket marketLexicon:eventItem[@"lexicon"]];
- }
- dbMarket.active = @(YES);
- dbMarket.order = @([self orderFromConfig:self.bettingConfig sportID:sportID marketID:dbMarket.code]);
- dbMarket.orderName = (top) ? [NSString stringWithFormat:@"%04ld", (long)[dbMarket.order integerValue]] : @"9999";
- dbMarket.maxSelections = marketItem[@"maxs"];
- dbMarket.minSelections = marketItem[@"mins"];
- dbMarket.columns = ([marketItem[@"ct"] integerValue] > 0) ? marketItem[@"ct"] : @(3);
- dbMarket.status = marketItem[@"sts"];
- if ([marketItem[@"i"] integerValue] > 81) {
- dbMarket.help = [NSString stringFromLexicon:self.bettingConfig[@"lexicon"] withKey:[NSString stringWithFormat:@"def_%@_%@_t", sportID, marketItem[@"fi"]]];
- } else {
- dbMarket.help = [NSString stringFromLexicon:self.bettingConfig[@"lexicon"] withKey:[NSString stringWithFormat:@"def_%@_%@_t", sportID, dbMarket.code]];
- }
- if (marketItem[@"mgi"][@"1"][0]) {
- dbMarket.group = [NSNumber numberWithInteger:[marketItem[@"mgi"][@"1"][0] integerValue]];
- }
- if ([dbMarket.group isEqual:@(11111111)]) {
- dbMarket.groupName = @"Overige weddenschappen";
- } else {
- dbMarket.groupName = [NSString stringFromLexicon:self.bettingConfig[@"lexicon"] withKey:[NSString stringWithFormat:@"g_%@_%@_1", sportID, dbMarket.group]];
- }
- dbMarket.varFlag = marketItem[@"v"];
- dbMarket.varFlag1 = marketItem[@"v1"];
- dbMarket.varFlag2 = marketItem[@"v2"];
- // http://194.30.240.228:8080/examples/delottov2/betGameLexicon.html
- if ([dbMarket.name rangeOfString:@"|HC|"].location != NSNotFound) {
- NSString *template = (dbMarket.varFlag1.floatValue >= 0) ? @"%@-0" : @"0%@";
- dbMarket.name = [dbMarket.name stringByReplacingOccurrencesOfString:@"|HC|" withString:[NSString stringWithFormat:template, dbMarket.varFlag1.stringValue]];
- dbMarket.nameShort = [dbMarket.nameShort stringByReplacingOccurrencesOfString:@"|HC|" withString:[NSString stringWithFormat:template, dbMarket.varFlag1.stringValue]];
- }
- if ([dbMarket.name rangeOfString:@"|R|"].location != NSNotFound) {
- }
- if ([dbMarket.name rangeOfString:@"|i|"].location != NSNotFound) {
- for (NSDictionary *indexedMarket in marketItem[@"indexedMarkets"]) {
- if ([indexedMarket[@"s"] integerValue] == 1) {
- NSInteger value = [indexedMarket[@"i"] integerValue]+1;
- NSString *valueString = [NSString stringWithFormat:@"ordinalNumber%ld", (long)value];
- dbMarket.name = [dbMarket.name stringByReplacingOccurrencesOfString:@"|i|" withString:NSLocalizedString(valueString, nil)];
- dbMarket.nameShort = [dbMarket.nameShort stringByReplacingOccurrencesOfString:@"|i|" withString:NSLocalizedString(valueString, nil)];
- }
- }
- }
- if ([dbMarket.name rangeOfString:@"|HCS|"].location != NSNotFound) {
- dbMarket.name = [dbMarket.name stringByReplacingOccurrencesOfString:@"|HCS|" withString:@""];
- dbMarket.nameShort = [dbMarket.nameShort stringByReplacingOccurrencesOfString:@"|HCS|" withString:@""];
- }
- if ([dbMarket.name rangeOfString:@"|lim|"].location != NSNotFound) {
- CGFloat floatVal = 0.0;
- if (i == 0) {
- floatVal = [dbMarket.varFlag1 floatValue];
- } else if (i == 1 && [dbMarket.varFlag2 isEqual:@(0)]) {
- floatVal = [dbMarket.varFlag1 floatValue]*(-1);
- } else if (i == 1) {
- floatVal = [dbMarket.varFlag2 floatValue];
- }
- if (floatVal == 0) {
- dbMarket.name = [dbMarket.name stringByReplacingOccurrencesOfString:@"|lim|" withString:@""];
- dbMarket.nameShort = [dbMarket.name stringByReplacingOccurrencesOfString:@"|lim|" withString:@""];
- } else {
- dbMarket.name = [dbMarket.name stringByReplacingOccurrencesOfString:@"|lim|" withString:[NSString stringWithFormat:@"%.1f", floatVal]];
- dbMarket.nameShort = [dbMarket.name stringByReplacingOccurrencesOfString:@"|lim|" withString:[NSString stringWithFormat:@"%.1f", floatVal]];
- }
- }
- dbMarket.name = [[[dbMarket.name substringToIndex:1] uppercaseString] stringByAppendingString:[dbMarket.name substringFromIndex:1]];
- dbMarket.nameShort = [[[dbMarket.nameShort substringToIndex:1] uppercaseString] stringByAppendingString:[dbMarket.nameShort substringFromIndex:1]];
- //NSLog(@"Market code: %@ %@ %@", dbMarket.code, marketItem[@"fi"], dbMarket.groupName);
- if ([dbMarket.group isEqual:@(11111111)]) {
- dbMarket.groupOrder = @(9000);
- } else if (dbMarket.groupName.length > 0) {
- dbMarket.groupOrder = @([self orderGroupFromConfig:self.bettingConfig sportID:sportID groupID:[dbMarket.group stringValue]]);
- } else {
- dbMarket.groupOrder = @(1000);
- }
- dbMarket.groupOrderName = [NSString stringWithFormat:@"%04ld_%@", (long)[dbMarket.groupOrder integerValue], dbMarket.groupName];
- dbMarket.name = [dbMarket.name stringByReplacingOccurrencesOfString:@"." withString:@","];
- dbMarket.nameShort = [dbMarket.nameShort stringByReplacingOccurrencesOfString:@"." withString:@","];
- //NSLog(@"GROUP %@, %@ (%@ > %@)", dbMarket.groupName, dbMarket.name, dbMarket.order, dbMarket.groupOrder);
- NSArray *codes = marketItem[@"codes"];
- for (int i=0; i<codes.count; i++) // for (NSDictionary *codeItem in marketItem[@"codes"])
- {
- NSDictionary *codeItem = marketItem[@"codes"][i];
- NSString *betID = [NSString stringWithFormat:@"%@_%@", dbMarket.serverID, codeItem[@"c"]];
- TTBetVO *dbBet = nil;
- if (!ignoreSaved) {
- dbBet = [TTBetVO MR_findFirstByAttribute:@"serverID" withValue:betID];
- }
- if (!dbBet) {
- dbBet = [TTBetVO MR_createEntity];
- dbBet.uiselected = @NO;
- dbBet.code = codeItem[@"c"];
- dbBet.serverID = betID;
- dbBet.market = dbMarket;
- }
- //dbBet.desc = [self descriptionForBet:dbBet betLexicon:eventItem[@"lexicon"] betIndex:i];
- dbBet.desc = [self descriptionForBet:dbBet betLexicon:eventItem[@"lexicon"] betIndex:i];
- dbBet.value = codeItem[@"oddPerSet"][@"1"];
- dbBet.status = codeItem[@"s"];
- }
- }
- }
- // if ([dbEvent.tournament.order integerValue] == 0) {
- // dbEvent.tournament.topSort = [NSString stringWithFormat:@"999-%@-%@", dbEvent.tournament.name, dbEvent.tournament.serverID];
- // } else {
- // dbEvent.tournament.topSort = [NSString stringWithFormat:@"%03ld-%@-%@", (long)[dbEvent.tournament.order integerValue], dbEvent.tournament.name, dbEvent.tournament.serverID];
- // }
- return dbEvent;
- }
- - (NSString *)descriptionForBet:(TTBetVO *)bet betLexicon:(NSDictionary *)lexicon betIndex:(NSInteger)betIndex
- {
- NSString *desc = @"";
- if (([bet.market.code integerValue] > 81 && [bet.market.code integerValue] < 400) || [bet.market.code integerValue] > 500) {
- desc = [NSString stringFromLexicon:lexicon withKey:[NSString stringWithFormat:@"%@_%@_%@", bet.market.event.serverID, bet.market.code, bet.code]];
- } else {
- desc = [NSString stringFromLexicon:self.bettingConfig[@"lexicon"] withKey:[NSString stringWithFormat:@"def_%@_%@_%@", bet.market.event.tournament.country.sport.serverID, bet.market.code, bet.code]];
- }
- if ([desc rangeOfString:@"|lim|"].location != NSNotFound) {
- CGFloat floatVal = 0.0;
- if (betIndex == 0) {
- floatVal = bet.market.varFlag1.floatValue;
- } else if (betIndex == 1 && [bet.market.varFlag2 isEqual:@(0)]) {
- floatVal = bet.market.varFlag1.floatValue*(-1);
- } else if (betIndex == 1) {
- floatVal = bet.market.varFlag2.floatValue;
- }
- if (floatVal == 0) {
- desc = [desc stringByReplacingOccurrencesOfString:@"|lim|" withString:@""];
- } else {
- desc = [desc stringByReplacingOccurrencesOfString:@"|lim|" withString:[NSString totoDecimalWithFloat:floatVal]];
- }
- }
- desc = [desc stringByReplacingOccurrencesOfString:@"*" withString:@""];
- if ([desc rangeOfString:@"|HC|"].location != NSNotFound) {
- NSString *replacement;
- if ([bet.market.varFlag1 floatValue] < 0) {
- replacement = [NSString stringWithFormat:@"(0-%.0f)", [bet.market.varFlag1 floatValue]*-1];
- } else {
- replacement = [NSString stringWithFormat:@"(%.0f-0)", [bet.market.varFlag1 floatValue]];
- }
- desc = [desc stringByReplacingOccurrencesOfString:@"|HC|" withString:replacement];
- }
- if ([desc rangeOfString:@"|DHCA|"].location != NSNotFound) {
- float val = bet.market.varFlag1.floatValue;
- desc = [desc stringByReplacingOccurrencesOfString:@"1 |DHCA|" withString:[NSString stringWithFormat:(val > 0) ? @"1 (+%@)" : @"1 (%@)", [NSString totoDecimalWithFloat:val]]];
- desc = [desc stringByReplacingOccurrencesOfString:@"2 |DHCA|" withString:[NSString stringWithFormat:(val < 0) ? @"2 (+%@)" : @"2 (%@)", [NSString totoDecimalWithFloat:-val]]];
- }
- if ([desc rangeOfString:@"|DHCB|"].location != NSNotFound) {
- float val = bet.market.varFlag2.floatValue;
- desc = [desc stringByReplacingOccurrencesOfString:@"1 |DHCB|" withString:[NSString stringWithFormat:(val > 0) ? @"1 (+%@)" : @"1 (%@)", [NSString totoDecimalWithFloat:val]]];
- desc = [desc stringByReplacingOccurrencesOfString:@"2 |DHCB|" withString:[NSString stringWithFormat:(val < 0) ? @"2 (+%@)" : @"2 (%@)", [NSString totoDecimalWithFloat:-val]]];
- }
- return desc;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement