public questStatus Page(out StoredProceduresListViewModel storedProceduresListViewModel)
        {
            // Initialize
            questStatus status = null;

            storedProceduresListViewModel = null;


            // Set up query options.
            // TEMPORARY: OPTIMIZE THIS
            List <SearchField> searchFieldList = new List <SearchField>();

            SearchOptions searchOptions = new SearchOptions();

            searchOptions.SearchFieldList = searchFieldList;

            QueryOptions queryOptions = new QueryOptions(100, 1);

            queryOptions.SearchOptions = searchOptions;
            QueryResponse queryResponse = null;


            // List
            List <Quest.Functional.Logging.StoredProcedureLog> storedProcedureLogList = null;
            StoredProcedureLogsMgr storedProcedureLogsMgr = new StoredProcedureLogsMgr(this.UserSession);

            status = storedProcedureLogsMgr.List(queryOptions, out storedProcedureLogList, out queryResponse);
            if (!questStatusDef.IsSuccess(status))
            {
                return(status);
            }

            // Transfer model.
            storedProceduresListViewModel = new StoredProceduresListViewModel(this.UserSession);
            foreach (Quest.Functional.Logging.StoredProcedureLog storedProcedureLog in storedProcedureLogList)
            {
                StoredProcedureLineItemViewModel storedProcedureLineItemViewModel = new StoredProcedureLineItemViewModel();
                BufferMgr.TransferBuffer(storedProcedureLog, storedProcedureLineItemViewModel);
                storedProceduresListViewModel.Items.Add(storedProcedureLineItemViewModel);
            }
            return(new questStatus(Severity.Success));
        }
        public questStatus List(QueryOptions queryOptions, out StoredProceduresListViewModel storedProceduresListViewModel)
        {
            // Initialize
            questStatus status = null;

            storedProceduresListViewModel = null;


            // List
            QueryResponse queryResponse = null;
            List <Quest.Functional.Logging.StoredProcedureLog> storedProcedureLogList = null;
            StoredProcedureLogsMgr storedProcedureLogsMgr = new StoredProcedureLogsMgr(this.UserSession);

            status = storedProcedureLogsMgr.List(queryOptions, out storedProcedureLogList, out queryResponse);
            if (!questStatusDef.IsSuccess(status))
            {
                return(status);
            }

            // Sort
            storedProcedureLogList.Sort(delegate(Quest.Functional.Logging.StoredProcedureLog i1, Quest.Functional.Logging.StoredProcedureLog i2) { return(i2.Created.CompareTo(i1.Created)); });


            // Transfer model.
            // TODO: USE BaseListModeler to xfer queryOptions to QueryOptionsViewModel.
            storedProceduresListViewModel = new StoredProceduresListViewModel(this.UserSession);
            QueryResponseViewModel queryResponseViewModel = null;

            status = TransferQueryResponse(queryResponse, out queryResponseViewModel);
            if (!questStatusDef.IsSuccess(status))
            {
                return(status);
            }
            storedProceduresListViewModel.QueryResponse = queryResponseViewModel;
            foreach (Quest.Functional.Logging.StoredProcedureLog storedProcedureLog in storedProcedureLogList)
            {
                StoredProcedureLineItemViewModel storedProcedureLineItemViewModel = new StoredProcedureLineItemViewModel();
                BufferMgr.TransferBuffer(storedProcedureLog, storedProcedureLineItemViewModel);
                storedProceduresListViewModel.Items.Add(storedProcedureLineItemViewModel);
            }
            return(new questStatus(Severity.Success));
        }
        /*==================================================================================================================================
        * Public Methods
        *=================================================================================================================================*/

        #region LIST
        //----------------------------------------------------------------------------------------------------------------------------------
        // LIST
        //----------------------------------------------------------------------------------------------------------------------------------
        public questStatus List(DatabaseId databaseId, out StoredProceduresListViewModel storedProceduresListViewModel)
        {
            // Initialize
            questStatus status = null;

            storedProceduresListViewModel = null;


            // Get query options from query string
            QueryOptions    queryOptions    = null;
            BaseListModeler baseListModeler = new BaseListModeler(this.HttpRequestBase, new UserSession());

            status = baseListModeler.ParsePagingOptions(this.HttpRequestBase, out queryOptions);
            if (!questStatusDef.IsSuccess(status))
            {
                return(status);
            }


            // Set up query options.
            // TEMPORARY: OPTIMIZE THIS
            List <SearchField> searchFieldList = new List <SearchField>();
            SearchField        searchField     = new SearchField();

            searchField.Name            = "DatabaseId";
            searchField.SearchOperation = SearchOperation.Equal;
            searchField.Type            = typeof(int);
            searchField.Value           = databaseId.Id.ToString();
            searchFieldList.Add(searchField);

            SearchOptions searchOptions = new SearchOptions();

            searchOptions.SearchFieldList = searchFieldList;
            queryOptions.SearchOptions    = searchOptions;
            QueryResponse queryResponse = null;


            // Get Database storedProcedures
            List <StoredProcedure> storedProceduresetList = null;
            StoredProceduresMgr    storedProceduresMgr    = new StoredProceduresMgr(this.UserSession);

            status = storedProceduresMgr.List(queryOptions, out storedProceduresetList, out queryResponse);
            if (!questStatusDef.IsSuccess(status))
            {
                return(status);
            }


            // Sort by name
            storedProceduresetList.Sort(delegate(StoredProcedure i1, StoredProcedure i2) { return(i1.Name.CompareTo(i2.Name)); });


            // Transfer model.
            // TODO: USE BaseListModeler to xfer queryOptions to QueryOptionsStoredProcedureModel.
            storedProceduresListViewModel = new StoredProceduresListViewModel(this.UserSession);
            QueryResponseViewModel queryResponseViewModel = null;

            status = TransferQueryResponse(queryResponse, out queryResponseViewModel);
            if (!questStatusDef.IsSuccess(status))
            {
                return(status);
            }
            storedProceduresListViewModel.QueryResponse = queryResponseViewModel;
            foreach (Quest.Functional.MasterPricing.StoredProcedure storedProcedure in storedProceduresetList)
            {
                StoredProcedureLineItemViewModel storedProcedureLineItemViewModel = new StoredProcedureLineItemViewModel();
                BufferMgr.TransferBuffer(storedProcedure, storedProcedureLineItemViewModel);
                storedProceduresListViewModel.Items.Add(storedProcedureLineItemViewModel);
            }
            return(new questStatus(Severity.Success));
        }