public async Task <ApiResponse> GetAllUserByFiltersAsync(FilterRequest request)
        {
            var _apiResponse = new ApiResponse();
            var _param       = new DynamicParameters();

            _param.Add("@oSkip", request.Skip, DbType.Int32);
            _param.Add("@oTake", request.Take, DbType.Int32);
            _param.Add("@oSearchType", request.SearchType, DbType.Int32);
            _param.Add("@oSearchText", request.SearchText, DbType.String);
            _param.Add("@oSearchCol", request.SearchCol, DbType.String);
            _param.Add("@oSortCol", request.SortCol, DbType.String);
            _param.Add("@oSortDir", request.SortDir, DbType.String);
            _param.Add("@oMessage", null, DbType.String, ParameterDirection.Output);
            _param.Add("@oStatus", 0, DbType.Int16, ParameterDirection.Output);

            using (var gridReader = Task.FromResult(await _dapperService.GetMultipleAsync("API_GetAllUserByFilters", _param, CommandType.StoredProcedure)).Result)
            {
                _apiResponse.Data        = gridReader.Read <User>().ToList();
                _apiResponse.TotalRecord = gridReader.Read <Int32>().FirstOrDefault();
            }

            _apiResponse.Message = _param.Get <string>("oMessage");
            _apiResponse.Status  = _param.Get <Int16>("oStatus") == 1 ? true : false;

            return(_apiResponse);
        }