using System; using System.Collections.Generic; using System.Text; using System.Data.SqlClient; using System.Data.Sql; using System.Data.SqlTypes; using BrazilTimestampReconstruction; namespace BrazilTimestampReconstructionTest { class Program { public void ReconstructSimulationTimestamps(string connStr) { // string connStr = "Data Source=LEMON\\LEMON;Initial Catalog=OlinBrazilStage;Integrated Security=True;"; // string connStr = "Data Source=LEMON\\LEMON;Initial Catalog=BrazilSimulator;Integrated Security=True;"; TimestampReconstruction btr = new TimestampReconstruction(connStr); btr.ReadAnchorInformation(); btr.BuildTimeFits(); btr.InsertIntoDatabase(); PrintResults(connStr); } public void PrintResults(string connStr) { try { string resultsString = "EXEC dbo.spTimestampAccuracy"; SqlConnection conn = new SqlConnection(connStr); conn.Open(); SqlCommand cmd = new SqlCommand(resultsString, conn); cmd.CommandTimeout = 240; SqlDataReader rdr = cmd.ExecuteReader(); while (rdr.Read()) { string outstr = ""; outstr += rdr.GetInt32(0).ToString() + ","; outstr += rdr.GetSqlSingle (1).ToString() + ","; outstr += rdr.GetSqlSingle(2).ToString() + ","; outstr += rdr.GetSqlSingle(3).ToString() + ","; outstr += rdr.GetSqlSingle(4).ToString() + ","; outstr += rdr.GetSqlSingle(5).ToString() + ","; outstr += rdr.GetSqlInt32(6).ToString() + ","; Console.Out.Write(outstr); } conn.Close(); } catch (Exception ex) { Console.Out.WriteLine(ex.ToString()); } } public void BringDownBasestation(string connStr, int dtime) { try { string bdownStr = "EXEC dbo.spBasestationDown @down"; bdownStr = bdownStr.Replace("@down", dtime.ToString()); SqlConnection conn = new SqlConnection(connStr); conn.Open(); SqlCommand cmd = new SqlCommand(bdownStr, conn); SqlDataReader rdr = cmd.ExecuteReader(); while (rdr.Read()) { string outstr = ""; outstr += rdr.GetSqlInt64(0).ToString() + ","; Console.Out.Write(outstr); } conn.Close(); } catch (Exception ex) { Console.Out.WriteLine(ex.ToString()); } } public void InjectErrors(string connStr, int dtime) { try { string bdownStr = "EXEC dbo.spInjectErrors @down"; bdownStr = bdownStr.Replace("@down", dtime.ToString()); SqlConnection conn = new SqlConnection(connStr); conn.Open(); SqlCommand cmd = new SqlCommand(bdownStr, conn); SqlDataReader rdr = cmd.ExecuteReader(); while (rdr.Read()) { string outstr = ""; outstr += rdr.GetSqlInt64(0).ToString() + ","; Console.Out.Write(outstr); } conn.Close(); } catch (Exception ex) { Console.Out.WriteLine(ex.ToString()); } } public void RestoreBasestaion(string connStr) { try { string bUpStr = "EXEC dbo.spBasestationRestore"; SqlConnection conn = new SqlConnection(connStr); conn.Open(); SqlCommand cmd = new SqlCommand(bUpStr, conn); SqlDataReader rdr = cmd.ExecuteReader(); conn.Close(); } catch (Exception ex) { Console.Out.WriteLine(ex.ToString()); } } public void BaseStationDownTest(string connStr) { int down1 = 24*7; int down2 = 24*380; int step = 24*7; for (int i = 0; i <= 20; i++) { for (int dt = down1; dt <= down2; dt = dt + step) { Console.Out.Write(dt.ToString() + ","); BringDownBasestation(connStr, dt); ReconstructSimulationTimestamps(connStr); RestoreBasestaion(connStr); Console.Out.WriteLine(); } } //Console.In.ReadLine(); } public void InjectErrorsTest(string connStr) { int err1 = 24*128; int err2 = 24 * 128; for (int i = 0; i <= 5; i++) { for (int dt = err1; dt <= err2; dt = dt*2) { Console.Out.Write(dt.ToString() + ","); InjectErrors(connStr, dt); ReconstructSimulationTimestamps(connStr); RestoreBasestaion(connStr); Console.Out.WriteLine(); } } //Console.In.ReadLine(); } static void Main(string[] args) { string connStr = "Data Source=SDSSDB003;Initial Catalog=EcuadorStage;Integrated Security=True;Connect Timeout=240"; Program worker = new Program(); worker.ReconstructSimulationTimestamps(connStr); // worker.BaseStationDownTest(connStr); //worker.InjectErrorsTest(connStr); } } }