/*******************************************************
        * Helpers
        * *****************************************************/

        private async Task <IList <SearchResultDto> > UseFetchingMethod(string query, PagingInfo pagingInfo, string method, string sortby, string orderby)
        {
            IList <SearchResultDto> search = new List <SearchResultDto>();

            switch (method)
            {
            case "\"\"":
                var option1 = await _SearchRepository.Bestmatch(query, pagingInfo, method, sortby, orderby);

                option1.ToList().ForEach(s => { search.Add(s); });
                break;

            case "\"bestmatch\"":
                var option2 = await _SearchRepository.Bestmatch(query, pagingInfo, method, sortby, orderby);

                option2.ToList().ForEach(s => { search.Add(s); });
                break;

            case "\"matchall\"":
                var option3 = await _SearchRepository.MatchAll(query, pagingInfo, method, sortby, orderby);

                option3.ToList().ForEach(s => { search.Add(s); });
                break;

            default:
                var defaultOption = await _SearchRepository.Bestmatch(query, pagingInfo, method, sortby, orderby);

                defaultOption.ToList().ForEach(s => { search.Add(s); });
                break;
            }
            return(search);
        }