private void setAliveMessage() { JMessage message = new JMessage(); message.Sender = location; message.Function = "JSetAliveRequest"; JSetAliveRequest jSetAliveRequest = new JSetAliveRequest(); jSetAliveRequest.DateAlive = DateTime.Now; message.InnerMessage = Newtonsoft.Json.JsonConvert.SerializeObject(jSetAliveRequest); bool success = false; DataManager.Network.TCPClient.sendMessage(Newtonsoft.Json.JsonConvert.SerializeObject(message), "", out success); if (success) { DataClient.logEntry(System.Diagnostics.EventLogEntryType.Information, "AliveAgent setAliveMessage success"); } else { DataClient.logEntry(System.Diagnostics.EventLogEntryType.Information, "AliveAgent setAliveMessage failed"); } }
public JSetAliveResponse handleAliveMessage(JMessage request) { SqlConnection conn = new SqlConnection(connStringBuilder.ConnectionString); JSetAliveRequest jSetAliveRequest = JsonConvert.DeserializeObject <JSetAliveRequest>(request.InnerMessage); JSetAliveResponse jSetAliveResponse = new JSetAliveResponse(); jSetAliveResponse.Ack = false; jSetAliveResponse.DateAck = DateTime.Now; try { if (insertRow(request, jSetAliveRequest, conn)) { jSetAliveResponse.Ack = true; Receiver.LogEntry(System.Diagnostics.EventLogEntryType.Information, "DataBaseDriver.handleAliveMessage success for location " + request.Sender); Console.WriteLine("DataBaseDriver.handleAliveMessage success for location " + request.Sender); } else { Receiver.LogEntry(System.Diagnostics.EventLogEntryType.Error, "DataBaseDriver.handleAliveMessage failed for location " + request.Sender); Console.WriteLine("DataBaseDriver.handleAliveMessage failed for location " + request.Sender); } } catch (Exception ex) { Receiver.LogEntry(System.Diagnostics.EventLogEntryType.Error, "DataBaseDriver.handleAliveMessage failed for location " + request.Sender + " " + ex.Message); Console.WriteLine("DataBaseDriver.handleAliveMessage failed for location " + request.Sender + " " + ex.Message); } finally { conn.Close(); } return(jSetAliveResponse); }
private bool insertRow(JMessage request, JSetAliveRequest jSetAliveRequest, SqlConnection conn) { DataSet ds = new DataSet("Location"); try { using (SqlCommand command = new SqlCommand("spSetAliveToLocation", conn)) { command.CommandType = System.Data.CommandType.StoredProcedure; command.Parameters.Add(new SqlParameter("@LOCATION_NAME", request.Sender)); if (conn.State != System.Data.ConnectionState.Open) { conn.Open(); } SqlDataAdapter da = new SqlDataAdapter(); da.SelectCommand = command; da.Fill(ds); } // Entry does not exist, insert the row to DB if (ds.Tables[0].Rows.Count == 0) { return(false); } return(true); } catch (Exception ex) { Receiver.LogEntry(System.Diagnostics.EventLogEntryType.Error, "DataBaseDriver.insertRow for ProductionDataLine failed: " + ex.Message); return(false); } }