public manModelReplyType GetProKnowDetails(string sManufacturer, string sModel)
        {
            Error        = false;
            ErrorMessage = "";

            manModelReplyType   modelsReplyType     = new manModelReplyType();
            manModelRequestType manModelRequestType = new manModelRequestType();
            Guid gdTransactionID = Guid.NewGuid();

            try
            {
                // all of this information needs to be system variables
                var conf           = SecurityAccessor.Instance.EncryptConfig;
                var proKnowService = conf.GetProKnowESBService();
                manModelRequestType.serviceInformation               = new serviceInformationType();
                manModelRequestType.serviceInformation.domain        = conf.DecryptValue(proKnowService.Domain);
                manModelRequestType.serviceInformation.shopNumber    = GlobalDataAccessor.Instance.CurrentSiteId.StoreNumber;
                manModelRequestType.serviceInformation.terminalID    = GlobalDataAccessor.Instance.CurrentSiteId.TerminalId;
                manModelRequestType.serviceInformation.userID        = DesktopSession.UserName;
                manModelRequestType.serviceInformation.transactionID = gdTransactionID.ToString();
                manModelRequestType.serviceInformation.timeStamp     = ShopDateTime.Instance.ShopDate;
                manModelRequestType.serviceData = new manModelRequestTypeServiceData();
                manModelRequestType.serviceData.manufacturer = sManufacturer.ToUpper();
                manModelRequestType.serviceData.model        = sModel;

                string ePName = conf.DecryptValue(proKnowService.EndPointName);
                string ePUri  = conf.DecryptValue(proKnowService.Uri);
                Port = new proknowPortClient(ePName, ePUri);
                Port.Open();
                modelsReplyType = Port.GetProknowDetails(manModelRequestType);
                Port.Close();

                if (manModelRequestType.serviceInformation.status != null)
                {
                    Error        = true;
                    ErrorMessage = manModelRequestType.serviceInformation.status.sourceMessage;
                    FileLogger.Instance.logMessage(LogLevel.WARN, this, "GetProKnowDetails errored:  " + ErrorMessage + " [" + gdTransactionID.ToString() + "]");
                }
                else
                {
                    FileLogger.Instance.logMessage(LogLevel.INFO, this, "GetProKnowDetails called. [" + gdTransactionID.ToString() + "]");
                }
            }
            catch (Exception exp)
            {
                Error        = true;
                ErrorMessage = exp.Message;
                FileLogger.Instance.logMessage(LogLevel.ERROR, this, "GetProKnowDetails errored:  " + ErrorMessage + " [" + gdTransactionID.ToString() + "]");
            }

            return(modelsReplyType);
        }
        public groupOfValuesType GetGroupOfValues(List <groupOfValuesInputType> lstGroupOfInputValues)
        {
            Error        = false;
            ErrorMessage = "";

            groupOfValuesType groupofValues = new groupOfValuesType();
            Guid gdTransactionID            = Guid.NewGuid();

            try
            {
                var conf           = SecurityAccessor.Instance.EncryptConfig;
                var proKnowService = conf.GetProKnowESBService();
                groupOfValuesRequestType groupOfValuesRequest = new groupOfValuesRequestType();
                groupOfValuesRequest.serviceInformation = new serviceInformationType()
                {
                    domain        = conf.DecryptValue(proKnowService.Domain),
                    shopNumber    = GlobalDataAccessor.Instance.CurrentSiteId.StoreNumber,
                    terminalID    = GlobalDataAccessor.Instance.CurrentSiteId.TerminalId,
                    timeStamp     = ShopDateTime.Instance.ShopDate,
                    transactionID = gdTransactionID.ToString(),
                    userID        = DesktopSession.UserName
                };

                groupOfValuesInputType[] groupOfInputTypeValues = lstGroupOfInputValues.ToArray();
                groupOfValuesRequest.serviceData = new groupOfValuesRequestTypeServiceData()
                {
                    groupOfValuesInput = groupOfInputTypeValues
                };

                Port = new proknowPortClient(conf.DecryptValue(proKnowService.EndPointName), conf.DecryptValue(proKnowService.Uri));
                Port.Open();
                groupofValues = Port.GroupOfValues(groupOfValuesRequest);
                Port.Close();
            }
            catch (Exception exp)
            {
                Error        = true;
                ErrorMessage = exp.Message;
                FileLogger.Instance.logMessage(LogLevel.ERROR, this, "GetProKnowDetails errored:  " + ErrorMessage + " [" + gdTransactionID.ToString() + "]");
            }
            return(groupofValues);
        }