public static void Load(MetaFieldType type, int phoneId, string file) { List <MetaField> entries = null; switch (type) { case MetaFieldType.CallLog: entries = ParseCsvFile_CallLogs(file); break; case MetaFieldType.Sms: entries = ParseCsvFile_SMS(file); break; case MetaFieldType.AddressBookEntry: entries = ParseCsvFile_AddressBookEntries(file); break; default: throw new ArgumentOutOfRangeException("type"); } Console.WriteLine("File contained {0} valid entries.", entries.Count); #if _INSERT_ MetaField.Insert(phoneId, entries, false, "xry"); #endif }
public void RunMetaViterbi(int parseId, List <ViterbiField> viterbiFields) { var metaResults = CreateMetaInfo(viterbiFields); var block = new Block() { Bytes = metaResults.Select(r => (byte)r.Name).ToArray(), OffsetFile = 0 }; var blockList = new List <Block> { block }; var viterbiResult = RunViterbi(blockList, RunType.Meta); var addressBookEntries = new List <MetaField>(); var callLogs = new List <MetaField>(); var sms = new List <MetaField>(); for (int i = 0; i < viterbiResult.Fields.Count; i++) { switch (viterbiResult.Fields[i].MachineName) { case MachineList.Meta_AddressBookNokia: case MachineList.Meta_AddressBook: var results = GetMetaAddressBookEntry(viterbiResult.Fields[i], metaResults); addressBookEntries.AddRange(results); break; case MachineList.Meta_CallLogNokiaMulti_v2: case MachineList.Meta_CallLogNokiaMulti: var results2 = GetMetaCallLogNokia(viterbiResult.Fields[i], metaResults); callLogs.AddRange(results2); break; case MachineList.Meta_CallLogAll: case MachineList.Meta_CallLogGeneric: case MachineList.Meta_CallLogNokiaSingle: case MachineList.Meta_CallLogMoto: case MachineList.Meta_CallLogSamsung: var results1 = GetMetaCallLog(viterbiResult.Fields[i], metaResults); callLogs.AddRange(results1); break; case MachineList.Meta_Sms: var result = GetMetaSms(viterbiResult.Fields[i], metaResults); sms.Add(result); break; default: throw new ArgumentOutOfRangeException(); break; } } ///TODO: UNCOMMent these lines of code to insert records into the database #if _INSERT_ MetaField.Insert(parseId, addressBookEntries, true, "Dec0de"); MetaField.Insert(parseId, callLogs, true, "Dec0de"); MetaField.Insert(parseId, sms, true, "Dec0de"); #endif }