/// <summary>
        /// Executes the Service Object method and returns any data.
        /// </summary>
        public override void Execute()
        {
            try
            {
                // Makes better use of resources and avoids any unnecessary open connections to data sources.
                using (DataConnector connector = new DataConnector(this))
                {
                    // Get the configuration from the service instance.
                    connector.GetConfiguration();

                    // Get the populated Service Object definition.
                    ServiceObject serviceObject = Service.ServiceObjects[0];
                    // Get the method to execute.
                    Method method = serviceObject.Methods[0];

                    // InputProperties and ReturnProperties are string collections, create property collections for later ease-of-use.
                    Property[] inputs  = new Property[method.InputProperties.Count];
                    Property[] returns = new Property[method.ReturnProperties.Count];

                    for (int i = 0; i < method.InputProperties.Count; i++)
                    {
                        inputs[i] = serviceObject.Properties[method.InputProperties[i]];
                    }

                    for (int i = 0; i < method.ReturnProperties.Count; i++)
                    {
                        returns[i] = serviceObject.Properties[method.ReturnProperties[i]];
                    }

                    // Execute the Service Object method and return any data.
                    connector.Execute(inputs, method.Validation.RequiredProperties, returns, method.Type, serviceObject);
                }

                // Indicate that the operation was successful.
                ServicePackage.IsSuccessful = true;
            }
            catch (Exception ex)
            {
                // Record the exception message and indicate that this was an error.
                ServicePackage.ServiceMessages.Add(ex.Message, MessageSeverity.Error);
                // Indicate that the operation was unsuccessful.
                ServicePackage.IsSuccessful = false;
            }
        }
        /// <summary>
        /// Executes the Service Object method and returns any data.
        /// </summary>
        public override void Execute()
        {
            try
            {
                // Makes better use of resources and avoids any unnecessary open connections to data sources.
                using (DataConnector connector = new DataConnector(this))
                {
                    // Get the configuration from the service instance.
                    connector.GetConfiguration();

                    // Get the populated Service Object definition.
                    ServiceObject serviceObject = Service.ServiceObjects[0];
                    // Get the method to execute.
                    Method method = serviceObject.Methods[0];

                    // InputProperties and ReturnProperties are string collections, create property collections for later ease-of-use.
                    Property[] inputs = new Property[method.InputProperties.Count];
                    Property[] returns = new Property[method.ReturnProperties.Count];

                    for (int i = 0; i < method.InputProperties.Count; i++)
                    {
                        inputs[i] = serviceObject.Properties[method.InputProperties[i]];
                    }

                    for (int i = 0; i < method.ReturnProperties.Count; i++)
                    {
                        returns[i] = serviceObject.Properties[method.ReturnProperties[i]];
                    }

                    // Execute the Service Object method and return any data.
                    connector.Execute(inputs, method.Validation.RequiredProperties, returns, method.Type, serviceObject);
                }

                // Indicate that the operation was successful.
                ServicePackage.IsSuccessful = true;
            }
            catch (Exception ex)
            {
                // Record the exception message and indicate that this was an error.
                ServicePackage.ServiceMessages.Add(ex.Message, MessageSeverity.Error);
                // Indicate that the operation was unsuccessful.
                ServicePackage.IsSuccessful = false;
            }
        }