public PosInOutputData(StringBuilder outputPara) { byte[] BOutPutpara = Encoding.Default.GetBytes(outputPara.ToString()); ResultCode = Encoding.Default.GetString(BOutPutpara, 71, 2); if (ResultCode != "00") { throw new Exception("返回代码:" + ResultCode + ",错误信息:" + GetMsg(ResultCode)); } TransType = Encoding.Default.GetString(BOutPutpara, 0, 2); ReceiptNo = Encoding.Default.GetString(BOutPutpara, 2, 6); CardNumber = Encoding.Default.GetString(BOutPutpara, 8, 19); ExpirationDate = Encoding.Default.GetString(BOutPutpara, 27, 4); TransAmount = Encoding.Default.GetString(BOutPutpara, 31, 12); TransDate = Encoding.Default.GetString(BOutPutpara, 43, 8); TransTime = Encoding.Default.GetString(BOutPutpara, 51, 6); ApprovalCode = Encoding.Default.GetString(BOutPutpara, 57, 6); CardType = Encoding.Default.GetString(BOutPutpara, 63, 8); TerminalID = Encoding.Default.GetString(BOutPutpara, 73, 8); MerchantID = Encoding.Default.GetString(BOutPutpara, 81, 15); RefNo = Encoding.Default.GetString(BOutPutpara, 96, 12); BatchNo = Encoding.Default.GetString(BOutPutpara, 108, 6); HISLSH = Encoding.Default.GetString(BOutPutpara, 114, 30); DateTime OperatorTime = DateTime.Now; DateTime.TryParse(TransDate.Substring(0, 4) + "-" + TransDate.Substring(4, 2) + "-" + TransDate.Substring(6, 2) + " " + TransTime.Substring(0, 2) + ":" + TransTime.Substring(2, 2) + ":" + TransTime.Substring(4), out OperatorTime); YHJYSJ = OperatorTime; }
public void InsertN1DataV3(string city, string routeName) { try { //橘9路線資料 RestClient client = new RestClient($"http://ptx.transportdata.tw/MOTC/v3/Bus/EstimatedTimeOfArrival/City/{city}/{routeName}?&$format=JSON"); IRestResponse response = GetResponse(client); if (response.StatusCode == HttpStatusCode.OK) { var APIResult = JsonConvert.DeserializeObject <BusN1DataV3>(response.Content); if (APIResult != null) { string RouteUID, RouteID, RouteName, SubRouteUID, SubRouteID, SubRouteName, DestinationStopID, DestinationStopName, StopUID, StopID, StopName, PlateNumb, ScheduledTime, CurrentStop; int Direction, EstimateTime, StopStatus, StopCountDown; DateTime DataTime, RecTime, TransTime; bool IsLastBus; string CreateTime = DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss"); string Result = string.Empty; foreach (N1DataV3 PTXData in APIResult.N1Datas) { RouteUID = PTXData.RouteUID; RouteID = PTXData.RouteID; RouteName = PTXData.RouteName.Zh_tw; SubRouteUID = PTXData.SubRouteUID; SubRouteID = PTXData.SubRouteID; SubRouteName = PTXData.SubRouteName.Zh_tw; Direction = PTXData.Direction; DestinationStopID = PTXData.DestinationStopID; DestinationStopName = PTXData.DestinationStopName.Zh_tw; StopUID = PTXData.StopUID; StopID = PTXData.StopID; StopName = PTXData.StopName.Zh_tw; PlateNumb = PTXData.PlateNumb; EstimateTime = PTXData.EstimateTime; ScheduledTime = PTXData.ScheduledTime; IsLastBus = PTXData.IsLastBus; CurrentStop = PTXData.CurrentStop; StopStatus = PTXData.StopStatus; StopCountDown = PTXData.StopCountDown; DataTime = PTXData.DataTime; RecTime = PTXData.RecTime; TransTime = PTXData.TransTime; Result = Result + "INSERT INTO N1DataV3(RouteUID, RouteID, RouteName, SubRouteUID, SubRouteID, SubRouteName, Direction, DestinationStopID, DestinationStopName, StopUID, StopID, StopName, PlateNumb, EstimateTime, ScheduledTime, IsLastBus, CurrentStop, StopStatus, StopCountDown, DataTime, RecTime, TransTime)" + "VALUES(" + " '" + RouteUID + "' " + ",'" + RouteID + "' " + ",'" + RouteName + "' " + ",'" + SubRouteUID + "' " + ",'" + SubRouteID + "' " + ",'" + SubRouteName + "' " + ",'" + Direction + "' " + ",'" + DestinationStopID + "' " + ",'" + DestinationStopName + "' " + ",'" + StopUID + "' " + ",'" + StopID + "' " + ",'" + StopName + "' " + ",'" + PlateNumb + "' " + ",'" + EstimateTime + "' " + ",'" + ScheduledTime + "' " + ",'" + IsLastBus + "' " + ",'" + CurrentStop + "' " + ",'" + StopStatus + "' " + ",'" + StopCountDown + "' " + ",'" + DataTime.ToString("yyyy/MM/dd HH:mm:ss") + "' " + ",'" + RecTime.ToString("yyyy/MM/dd HH:mm:ss") + "' " + ",'" + TransTime.ToString("yyyy/MM/dd HH:mm:ss") + "' " + ") ;"; } //寫入資料 if (Result != "") { SqlConnection connnew = new SqlConnection(strconnection); try { connnew.Open(); SqlCommand cmmdnew = new SqlCommand(Result, connnew); cmmdnew.ExecuteNonQuery(); } catch (Exception ex) { Console.WriteLine("N1DataV3 error "); Console.WriteLine(ex.Message); } finally { connnew.Close(); } } } } } catch (Exception e1) { Console.WriteLine(e1.Message); } }