private static void ConvertStatistics(IStatistics statistics, SqlCeConnection conn) { using (SqlCeCommand cmd = conn.CreateCommand()) { cmd.CommandText = "INSERT INTO History (VocabularyId, MeaningId, ActionId, SyncMod) VALUES (@VocabularyId, @MeaningId, @ActionId, @SyncMod)"; cmd.Parameters.Add(new SqlCeParameter("VocabularyId", new Guid("ad4c2b38-80fd-4920-a727-bd6bbd24cc28"))); cmd.Parameters.Add(new SqlCeParameter("MeaningId", SqlDbType.UniqueIdentifier)); cmd.Parameters.Add(new SqlCeParameter("ActionId", SqlDbType.NVarChar)); cmd.Parameters.Add(new SqlCeParameter("SyncMod", SqlDbType.DateTime)); cmd.Prepare(); Console.Write("modified on [{0}]...", statistics.Modified); DateTime mininum = new DateTime(2000, 1, 1); cmd.Parameters["MeaningId"].Value = statistics.Guid; cmd.Parameters["ActionId"].Value = "M"; cmd.Parameters["SyncMod"].Value = statistics.Modified > mininum ? statistics.Modified : mininum; cmd.ExecuteNonQuery(); Console.WriteLine("ok"); foreach (DateTime date in statistics.EnumerateRightAnswers()) { Console.Write("answer right on [{0}]...", date); cmd.Parameters["MeaningId"].Value = statistics.Guid; cmd.Parameters["ActionId"].Value = "R"; cmd.Parameters["SyncMod"].Value = date; cmd.ExecuteNonQuery(); Console.WriteLine("ok"); } foreach (DateTime date in statistics.EnumerateWrongAnswers()) { Console.Write("answer wrong on [{0}]...", date); cmd.Parameters["MeaningId"].Value = statistics.Guid; cmd.Parameters["ActionId"].Value = "W"; cmd.Parameters["SyncMod"].Value = date; cmd.ExecuteNonQuery(); Console.WriteLine("ok"); } foreach (DateTime date in statistics.EnumeratePromptAnswers()) { Console.Write("answer prompt on [{0}]...", date); cmd.Parameters["MeaningId"].Value = statistics.Guid; cmd.Parameters["ActionId"].Value = "P"; cmd.Parameters["SyncMod"].Value = date; cmd.ExecuteNonQuery(); Console.WriteLine("ok"); } } }