private void addNewServer() { StoredDicomServer s = new StoredDicomServer(); SelectedServer = s; Servers.Add(s); }
public async Task <bool> PingDicomServer(StoredDicomServer s, DicomClient client) { bool result = false; logger.Trace("Sending ECHO to " + s.AETitle); DicomCEchoRequest r = new DicomCEchoRequest(); r.OnResponseReceived += (re, response) => { logger.Trace(s.AETitle + " C-Echo response = " + response); if (((DicomCEchoResponse)response).Status == DicomStatus.Success) { result = true; } else { result = false; } }; await client.AddRequestAsync(r); try { //client.Send(s.IPAddress, s.Port, false, LocalAETitle, s.AETitle, 5000); Task sendEcho = client.SendAsync(); await sendEcho; } catch (Exception ex) { logger.Error("Exception in echo to " + s.AETitle + " " + ex.Message); result = false; } return(result); }
public static List <StoredDicomServer> GetDicomServers() { logger.Trace("GetDicomServers()..."); List <StoredDicomServer> result = new List <StoredDicomServer>(); using (SqlConnection conn = new SqlConnection(Properties.Settings.Default.DatabaseConnString)) { conn.Open(); string cmdText = "SELECT * FROM DicomServers"; SqlCommand cmd = new SqlCommand(cmdText, conn); SqlDataReader reader = cmd.ExecuteReader(); if (reader.HasRows) { logger.Trace("Dicomservers found in database"); while (reader.Read()) { for (int i = 0; i < reader.FieldCount; i++) { logger.Trace(reader.GetName(i) + ": " + reader[i].ToString()); } StoredDicomServer server = new StoredDicomServer(); if (!reader.IsDBNull(reader.GetOrdinal("IPAddress"))) { server.IPAddress = reader["IPAddress"].ToString(); } if (!reader.IsDBNull(reader.GetOrdinal("Enabled"))) { server.Enabled = reader.GetBoolean(reader.GetOrdinal("Enabled")); } if (!reader.IsDBNull(reader.GetOrdinal("AETitle"))) { server.AETitle = reader["AETitle"].ToString(); } if (!reader.IsDBNull(reader.GetOrdinal("Port"))) { server.Port = reader.GetInt32(reader.GetOrdinal("Port")); } if (!reader.IsDBNull(reader.GetOrdinal("ID"))) { server.ID = reader.GetInt32(reader.GetOrdinal("ID")); } if (!reader.IsDBNull(reader.GetOrdinal("ImageStore"))) { server.ImageStore = reader.GetBoolean(reader.GetOrdinal("ImageStore")); } else { server.ImageStore = false; } if (!reader.IsDBNull(reader.GetOrdinal("Worklist"))) { server.Worklist = reader.GetBoolean(reader.GetOrdinal("Worklist")); } else { server.Worklist = false; } server.Online = false; result.Add(server); } } else { logger.Warn("No DicomServers found"); } } return(result); }