コード例 #1
0
ファイル: Program.cs プロジェクト: andrey-kozyrev/LinguaSpace
        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");
                }
            }
        }