/// <summary> /// insert the order with the ordered tests and patient info /// </summary> public void InsertOrder(GetSqlServer getSqlServer) { var testRows = tests.Select(x => "SELECT '" + x.Key["Id"] + "', '" + ((x.Value) ? "1" : "0") + "', SCOPE_IDENTITY()") .mkString(" UNION ALL "); getSqlServer.ExecuteNonQuery(String.Format(@"INSERT INTO [ordered] ([ordernumber] ,[collectiontime], [receivetime], [ward], [priority], [mrn], [dob], [FIRSTNAME],[PROBLEM],[CALLS] ,[ORDERCOMMENT],[LASTNAME],[TRACKING],[TRACKINGCOMMENT],[TECHID],[BILLINGNUMBER],[collectdate]) VALUES ('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}','{9}', '{10}','{11}','{12}','{13}','{14}','{15}','{16}'); " + "Insert INTO [testOnOrder] (test,hl7Sent,ordernumberId) " + testRows, orderNumber, collectionTime, receiveTime, ward, priority, mrn, dob, firstName, problem, calls, comment, lastName, "", "", techId, billingNumber,collectDate)); }
/// <summary> /// If the Date changes, wipe out the table of orderNumbers and restart ordering /// </summary> /// <remarks></remarks> public static void TruncateOrderNumbersOnDateChange(GetSqlServer getSqlServer) { if (DateTime.Now.Day != GlobalMutableState.StartupDate.Day) { var dtable = getSqlServer.FilledTable("select * FROM ordernumber"); if (dtable.Rows.Count != 1) { getSqlServer.ExecuteNonQuery("truncate TABLE ordernumber"); getSqlServer.ExecuteNonQuery("insert into ordernumber (OrderLast,Ordernumber) VALUES (1, 7500);"); } GlobalMutableState.StartupDate = System.DateTime.Now; } }