Beispiel #1
0
        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);
        }
Beispiel #2
0
        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);
        }
Beispiel #3
0
        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"));
        }