private static void CheckScrapLoadForUpdates() { var dsetZavacs = _dB.ScrapLoad(); if (dsetZavacs.Tables.Count == 0 || dsetZavacs.Tables[0].Rows.Count == 0) return; var start = GetDateTimeValueAsMinDefault(dsetZavacs.Tables[0].Rows[0]["Time_Start"].ToString()); var end = GetDateTimeValueAsMaxDefault(dsetZavacs.Tables[0].Rows[0]["Time_End"].ToString()); var ves = GetIntValue(dsetZavacs.Tables[0].Rows[0]["Ves_Nr"].ToString()); var dsetWeight = _dB.ScrapWeight(start, end, ves); if (dsetWeight.Tables.Count == 0 || dsetWeight.Tables[0].Rows.Count == 0) return; for (var i = 0; i < dsetWeight.Tables[0].Rows.Count; i++) { var scrapLoad = new ScrapLoadEvent { Time = GetDateTimeValueAsMinDefault(dsetWeight.Tables[0].Rows[i]["Date_t"].ToString()), Id = GetIntValue(dsetZavacs.Tables[0].Rows[0]["Zavalk_Nr"].ToString()), ChargeNumber = GetIntValue(dsetZavacs.Tables[0].Rows[0]["Charge_Nr"].ToString()), TankNumber = GetIntValue(dsetZavacs.Tables[0].Rows[0]["Tank_Nr"].ToString()), TaskNumber = GetIntValue(dsetZavacs.Tables[0].Rows[0]["Task_Nr"].ToString()), Weight = GetFloatValue(dsetWeight.Tables[0].Rows[i]["Weight"].ToString())/100 }; scrapLoad = _dB.ScrapName(scrapLoad, GetIntValue(dsetWeight.Tables[0].Rows[i]["Skrap_Code"].ToString())); Console.WriteLine("ScrapLoadEvent pushed"); _mainGate.PushEvent(scrapLoad); } }
public ScrapLoadEvent ScrapName(ScrapLoadEvent scrapLoad, int code) { var connectionString = ConfigurationManager.ConnectionStrings["ScrapConnection"].ToString(); var sqlText = string.Format("SELECT TOP 1 Name FROM SkrapCode WHERE Code = {0}", code); var dset = Execute(connectionString, sqlText); if (dset.Tables.Count != 0 && dset.Tables[0].Rows.Count != 0) { scrapLoad.ScrapName = dset.Tables[0].Rows[0]["Name"].ToString(); } return scrapLoad; }
public static void Main() { _previousLoadEvent = new ScrapLoadEvent() { Id = 91854, LoadDateTime = Convert.ToDateTime("2012-05-07 23:13:19.000") }; using (CheckTimer) { _mainGate = new Client(); _mainGate.Subscribe(); CheckTimer.Elapsed += CheckTimerElapsed; CheckTimer.Start(); Console.WriteLine("Sync started. Press any key to stop."); Console.ReadKey(); CheckTimer.Stop(); } }
private static void CheckScrapLoadForUpdates(int unitNumber) { var connection = new OleDbConnection(ConfigurationManager.ConnectionStrings["ScrapConnection"].ToString()); var eafConnection = new OleDbConnection(ConfigurationManager.ConnectionStrings["EafConnection" + unitNumber].ToString()); var dset = new DataSet(); var zavalksTable = ConfigurationManager.AppSettings["ZavalksTableName"]; var vesWeightTable = ConfigurationManager.AppSettings["VesweightTableName"]; var command = new OleDbCommand(string.Format("SELECT TOP 1 {0}.Zavalk_Nr," + " {0}.Tank_Nr, {0}.Task_Nr, {0}.Charge_Nr, " + "{0}.Time_Start, " + "{0}.Time_End, " + " SkrapCode.Name, {1}.Date_t, {1}.Weight" + " FROM {0} INNER JOIN {1} ON " + "({1}.Date_t BETWEEN {0}.Time_Start" + " AND {0}.Time_End) and ({0}.Ves_Nr = {1}.Ves_Nr)" + " INNER JOIN SkrapCode" + " ON {1}.Skrap_Code = SkrapCode.Code" + " ORDER BY {1}.Date_t" + " DESC", zavalksTable, vesWeightTable), connection); try { connection.Open(); var dadapter = new OleDbDataAdapter {SelectCommand = command}; dadapter.Fill(dset); } catch (Exception e) { throw; } finally { connection.Close(); connection.Dispose(); command.Dispose(); } if (dset.Tables.Count > 0) { var newEvent = new ScrapLoadEvent(); newEvent.Id = (int) dset.Tables[0].Rows[0]["Zavalk_Nr"]; newEvent.LoadDateTime = (DateTime) dset.Tables[0].Rows[0]["Date_t"]; newEvent.ScrapName = dset.Tables[0].Rows[0]["Name"].ToString(); newEvent.ChargeNumber = ((dset.Tables[0].Rows[0]["Charge_Nr"] is int)) ? (int) dset.Tables[0].Rows[0]["Charge_Nr"] : 0; newEvent.TankNumber = (Int16) dset.Tables[0].Rows[0]["Tank_Nr"]; newEvent.TaskNumber = String.IsNullOrEmpty(dset.Tables[0].Rows[0]["Task_Nr"].ToString()) ? 0 : (Int16) dset.Tables[0].Rows[0]["Task_Nr"]; newEvent.Weight = (int) dset.Tables[0].Rows[0]["Weight"]/100; if (_previousLoadEvent == null || (newEvent.Id != _previousLoadEvent.Id && newEvent.LoadDateTime != _previousLoadEvent.LoadDateTime)) { // проверяем вхождение в базе EAF command = new OleDbCommand("SELECT HeatNo, StrtTm_Time, TapTm_Time FROM EAF2_pasp" + " WHERE (StrtTm_Time >= '" + dset.Tables[0].Rows[0]["Time_Start"] + "')" + " AND (TapTm_Time <= '" + dset.Tables[0].Rows[0]["Time_End"] + "')" + " AND (STR(HeatNo, 10) LIKE '%' + '" + dset.Tables[0].Rows[0]["Charge_Nr"] + "' )", eafConnection); try { dset = new DataSet(); eafConnection.Open(); var dadapter = new OleDbDataAdapter { SelectCommand = command }; dadapter.Fill(dset); } catch (Exception e) { throw; } finally { eafConnection.Close(); eafConnection.Dispose(); command.Dispose(); } if (dset.Tables[0].Rows.Count > 0) { Console.WriteLine("Event pushed"); _mainGate.PushEvent(newEvent); } _previousLoadEvent = newEvent; } } }