/* * CommandSendData svrCommandSendData = new CommandSendData(); * CommandRespSendData svrCommandRespSendData = new CommandRespSendData(); * CommandGetResult svrCommandGetResult = new CommandGetResult(); * CommandRespGetResult svrCommandRespGetResult = new CommandRespGetResult(); * * CommandSendData cltCommandSendData = new CommandSendData(); * CommandRespSendData cltCommandRespSendData = new CommandRespSendData(); * CommandGetResult cltCommandGetResult = new CommandGetResult(); * CommandRespGetResult cltCommandRespGetResult = new CommandRespGetResult(); */ //ClientDataReceivedByRequest(CmdReqBase request, CmdRespBase resp); private void OnDataReceived(CmdReqBase request, CmdRespBase resp) { try { this.al.Clear(); al.Add("Command=" + request.Command); for (int i = 0; i < request.GetParamCount(); i++) { al.Add(request.GetParamName(i) + "=" + request.GetParamValue(i)); } resp.ErrorCode = "0"; if (request.Command == "NewPatient") { resp.AddParameter("StudyInstanceUID", "1"); } } catch (Exception ex) { _logServer.Write(ex); } }
private void SendCommand2Server(RdetOutChannel ch, DataSet ds) { foreach (DataRow dr in ds.Tables[0].Rows) { // build command if (!ds.Tables[0].Columns.Contains("Command")) { Program.Log.Write(LogType.Error, "Configuration File error!Cannot find column 'Command'!\r\n" + "channel name:" + ch.ChannelName + "\r\n"); return; //throw new Exception(""); } try { CmdReqBase request = null; if (CommandToken.IsNewPatient(dr["Command"].ToString())) { request = BuildCmdReqNewPatient(ch, dr); } else if (CommandToken.IsUpdatePatient(dr["Command"].ToString())) { request = BuildCmdReqUpdatePatient(ch, dr); } else if (CommandToken.IsNewImage(Convert.ToString(dr["Command"]))) { request = BuildCmdReqNewImage(ch, dr); } if (request == null) { Program.Log.Write("Invalid DataRow! Command=" + dr["Command"].ToString() + " \r\n"); continue; } // Send Command CmdRespBase resp; if (Program.bStandalone) { resp = new CmdRespBase(); resp.AddParameter(CommandToken.StudyInstanceUID, "StudyInstenceUID001"); resp.ErrorCode = "0"; } else { resp = _ClientSocket.SendCommand(request); } _ClientSocket.DisConnect(false); if (resp == null) { Program.Log.Write("There is no correct response or no response data to request ! \r\n"); continue; } if (Convert.ToInt32(resp.ErrorCode) == 0) { if (OnDataDischarge != null) { this.OnDataDischarge(new string[] { Convert.ToString(dr["Data_ID"]) }); } //Write StudyinstanceUID if (CommandToken.IsNewPatient(request.Command)) { UpdateStudyInstanceUID(Convert.ToString(dr["Data_ID"]), resp.GetParamValue(CommandToken.StudyInstanceUID), _fStudyInstanceUID); } } else { RdetError Err = RdetErrorMgt.GetRdetError(Convert.ToInt32(resp.ErrorCode.Trim())); Program.Log.Write(LogType.Error, "------------Error Exist! ----------------------------------------\r\n" + "ErrorCode=" + Err.Code.ToString() + "\r\n" + "Error Description: " + Err.ErrorDescription + "\r\n" + "Error Resolution : " + Err.ErrorDescription + "\r\n" + "----------------------------------------------------------------\r\n", true); } } catch (Exception ex) { Program.Log.Write(LogType.Error, "Unknow Error:" + ex.Message + "\r\n" + "channel Name:" + ch.ChannelName + "\r\n"); } } }
private void Send1_Click(object sender, EventArgs e) { try { if (_ClientRdet == null) { _ClientRdet = new ClientSocket(_logClient); } CmdReqBase cmd = new CmdReqBase(); #region NewPatient if (this.rbNewPatient.Checked) { this.ReqNewPatient.ClearParameters(); this.clbNewPatient.Items.Clear(); this.clbNewPatient.Items.Add("Command=NewPatient"); this.ReqNewPatient.AddParameter("PatientName", "pname1"); this.clbNewPatient.Items.Add("PatientName=pname1"); this.ReqNewPatient.AddParameter("PatientID", "1"); this.clbNewPatient.Items.Add("PatientID=1"); cmd = this.ReqNewPatient; } #endregion #region GetScannerStatus if (rbGetScannerStatus.Checked) { cmd.Command = "GetScannerStatus"; this.clbNewPatient.Items.Clear(); this.clbNewPatient.Items.Add("Command=GetScannerStatus"); } #endregion #region GetLocale if (rbGetLocale.Checked) { cmd.Command = "GetLocale"; this.clbNewPatient.Items.Clear(); this.clbNewPatient.Items.Add("Command=GetLocale"); } #endregion #region GetBodyParts if (rbGetBodyParts.Checked) { cmd.Command = "GetBodyParts"; this.clbNewPatient.Items.Clear(); this.clbNewPatient.Items.Add("Command=GetBodyParts"); } #endregion #region GetProjections if (rbGetProjections.Checked) { cmd.Command = "GetProjections"; this.clbNewPatient.Items.Clear(); this.clbNewPatient.Items.Add("Command=GetProjections"); } #endregion CmdRespBase resp; if (_ClientRdet.Connect(tbServerIP.Text, Convert.ToInt32(this.tbServerPort.Text))) { resp = _ClientRdet.SendCommand(cmd); _ClientRdet.DisConnect(false); } else { MessageBox.Show("Cannt connect server!"); return; } if (resp == null) { MessageBox.Show("Cannot receive any response data!"); } else { this.clbRespNewPatient.Items.Clear(); this.clbRespNewPatient.Items.Add("ErrorCode=" + resp.ErrorCode); for (int i = 0; i < resp.GetParamCount(); i++) { this.clbRespNewPatient.Items.Add(resp.GetParamName(i) + "=" + resp.GetParamValue(i)); } } } catch (Exception ex) { MessageBox.Show(ex.Message); } }