public void ShouldCreatePhrase() { MockedDatabase <Phrase> database; PhraseModule module; Phrase result; database = new MockedDatabase <Phrase>(false, 1, (t) => new Phrase() { Key = t.ToString(), CountryCode = "EN" }); module = new PhraseModule(NullLogger.Instance, database); result = module.CreatePhrase("1", "EN", "New phrase"); Assert.IsNotNull(result); Assert.AreEqual(Phrase.GenerateID("1", "EN"), result.PhraseID); Assert.AreEqual("1", result.Key); Assert.AreEqual(1, database.InsertedCount); }
public Phrase CreatePhrase(string Key, string CountryCode, string Value) { IInsert query; Phrase item; object result; LogEnter(); item = new Phrase() { PhraseID = Phrase.GenerateID(Key, CountryCode), Key = Key, CountryCode = CountryCode, Value = Value, }; Log(LogLevels.Information, $"Inserting into Phrase table (Key={Key}, CountryCode={CountryCode}, Value={Value})"); query = new Insert().Into(PIODB.PhraseTable).Set(PhraseTable.PhraseID, item.PhraseID).Set(PhraseTable.Key, item.Key).Set(PhraseTable.CountryCode, item.CountryCode).Set(PhraseTable.Value, item.Value); result = Try(query).OrThrow <PIODataException>("Failed to insert"); //item.PhraseID = Convert.ToInt32(result); return(item); }
public Phrase GetPhrase(string Key, string CountryCode) { ISelect query; LogEnter(); Log(LogLevels.Information, $"Querying Phrase table (Key={Key}, CountryCode={CountryCode})"); query = new Select(PhraseTable.PhraseID, PhraseTable.Key, PhraseTable.CountryCode, PhraseTable.Value).From(PIODB.PhraseTable).Where(PhraseTable.PhraseID.IsEqualTo(Phrase.GenerateID(Key, CountryCode))); return(TrySelectFirst <PhraseTable, Phrase>(query).OrThrow <PIODataException>("Failed to query")); }