public KanjiData GetKanjiForLiteral(string literal) { KanjiData result = null; using (IDatabaseClient client = OpenDatabaseClient()) { client.SelectCommand = SQL_KANJI_ID_SELECT; client.AddCommandParameter("Literal", literal); DataTable data = client.Read(); if (data.Rows.Count > 0) { var row = data.Rows[0]; result = new KanjiData() { Literal = row["Literal"].ToString(), OnYomi = row["OnYomi"].ToString(), KunYomi = row["KunYomi"].ToString(), Meaning = row["Meaning"].ToString(), JLPTLevel = (JLPT)Enum.Parse(typeof(JLPT), row["JLPT"].ToString()), StrokeCount = Convert.ToInt32(row["StrokeCount"]) }; } } return result; }
public SaveResponse InsertKanji(KanjiData kanji) { using (IDatabaseClient client = OpenDatabaseClient()) { client.SelectCommand = SQL_KANJI_ID_SELECT; client.InsertCommand = SQL_KANJI_INSERT; DataTable data; client.AddCommandParameter("Id", 0); data = client.Read(); client.ClearCommandParameters(); DataRow newRow = data.NewRow(); // newRow["Id"] = key; newRow["Literal"] = kanji.Literal; newRow["OnYomi"] = kanji.OnYomi; newRow["KunYomi"] = kanji.KunYomi; newRow["Meaning"] = kanji.Meaning; newRow["JLPT"] = kanji.JLPTLevel.ToString(); newRow["StrokeCount"] = kanji.StrokeCount; return new SaveResponse(OperationResult.Success) { SavedObjectKey = client.InsertRow(newRow, "Id") }; } }
public void DeleteKanji(KanjiData kanji) { using (IDatabaseClient client = OpenDatabaseClient()) { client.SelectCommand = SQL_KANJI_LITERAL_SELECT; client.DeleteCommand = SQL_KANJI_DELETE; client.AddCommandParameter("Literal", kanji.Literal); DataTable data = client.Read(); data.Rows[0].Delete(); client.Update(data); } }
public SaveResponse UpdateKanji(KanjiData kanji) { using (IDatabaseClient client = OpenDatabaseClient()) { client.SelectCommand = SQL_KANJI_LITERAL_SELECT; client.UpdateCommand = SQL_KANJI_UPDATE; client.AddCommandParameter("Literal", kanji.Literal); DataTable data; data = client.Read(); data.Rows[0]["OnYomi"] = kanji.OnYomi; data.Rows[0]["KunYomi"] = kanji.KunYomi; data.Rows[0]["Meaning"] = kanji.Meaning; data.Rows[0]["JLPT"] = kanji.JLPTLevel.ToString(); data.Rows[0]["StrokeCount"] = kanji.StrokeCount; client.ClearCommandParameters(); client.AddCommandParameter("Id", data.Rows[0]["Id"]); client.Update(data); return new SaveResponse(OperationResult.Success); } }