public WebStoreViewResultMessage SearchWebStoreView(WebStoreViewMessage message)
        {
            UsernameToken token = SecurityHelper.GetLicenseToken(RequestSoapContext.Current);

            WebStoreViewResultMessage result = new WebStoreViewResultMessage();
            result = userDatabaseManager.SearchWebStoreView(message);

            return result;
        }
        public WebStoreViewResultMessage SearchWebStoreView(WebStoreViewMessage message)
        {
            SoapEnvelope envelope = new SoapEnvelope();
            envelope.Context.Security.Tokens.AddRange(_security.Tokens);
            envelope.SetBodyObject(message);

            return (WebStoreViewResultMessage)base.SendRequestResponse("SearchWebStoreView",envelope).GetBodyObject(typeof(WebStoreViewResultMessage));
        }
        /// <summary>
        /// Gets the search web store view.
        /// </summary>
        /// <param name="message"> The web store view message.</param>
        /// <returns> The web store view result.</returns>
        public WebStoreViewResultMessage SearchWebStoreView(WebStoreViewMessage message)
        {
            // SearchWebStoreViewByKeyword
            // SearchWebStoreViewByPublisher
            SqlConnection connection = null;
            WebStoreViewResultMessage result = new WebStoreViewResultMessage();

            try
            {
                // Create connection string
                connection = new SqlConnection(_connectionString);
                connection.Open();

                WebStore webStore = new WebStore();

                if ( message.UsePaging )
                {
                    string sp = string.Empty;

                    if ( message.SearchByType == WebStoreViewMessage.SearchType.ByKeyword )
                    {
                        sp = "SearchWebStoreViewByKeyword";
                    }
                    if ( message.SearchByType == WebStoreViewMessage.SearchType.ByPublisher )
                    {
                        sp = "SearchWebStoreViewByPublisher";
                    }

                    webStore.EnforceConstraints = false;

                    SqlHelper.FillDataset(connection,
                        sp,
                        webStore,
                        new string[] {webStore.WebStoreApplications.TableName},
                        new object[] {message.SearchValue});

                    webStore.EnforceConstraints = true;
                }

                result.WebStoreView = webStore;
            }
            catch
            {
                throw;
            }
            finally
            {
                if ( connection.State != ConnectionState.Closed )
                {
                    connection.Close();
                }
            }

            return result;
        }
        public IAsyncResult BeginSearchWebStoreView(WebStoreViewMessage message, MessageResultHandler callback, object state)
        {
            SoapEnvelope envelope = new SoapEnvelope();
            envelope.Context.Security.Tokens.AddRange(_security.Tokens);
            envelope.SetBodyObject(message);

            _clientHandler = callback;
            return base.BeginSendRequestResponse("SearchWebStoreView",envelope,new AsyncCallback(EndMessageResultHandler),typeof(WebStoreViewResultMessage));
        }
        /// <summary>
        /// Gets the web store view.
        /// </summary>
        /// <param name="message"> The web store view message.</param>
        /// <returns> The web store view result.</returns>
        public WebStoreViewResultMessage GetWebStoreView(WebStoreViewMessage message)
        {
            SqlConnection connection = null;
            WebStoreViewResultMessage result = new WebStoreViewResultMessage();

            try
            {
                // Create connection string
                connection = new SqlConnection(_connectionString);
                connection.Open();

                WebStore webStore = new WebStore();

                if ( message.UsePaging )
                {
                    webStore.EnforceConstraints = false;

                    SqlHelper.FillDataset(connection,
                        "GetWebStoreView",
                        webStore,
                        new string[] {webStore.WebStoreApplications.TableName},
                        new object[] {message.StartFromIndex});

                    webStore.EnforceConstraints = true;
                }

                result.WebStoreView = webStore;
            }
            catch
            {
                throw;
            }
            finally
            {
                if ( connection.State != ConnectionState.Closed )
                {
                    connection.Close();
                }
            }

            return result;
        }