Esempio n. 1
0
        public async Task <GetSelectableColumnsResponse> GetSelectableColumnsAsync(string platform, int?organizationId = null, int?userId = null, int?groupBy = null)
        {
            var result     = new GetSelectableColumnsResponse();
            var apiRequest = SetupGetSelectableColumnsRequest(platform, organizationId, userId, groupBy);

            try
            {
                // GET
                var response = await ExecuteAsync <GetSelectableColumnsResponse>(apiRequest);

                return(response);
            }
            catch (Exception ex)
            {
                result.Error = new ResponseError().Load(ex);
            }
            return(result);
        }
Esempio n. 2
0
        public GetSelectableColumnsResponse GetSelectableColumns(string platform, int?organizationId = null, int?userId = null, int?groupBy = null)
        {
            var result = new GetSelectableColumnsResponse();

            try
            {
                using (new RequestTimer(result))
                {
                    var dataSource = _reportsDataSourceFactory.GetDataSource(platform);
                    var columns    = dataSource.GetAllSelectableColumnDefinitions(organizationId, groupBy);
                    result.Data = columns;
                }
            }
            catch (Exception ex)
            {
                result.Error = new ResponseError().Load(ex);
                _logger.LogException(ex);
            }
            return(result);
        }
        public static SearchRequest AddFilter(this SearchRequest request, GetSelectableColumnsResponse allColumns, string uniqueColumnName, object value, FilterModeEnum mode = FilterModeEnum.Equal)
        {
            if (request.Filters == null)
            {
                request.Filters = new List <SearchRequestFilter>();
            }

            var column = allColumns.Data.Where(x => x.UniqueName == uniqueColumnName).Select(x => new SelectedColumn(x.Id)).FirstOrDefault();

            request.Filters.Add(new SearchRequestFilter()
            {
                ColumnId = column.ColumnId,
                Mode     = mode,
                Values   = new List <string>()
                {
                    value.ToString()
                }
            });

            return(request);
        }
Esempio n. 4
0
 public void Setup()
 {
     _client        = new ReportsServiceClient();
     _allColumnInfo = _client.GetColumnMappings(_platform, 1, null, clearCache: true);
     _allColumns    = _client.GetSelectableColumns(_platform, null, null);
 }