public KanjiMessage GetKanjiForToday(KanjiForTodayRequest request) { var result = new KanjiMessage(); using (IDatabaseClient client = OpenDatabaseClient()) { client.SelectCommand = String.Format(SQL_KANJI_JLPT_SELECT, GetJlptString(request.JlptLevels)); DataTable data = client.Read(); if (data.Rows.Count > 0) { int rowNumber = (DateTime.Today.Year * 365 + DateTime.Today.DayOfYear) % data.Rows.Count; var row = data.Rows[rowNumber]; result.Id = Convert.ToInt32(row["Id"]); result.Literal = row["Literal"].ToString(); result.OnYomi = row["OnYomi"].ToString(); result.KunYomi = row["KunYomi"].ToString(); result.Meaning = row["Meaning"].ToString(); result.Jlpt = (JLPT)Enum.Parse(typeof(JLPT), row["JLPT"].ToString()); result.StrokeCount = Convert.ToInt32(row["StrokeCount"]); } } return result; }
public KanjiForTodayResponse Execute(KanjiForTodayRequest request) { var kanjiRequest = new KanjiForTodayRequest() { JlptLevels = request.JlptLevels }; return new KanjiForTodayResponse() { Kanji = DataGateway.Instance.GetKanjiForToday(kanjiRequest) }; }