public Task <ScriptKeyRecord> Post([FromBody] String scriptKey) { ScriptKeyRecord lookup = new ScriptKeyRecord(); lookup.name = scriptKey; return(scriptKeyRepository.GetRecord(lookup)); }
public async Task <List <ScriptKeyRecord> > GetCompressedKey(QScript.GamePlatform platform, QScript.GameVersion version) { ScriptKeyRecord lookup = new ScriptKeyRecord(); lookup.platform = platform; lookup.version = version; return(await scriptKeyRepository.GetCompressTables(lookup)); }
public async Task <ScriptKeyRecord> GetByChecksum(System.Int32 checksum) { ScriptKeyRecord lookup = new ScriptKeyRecord(); lookup.checksum = checksum; var result = await scriptKeyRepository.GetRecord(lookup); return(result); }
public async Task <List <SymbolEntry> > ResolveChecksums(List <SymbolEntry> input) { ScriptKeyRecord record = null; System.UInt32 checksum; foreach (var item in input) { if (System.UInt32.TryParse(item.name.ToString(), out checksum)) { String name = await checksumResolver.ResolveChecksum(checksum, item.compressedByteSize); if (name != null) { item.compressedByteSize = null; item.name = name; } else { item.name = checksum; } } switch (item.type) { case QScript.ESymbolType.ESYMBOLTYPE_NAME: if (System.UInt32.TryParse(item.value.ToString(), out checksum)) { var name = await checksumResolver.ResolveChecksum(checksum); if (name != null) { item.value = name; } else { item.value = checksum; } } break; case QScript.ESymbolType.ESYMBOLTYPE_STRUCTURE: item.value = await ResolveChecksums((List <SymbolEntry>) item.value); break; case QScript.ESymbolType.ESYMBOLTYPE_ARRAY: var array = (List <object>)item.value; for (int i = 0; i < ((List <object>)item.value).Count; i++) { switch (item.subType) { case QScript.ESymbolType.ESYMBOLTYPE_NAME: record = new ScriptKeyRecord(); checksum = (System.UInt32)((List <object>)item.value)[i]; var name = await checksumResolver.ResolveChecksum(checksum); if (name != null) { ((List <object>)item.value)[i] = name; } else { ((List <object>)item.value)[i] = checksum; } break; case QScript.ESymbolType.ESYMBOLTYPE_STRUCTURE: ((List <object>)item.value)[i] = await ResolveChecksums((List <SymbolEntry>)((List <object>)item.value)[i]); break; } } break; } } return(input); }