예제 #1
0
 /// <summary>
 /// Generates a predefined in SIB Query Message with parameters
 /// </summary>
 /// <param name="sessionKey">Session Key</param>
 /// <param name="idQuery">Predefined Query Id</param>
 /// <param name="parameters">Query Parameters Dictionary (param key, value)</param>
 /// <returns>Query Message</returns>
 public SSAPMessage <SSAPBodyMessage> GenerateQueryMessageWithParams(string sessionKey, string idQuery, Dictionary <string, string> parameters)
 {
     if (!IsQuery(idQuery, SSAPQueryTypeEnum.SIB_DEFINED))
     {
         throw new SQLSentenceNotAllowedForThisOperationException("ERROR - statement no expected");
     }
     if (idQuery.Length > 0 && parameters != null)
     {
         var body = new SSAPBodyQueryWithParamMessage()
         {
             Query       = idQuery,
             QueryType   = SSAPQueryTypeEnum.SIB_DEFINED,
             QueryParams = parameters
         };
         return(new SSAPMessage <SSAPBodyMessage>()
         {
             SessionKey = sessionKey,
             Body = body,
             Direction = SSAPMessageDirectionEnum.REQUEST,
             MessageType = SSAPMessageTypesEnum.QUERY,
         });
     }
     else
     {
         return(GenerateQueryMessage(sessionKey, idQuery));
     }
 }
예제 #2
0
        protected override SSAPBodyMessage Create(Type objectType, JObject jsonObject)
        {
            string type = jsonObject["@type"].Value <String>();

            switch (type)
            {
            case "SSAPBodyReturnMessage":
                return(SSAPBodyReturnMessage.FromJson(jsonObject.ToString()));

            case "SSAPBodyConfigMessage":
                return(SSAPBodyConfigMessage.FromJson(jsonObject.ToString()));

            case "SSAPBodyJoinMessage":
                return(SSAPBodyJoinMessage.FromJson(jsonObject.ToString()));

            case "SSAPBodyJoinTokenMessage":
                return(SSAPBodyJoinMessage.FromJson(jsonObject.ToString()));

            case "SSAPBodyJoinUserAndPasswordMessage":
                return(SSAPBodyJoinUserAndPasswordMessage.FromJson(jsonObject.ToString()));

            case "SSAPBodyLeaveMessage":
                return(SSAPBodyLeaveMessage.FromJson(jsonObject.ToString()));

            case "SSAPBodyMessage":
                return(SSAPBodyMessage.FromJson(jsonObject.ToString()));

            case "SSAPBodyOperationMessage":
                return(SSAPBodyOperationMessage.FromJson(jsonObject.ToString()));

            case "SSAPBodyQueryMessage":
                return(SSAPBodyQueryMessage.FromJson(jsonObject.ToString()));

            case "SSAPBodyQueryWithParamMessage":
                return(SSAPBodyQueryWithParamMessage.FromJson(jsonObject.ToString()));

            case "SSAPBodySubscribeMessage":
                return(SSAPBodySubscribeMessage.FromJson(jsonObject.ToString()));

            case "SSAPBodyUnsubscribeMessage":
                return(SSAPBodyUnsubscribeMessage.FromJson(jsonObject.ToString()));

            case "SSAPBodyLogMessage":
                return(SSAPBodyLogMessage.FromJson(jsonObject.ToString()));

            default:
                return(null);
            }
        }