public Data ExecuteService(Data data, string regIP, Int32 regPort) { string message; string response; message = MessageLibrary.ExecuteServiceMessage.SendExecuteServiceMessage(data); response = MessageLibrary.registryConnector.connectReg(message, "192.168.1.129", 3001); Data retData = MessageLibrary.ExecuteServiceMessage.parseReturnMessage(response); retData.teamID = data.teamID; retData.teamName = data.teamName; if (retData.message == "OK") { log.logger(retData.message); return retData; } else { log.logger(retData.message); //error log } return retData; }
/* * Method : ParseExecuteServiceMessage * Returns : Stream of the data class * Parameters : string of the registry reply * Description : parses registry response */ public static Data ParseExecuteServiceMessage(string dataToParse) { Data dataParsed = new Data(); char[] delimiters = new char[] { '|' }; double temp; string[] dataUnassigned = dataToParse.Split(delimiters); dataParsed.teamName = dataUnassigned[2]; dataParsed.teamID = dataUnassigned[3]; dataParsed.serviceName = dataUnassigned[6]; dataParsed.numArg = Convert.ToInt32(dataUnassigned[8]); if (double.TryParse(dataUnassigned[11], out temp) == true) { dataParsed.argPosition[0] = Convert.ToInt32(dataUnassigned[12]); dataParsed.argName[0] = dataUnassigned[13]; dataParsed.argValue1 = Convert.ToDouble(dataUnassigned[16]); dataParsed.argPosition[1] = Convert.ToInt32(dataUnassigned[18]); dataParsed.argName[1] = dataUnassigned[19]; dataParsed.argValue2 = dataUnassigned[22]; } else { dataParsed.argPosition[0] = Convert.ToInt32(dataUnassigned[12]); dataParsed.argName[0] = dataUnassigned[13]; dataParsed.argValue1 = Convert.ToDouble(dataUnassigned[16]); dataParsed.argPosition[1] = Convert.ToInt32(dataUnassigned[18]); dataParsed.argName[1] = dataUnassigned[19]; dataParsed.argValue2 = dataUnassigned[22]; } return dataParsed; }
/* * Method : ParsePublishServiceMessage * Returns : String of the reply * Parameters : String of the response * Description : Builds string to send to the registry */ public static Data ParsePublishServiceMessage(string response) { Data retData = new Data(); retData.log = response; return retData; }
/* * Method : SendQueryTeamMessage * Returns : string of register query * Parameters : Stream of the class containing the needed data * Description : Builds string to send to the registry */ public static string SendQueryTeamMessage(Data data) { string message; message = BOM + "DRC|QUERY-TEAM|" + data.teamName + "|" + data.teamID + "|" + EOS + "INF|" + data.teamName + "|" + data.teamID + "|" + data.serviceTag + "|" + EOS + EOM + EOS; return message; }
/* * Method : SendQueryServiceMessagee * Returns : string of registery query * Parameters : Stream of the class containing the needed data * Description : Builds string to send to the registry */ public static Data ParseQueryServiceMessage( Data data, string message) { char[] delimiterChars = {'|'}; string[] words = message.Split(delimiterChars); if (words[1] == "OK") { data.message = words[1]; data.numSegments = Convert.ToInt32(words[4]); data.teamName = words[6]; data.serviceName = words[7]; data.numArg = Convert.ToInt32(words[9]); data.numResp = Convert.ToInt32(words[10]); data.description = words[11]; //arg 1 data.argPosition[0] = Convert.ToInt32(words[13]); data.argName[0] = words[14]; data.argDataType[0] = words[15]; //arg 2 data.argPosition[1] = Convert.ToInt32(words[19]); data.argName[1] = words[20]; data.argDataType[1] = words[21]; //ret 1 data.responsePos[0] = Convert.ToInt32(words[25]); data.responseName[0] = words[26]; data.respDataType[0] = words[27]; //ret 2 data.responsePos[1] = Convert.ToInt32(words[30]); data.responseName[1] = words[31]; data.respDataType[1] = words[32]; //ret 3 data.responsePos[2] = Convert.ToInt32(words[35]); data.responseName[2] = words[36]; data.respDataType[2] = words[37]; //ret 4 data.responsePos[3] = Convert.ToInt32(words[40]); data.responseName[3] = words[41]; data.respDataType[3] = words[42]; //ret 5 data.responsePos[4] = Convert.ToInt32(words[45]); data.responseName[4] = words[46]; data.respDataType[4] = words[47]; //MCH data.publishIP = words[50]; data.publishPort = Convert.ToInt32(words[51]); data.log = message; } else { data.message = message; data.log = message; } return data; }
/* * Method : createReturnMessages * Returns : the response * Parameters : results * Description : creates response */ public static Data createReturnMessage(double[] returnVals) { Data data = new Data(); data.message = BOM + "PUB|OK|||5|" + EOS + "RSP|1|SUB|double|" + returnVals[0] + "|" + EOS + "RSP|2|PST|double|" + returnVals[1] + "|" + EOS + "RSP|3|HST|double|" + returnVals[2] + "|" + EOS + "RSP|4|GST|double|" + returnVals[3] + "|" + EOS + "RSP|5|TPA|double|" + returnVals[4] + "|" + EOS; data.log = data.message; return data; }
/* * Method : SendExecuteServiceMessage * Returns : string of request message * Parameters : Stream of the class containing the needed data * Description : Published a Service from the client !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! */ public static string SendPublishServiceMessage(Data data) { string message = BOM + "DRC|PUB-SERVICE|" + data.teamName + "|" + data.teamID + "|" + EOS + "SRV|" + data.serviceTag + "|" + data.serviceName + "|" + data.securityLevel + "|" + data.numArg + "|" + data.numResp + "|" + data.description + "|" + EOS + "ARG|" + data.argPosition[0] + "|" + data.argName[0] + "|" + data.argDataType[0] + "|mandatory||" + EOS + "ARG|" + data.argPosition[1] + "|" + data.argName[1] + "|" + data.argDataType[1] + "|mandatory||" + EOS + "RSP|" + data.responsePos[0] + "|" + data.responseName[0] + "|" + data.respDataType[0] + "||" + EOS + "RSP|" + data.responsePos[1] + "|" + data.responseName[1] + "|" + data.respDataType[1] + "||" + EOS + "RSP|" + data.responsePos[2] + "|" + data.responseName[2] + "|" + data.respDataType[2] + "||" + EOS + "RSP|" + data.responsePos[3] + "|" + data.responseName[3] + "|" + data.respDataType[3] + "||" + EOS + "RSP|" + data.responsePos[4] + "|" + data.responseName[4] + "|" + data.respDataType[4] + "||" + EOS + "MCH|" + data.publishIP + "|" + data.publishPort + "|" + EOS + EOM + EOS; return message; }
public string PublishService( string regIP, Int32 regPort, string teamName, string teamID) { string message; string response; Data publishData = new Data(); publishData.teamName = teamName; publishData.teamID = teamID; publishData.serviceTag = "GIORP-TOTAL"; publishData.serviceName = "totalPurchase"; publishData.numArg = 2; publishData.numResp = 5; publishData.description = "PurchaseTotaler"; publishData.argPosition[0] = 1; publishData.argPosition[1] = 2; publishData.argName[0] = "totals"; //see stupid registry publishData.argName[1] = "region"; publishData.argDataType[0] = "double"; publishData.argDataType[1] = "string"; publishData.responsePos[0] = 1; publishData.responsePos[1] = 2; publishData.responsePos[2] = 3; publishData.responsePos[3] = 4; publishData.responsePos[4] = 5; publishData.responseName[0] = "SUB"; publishData.responseName[1] = "PST"; publishData.responseName[2] = "HST"; publishData.responseName[3] = "GST"; publishData.responseName[4] = "TPA"; publishData.respDataType[0] = "double"; publishData.respDataType[1] = "double"; publishData.respDataType[2] = "double"; publishData.respDataType[3] = "double"; publishData.respDataType[4] = "double"; publishData.publishIP = "192.168.1.129"; publishData.publishPort = 3001; publishData.securityLevel = 3; message = MessageLibrary.PublishServiceMessage.SendPublishServiceMessage(publishData); response = MessageLibrary.registryConnector.connectReg(message, regIP, regPort); log.logger(response); return response; }
/* * Method : ParseUnregisterTeamMessage * Returns : Stream of the class containing the needed data * Parameters : The response message and the serialized class * Description : Parses response */ public static Data ParseUnregisterTeamMessage(string message) { Data data = new Data(); char[] delimiterChars = {'|'}; string[] words = message.Split(delimiterChars); if (words[1] == "OK") { data.message = words[1]; data.log = message; } else { data.log = message; } return data; }
/* * Method : ParseQueryTeamMessage * Returns : Stream of the class containing the needed data * Parameters : Stream of the class containing the needed data and a string of the message to be parsed * Description : Builds string to send to the registry */ public static string ParseQueryTeamMessage(Data data, string message) { Logging.Logging log = new Logging.Logging(); char[] delimiterChars = {'|'}; string[] words = message.Split(delimiterChars); if (words[1] == "OK") { message = words[1]; data.log = message; log.logger(message); } else { data.log = message; log.logger(message); } return message; }
public static Data parseReturnMessage(string message) { Data dataParsed = new Data(); char[] delimiters = new char[] { '|' }; string[] dataUnassigned = message.Split(delimiters); dataParsed.message = dataUnassigned[1]; dataParsed.numArg = Convert.ToInt32(dataUnassigned[4]); dataParsed.respValue[0] = (double)Convert.ToDecimal(dataUnassigned[9]); dataParsed.respValue[1] = (double)Convert.ToDecimal(dataUnassigned[14]); dataParsed.respValue[2] = (double)Convert.ToDecimal(dataUnassigned[19]); dataParsed.respValue[3] = (double)Convert.ToDecimal(dataUnassigned[24]); dataParsed.respValue[4] = Convert.ToDouble(dataUnassigned[29]); //dataParsed.message = return dataParsed; }
/* * Method : Call_PurchaseTotaller * Returns : none * Parameters : totalItemPrice -> total price added up from the selected items : regionCode -> region code aquired from the selection box * Description : when invoked this will take the data given, and send it to the appropriate service. */ private void Call_PurchaseTotaller(double totalItemPrice, string regionCode) { dataLocal.message = ""; dataLocal.log = ""; //put the values from the form into the data obj dataLocal.argValue1 = totalItemPrice; dataLocal.argValue2 = regionCode; //call the query service with the datalocal dataLocal = ser.QueryService(dataLocal, serviceIP, Convert.ToInt32(servicePort)); if (dataLocal.message == "OK") { //if the query comes back with an OK, execute the command itemTotal.Text = string.Format("{0:0.00}", Convert.ToDecimal(dataLocal.respValue[0].ToString()));//SUB hstTotal.Text = string.Format("{0:0.00}", Convert.ToDecimal(dataLocal.respValue[1].ToString()));//HST pstTotal.Text = string.Format("{0:0.00}", Convert.ToDecimal(dataLocal.respValue[2].ToString()));//PST gstTotal.Text = string.Format("{0:0.00}", Convert.ToDecimal(dataLocal.respValue[3].ToString()));//GST totalPrice.Text = string.Format("{0:0.00}", Convert.ToDecimal(dataLocal.respValue[4].ToString()));//GRAND TOTAL } }
//Unregister Team public Data UnregisterTeam(Data data, string regIP, Int32 regPort) { string message; string response; message = MessageLibrary.UnregisterTeamMessage.SendUnregisterTeamMessage(data); response = MessageLibrary.registryConnector.connectReg(message, regIP, regPort); Data retData = MessageLibrary.UnregisterTeamMessage.ParseUnregisterTeamMessage(response); if (retData.message == "OK") { log.logger(retData.message); return retData; } else { log.logger(retData.message); //error log } return retData; }
public Data QueryService(Data data, string regIP, Int32 regPort) { string message; string response; data = MessageLibrary.QueryServiceMessage.SendQueryServiceMessage(data); message = data.message; response = MessageLibrary.registryConnector.connectReg(message, regIP, regPort); Data retData = MessageLibrary.QueryServiceMessage.ParseQueryServiceMessage(data,response); if (retData.message == "OK") { retData = ExecuteService(retData, retData.publishIP, retData.publishPort); log.logger(retData.log); return retData; } else { log.logger(retData.log); //error log } return retData; }
/* * Method : SendUnregisterTeamMessage * Returns : string of request * Parameters : Stream of the class containing the needed data * Description : Builds string to send to the registry */ public static string SendUnregisterTeamMessage(Data data) { return BOM + "DRC|UNREG-TEAM|" + data.teamName + "|" + data.teamID + "|" + EOS + EOM + EOS; }
/* * Method : SendQueryServiceMessagee * Returns : string of registery query * Parameters : Stream of the class containing the needed data * Description : Builds string to send to the registry */ public static Data SendQueryServiceMessage(Data data) { data.message = BOM + "DRC|QUERY-SERVICE|" + data.teamName + "|" + data.teamID + "|"+ EOS + "SRV|" + data.serviceTag + "||||||" + EOS + EOM + EOS; return data; }
/* * Method : SendExecuteServiceMessage * Returns : string of request message * Parameters : Stream of the class containing the needed data * Description : Builds string to send to the registry */ public static string SendExecuteServiceMessage(Data data) { string message = BOM + "DRC|EXEC-SERVICE|" + data.teamName + "|" + data.teamID + "|" + EOS + "SRV||" + data.serviceName + "||" + data.numArg + "|||" + EOS + "ARG|" + data.argPosition[0] + "|" + data.argName[0] + "|" + data.argDataType[0] + "||" + data.argValue1 + "|" + EOS + "ARG|" + data.argPosition[1] + "|" + data.argName[1] + "|" + data.argDataType[1] + "||" + data.argValue2 + "|" + EOS + EOM + EOS; return message; }