All Verbs | /RestApi/Sitefinity/Analytics/GetDashboardData | ||
---|---|---|---|
All Verbs | /RestApi/GetDashboardData |
import 'package:servicestack/servicestack.dart';
class GetDashboardDataMessage implements IConvertible
{
String? DashboardId;
String? jsStartDate;
String? jsEndDate;
Map<String,String?>? QueryStringFilters;
DateTime? StartDate;
DateTime? EndDate;
String? GroupBy;
Map<String,String?>? Dimensions;
String? MaxValue;
String? SiteId;
GetDashboardDataMessage({this.DashboardId,this.jsStartDate,this.jsEndDate,this.QueryStringFilters,this.StartDate,this.EndDate,this.GroupBy,this.Dimensions,this.MaxValue,this.SiteId});
GetDashboardDataMessage.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
DashboardId = json['DashboardId'];
jsStartDate = json['jsStartDate'];
jsEndDate = json['jsEndDate'];
QueryStringFilters = JsonConverters.toStringMap(json['QueryStringFilters']);
StartDate = JsonConverters.fromJson(json['StartDate'],'DateTime',context!);
EndDate = JsonConverters.fromJson(json['EndDate'],'DateTime',context!);
GroupBy = json['GroupBy'];
Dimensions = JsonConverters.toStringMap(json['Dimensions']);
MaxValue = json['MaxValue'];
SiteId = json['SiteId'];
return this;
}
Map<String, dynamic> toJson() => {
'DashboardId': DashboardId,
'jsStartDate': jsStartDate,
'jsEndDate': jsEndDate,
'QueryStringFilters': QueryStringFilters,
'StartDate': JsonConverters.toJson(StartDate,'DateTime',context!),
'EndDate': JsonConverters.toJson(EndDate,'DateTime',context!),
'GroupBy': GroupBy,
'Dimensions': Dimensions,
'MaxValue': MaxValue,
'SiteId': SiteId
};
getTypeName() => "GetDashboardDataMessage";
TypeContext? context = _ctx;
}
class MetricItemDTO implements IConvertible
{
String? Name;
String? DisplayName;
double? Value;
String? Unit;
String? DenominatorMetricName;
String? NominatorMetricName;
bool? ShowInSelector;
MetricItemDTO({this.Name,this.DisplayName,this.Value,this.Unit,this.DenominatorMetricName,this.NominatorMetricName,this.ShowInSelector});
MetricItemDTO.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Name = json['Name'];
DisplayName = json['DisplayName'];
Value = JsonConverters.toDouble(json['Value']);
Unit = json['Unit'];
DenominatorMetricName = json['DenominatorMetricName'];
NominatorMetricName = json['NominatorMetricName'];
ShowInSelector = json['ShowInSelector'];
return this;
}
Map<String, dynamic> toJson() => {
'Name': Name,
'DisplayName': DisplayName,
'Value': Value,
'Unit': Unit,
'DenominatorMetricName': DenominatorMetricName,
'NominatorMetricName': NominatorMetricName,
'ShowInSelector': ShowInSelector
};
getTypeName() => "MetricItemDTO";
TypeContext? context = _ctx;
}
// @DataContract
class DimensionItem implements IConvertible
{
// @DataMember
String? Value;
// @DataMember
String? Name;
DimensionItem({this.Value,this.Name});
DimensionItem.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Value = json['Value'];
Name = json['Name'];
return this;
}
Map<String, dynamic> toJson() => {
'Value': Value,
'Name': Name
};
getTypeName() => "DimensionItem";
TypeContext? context = _ctx;
}
class SingleSerie implements IConvertible
{
MetricItemDTO? MainMetric;
String? CategoryFormat;
bool? Batch;
bool? IsCategory;
String? SeriesName;
List<DimensionItem>? SeriesDimensions;
String? RelatedDimension;
SingleSerie({this.MainMetric,this.CategoryFormat,this.Batch,this.IsCategory,this.SeriesName,this.SeriesDimensions,this.RelatedDimension});
SingleSerie.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
MainMetric = JsonConverters.fromJson(json['MainMetric'],'MetricItemDTO',context!);
CategoryFormat = json['CategoryFormat'];
Batch = json['Batch'];
IsCategory = json['IsCategory'];
SeriesName = json['SeriesName'];
SeriesDimensions = JsonConverters.fromJson(json['SeriesDimensions'],'List<DimensionItem>',context!);
RelatedDimension = json['RelatedDimension'];
return this;
}
Map<String, dynamic> toJson() => {
'MainMetric': JsonConverters.toJson(MainMetric,'MetricItemDTO',context!),
'CategoryFormat': CategoryFormat,
'Batch': Batch,
'IsCategory': IsCategory,
'SeriesName': SeriesName,
'SeriesDimensions': JsonConverters.toJson(SeriesDimensions,'List<DimensionItem>',context!),
'RelatedDimension': RelatedDimension
};
getTypeName() => "SingleSerie";
TypeContext? context = _ctx;
}
class DashBoardControl implements IConvertible
{
String? ControlType;
Map<String,String?>? attributes;
String? PlaceholderId;
String? DisplayName;
List<SingleSerie>? Series;
String? DimensionName;
List<String>? RelatedDimension;
String? SortbyField;
bool? SortAsc;
DashBoardControl({this.ControlType,this.attributes,this.PlaceholderId,this.DisplayName,this.Series,this.DimensionName,this.RelatedDimension,this.SortbyField,this.SortAsc});
DashBoardControl.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
ControlType = json['ControlType'];
attributes = JsonConverters.toStringMap(json['attributes']);
PlaceholderId = json['PlaceholderId'];
DisplayName = json['DisplayName'];
Series = JsonConverters.fromJson(json['Series'],'List<SingleSerie>',context!);
DimensionName = json['DimensionName'];
RelatedDimension = JsonConverters.fromJson(json['RelatedDimension'],'List<String>',context!);
SortbyField = json['SortbyField'];
SortAsc = json['SortAsc'];
return this;
}
Map<String, dynamic> toJson() => {
'ControlType': ControlType,
'attributes': attributes,
'PlaceholderId': PlaceholderId,
'DisplayName': DisplayName,
'Series': JsonConverters.toJson(Series,'List<SingleSerie>',context!),
'DimensionName': DimensionName,
'RelatedDimension': JsonConverters.toJson(RelatedDimension,'List<String>',context!),
'SortbyField': SortbyField,
'SortAsc': SortAsc
};
getTypeName() => "DashBoardControl";
TypeContext? context = _ctx;
}
class KendoItem implements IConvertible
{
String? category;
Map<String,double?>? values;
String? group;
String? tooltip;
Map<String,String?>? Dimensions;
KendoItem({this.category,this.values,this.group,this.tooltip,this.Dimensions});
KendoItem.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
category = json['category'];
values = JsonConverters.fromJson(json['values'],'Map<String,double?>',context!);
group = json['group'];
tooltip = json['tooltip'];
Dimensions = JsonConverters.toStringMap(json['Dimensions']);
return this;
}
Map<String, dynamic> toJson() => {
'category': category,
'values': JsonConverters.toJson(values,'Map<String,double?>',context!),
'group': group,
'tooltip': tooltip,
'Dimensions': Dimensions
};
getTypeName() => "KendoItem";
TypeContext? context = _ctx;
}
class GetDashboardData implements IConvertible
{
List<DashBoardControl>? Controls;
String? LayoutTemplateName;
String? GroupBy;
List<MetricItemDTO>? MetricNames;
String? ErrorMessage;
bool? NeedsGrouping;
bool? IsDrillDown;
List<KendoItem>? DateItems;
List<KendoItem>? NonDateItems;
KendoItem? TotalsItem;
List<String>? MapDataTable;
bool? IsMapRequest;
Map<String,List<String>?>? SeriesSources;
int? StatusCode;
bool? SuppressMultipleSeries;
GetDashboardData({this.Controls,this.LayoutTemplateName,this.GroupBy,this.MetricNames,this.ErrorMessage,this.NeedsGrouping,this.IsDrillDown,this.DateItems,this.NonDateItems,this.TotalsItem,this.MapDataTable,this.IsMapRequest,this.SeriesSources,this.StatusCode,this.SuppressMultipleSeries});
GetDashboardData.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Controls = JsonConverters.fromJson(json['Controls'],'List<DashBoardControl>',context!);
LayoutTemplateName = json['LayoutTemplateName'];
GroupBy = json['GroupBy'];
MetricNames = JsonConverters.fromJson(json['MetricNames'],'List<MetricItemDTO>',context!);
ErrorMessage = json['ErrorMessage'];
NeedsGrouping = json['NeedsGrouping'];
IsDrillDown = json['IsDrillDown'];
DateItems = JsonConverters.fromJson(json['DateItems'],'List<KendoItem>',context!);
NonDateItems = JsonConverters.fromJson(json['NonDateItems'],'List<KendoItem>',context!);
TotalsItem = JsonConverters.fromJson(json['TotalsItem'],'KendoItem',context!);
MapDataTable = JsonConverters.fromJson(json['MapDataTable'],'List<String>',context!);
IsMapRequest = json['IsMapRequest'];
SeriesSources = JsonConverters.fromJson(json['SeriesSources'],'Map<String,List<String>?>',context!);
StatusCode = json['StatusCode'];
SuppressMultipleSeries = json['SuppressMultipleSeries'];
return this;
}
Map<String, dynamic> toJson() => {
'Controls': JsonConverters.toJson(Controls,'List<DashBoardControl>',context!),
'LayoutTemplateName': LayoutTemplateName,
'GroupBy': GroupBy,
'MetricNames': JsonConverters.toJson(MetricNames,'List<MetricItemDTO>',context!),
'ErrorMessage': ErrorMessage,
'NeedsGrouping': NeedsGrouping,
'IsDrillDown': IsDrillDown,
'DateItems': JsonConverters.toJson(DateItems,'List<KendoItem>',context!),
'NonDateItems': JsonConverters.toJson(NonDateItems,'List<KendoItem>',context!),
'TotalsItem': JsonConverters.toJson(TotalsItem,'KendoItem',context!),
'MapDataTable': JsonConverters.toJson(MapDataTable,'List<String>',context!),
'IsMapRequest': IsMapRequest,
'SeriesSources': JsonConverters.toJson(SeriesSources,'Map<String,List<String>?>',context!),
'StatusCode': StatusCode,
'SuppressMultipleSeries': SuppressMultipleSeries
};
getTypeName() => "GetDashboardData";
TypeContext? context = _ctx;
}
TypeContext _ctx = TypeContext(library: 'www.asg.com.au', types: <String, TypeInfo> {
'GetDashboardDataMessage': TypeInfo(TypeOf.Class, create:() => GetDashboardDataMessage()),
'MetricItemDTO': TypeInfo(TypeOf.Class, create:() => MetricItemDTO()),
'DimensionItem': TypeInfo(TypeOf.Class, create:() => DimensionItem()),
'SingleSerie': TypeInfo(TypeOf.Class, create:() => SingleSerie()),
'List<DimensionItem>': TypeInfo(TypeOf.Class, create:() => <DimensionItem>[]),
'DashBoardControl': TypeInfo(TypeOf.Class, create:() => DashBoardControl()),
'List<SingleSerie>': TypeInfo(TypeOf.Class, create:() => <SingleSerie>[]),
'KendoItem': TypeInfo(TypeOf.Class, create:() => KendoItem()),
'Map<String,double?>': TypeInfo(TypeOf.Class, create:() => Map<String,double?>()),
'GetDashboardData': TypeInfo(TypeOf.Class, create:() => GetDashboardData()),
'List<DashBoardControl>': TypeInfo(TypeOf.Class, create:() => <DashBoardControl>[]),
'List<MetricItemDTO>': TypeInfo(TypeOf.Class, create:() => <MetricItemDTO>[]),
'List<KendoItem>': TypeInfo(TypeOf.Class, create:() => <KendoItem>[]),
'Map<String,List<String>?>': TypeInfo(TypeOf.Class, create:() => Map<String,List<String>?>()),
});
Dart GetDashboardDataMessage DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /RestApi/Sitefinity/Analytics/GetDashboardData HTTP/1.1
Host: www.asg.com.au
Accept: application/xml
Content-Type: application/xml
Content-Length: length
<GetDashboardDataMessage xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Telerik.Sitefinity.Analytics.Server.Infrastructure.Services.ServiceStackServices.Model">
<DashboardId>00000000-0000-0000-0000-000000000000</DashboardId>
<Dimensions xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d2p1:KeyValueOfstringstring>
<d2p1:Key>String</d2p1:Key>
<d2p1:Value>String</d2p1:Value>
</d2p1:KeyValueOfstringstring>
</Dimensions>
<GroupBy>String</GroupBy>
<MaxValue>String</MaxValue>
<QueryStringFilters xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d2p1:KeyValueOfstringstring>
<d2p1:Key>String</d2p1:Key>
<d2p1:Value>String</d2p1:Value>
</d2p1:KeyValueOfstringstring>
</QueryStringFilters>
<SiteId>00000000-0000-0000-0000-000000000000</SiteId>
<jsEndDate>String</jsEndDate>
<jsStartDate>String</jsStartDate>
</GetDashboardDataMessage>
HTTP/1.1 200 OK Content-Type: application/xml Content-Length: length <GetDashboardData xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Telerik.Sitefinity.Analytics.Server.Infrastructure.Services.ServiceStackServices.Model"> <Controls xmlns:d2p1="http://schemas.datacontract.org/2004/07/Telerik.Sitefinity.Analytics.Server.Core.Domain.DTO"> <d2p1:DashBoardControl> <d2p1:ControlType>String</d2p1:ControlType> <d2p1:DimensionName>String</d2p1:DimensionName> <d2p1:DisplayName>String</d2p1:DisplayName> <d2p1:PlaceholderId>String</d2p1:PlaceholderId> <d2p1:RelatedDimension xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays"> <d4p1:string>String</d4p1:string> </d2p1:RelatedDimension> <d2p1:Series> <d2p1:SingleSerie> <d2p1:Batch>false</d2p1:Batch> <d2p1:CategoryFormat>String</d2p1:CategoryFormat> <d2p1:IsCategory>false</d2p1:IsCategory> <d2p1:MainMetric> <d2p1:DenominatorMetricName>String</d2p1:DenominatorMetricName> <d2p1:DisplayName>String</d2p1:DisplayName> <d2p1:Name>String</d2p1:Name> <d2p1:NominatorMetricName>String</d2p1:NominatorMetricName> <d2p1:ShowInSelector>false</d2p1:ShowInSelector> <d2p1:Unit>String</d2p1:Unit> <d2p1:Value>0</d2p1:Value> </d2p1:MainMetric> <d2p1:RelatedDimension>String</d2p1:RelatedDimension> <d2p1:SeriesDimensions> <d2p1:DimensionItem i:nil="true" /> </d2p1:SeriesDimensions> <d2p1:SeriesName>String</d2p1:SeriesName> </d2p1:SingleSerie> </d2p1:Series> <d2p1:SortAsc>false</d2p1:SortAsc> <d2p1:SortbyField>String</d2p1:SortbyField> <d2p1:attributes xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays"> <d4p1:KeyValueOfstringstring> <d4p1:Key>String</d4p1:Key> <d4p1:Value>String</d4p1:Value> </d4p1:KeyValueOfstringstring> </d2p1:attributes> </d2p1:DashBoardControl> </Controls> <DateItems xmlns:d2p1="http://schemas.datacontract.org/2004/07/Telerik.Sitefinity.Analytics.Server.Core.Domain.DTO"> <d2p1:KendoItem> <d2p1:Dimensions xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays"> <d4p1:KeyValueOfstringstring> <d4p1:Key>String</d4p1:Key> <d4p1:Value>String</d4p1:Value> </d4p1:KeyValueOfstringstring> </d2p1:Dimensions> <d2p1:category>String</d2p1:category> <d2p1:group>String</d2p1:group> <d2p1:tooltip>String</d2p1:tooltip> <d2p1:values xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays"> <d4p1:KeyValueOfstringdouble> <d4p1:Key>String</d4p1:Key> <d4p1:Value>0</d4p1:Value> </d4p1:KeyValueOfstringdouble> </d2p1:values> </d2p1:KendoItem> </DateItems> <ErrorMessage>String</ErrorMessage> <GroupBy>String</GroupBy> <IsDrillDown>false</IsDrillDown> <IsMapRequest>false</IsMapRequest> <LayoutTemplateName>String</LayoutTemplateName> <MapDataTable xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays"> <d2p1:ArrayOfstring> <d2p1:string>String</d2p1:string> </d2p1:ArrayOfstring> </MapDataTable> <MetricNames xmlns:d2p1="http://schemas.datacontract.org/2004/07/Telerik.Sitefinity.Analytics.Server.Core.Domain.DTO"> <d2p1:MetricItemDTO> <d2p1:DenominatorMetricName>String</d2p1:DenominatorMetricName> <d2p1:DisplayName>String</d2p1:DisplayName> <d2p1:Name>String</d2p1:Name> <d2p1:NominatorMetricName>String</d2p1:NominatorMetricName> <d2p1:ShowInSelector>false</d2p1:ShowInSelector> <d2p1:Unit>String</d2p1:Unit> <d2p1:Value>0</d2p1:Value> </d2p1:MetricItemDTO> </MetricNames> <NeedsGrouping>false</NeedsGrouping> <NonDateItems xmlns:d2p1="http://schemas.datacontract.org/2004/07/Telerik.Sitefinity.Analytics.Server.Core.Domain.DTO"> <d2p1:KendoItem> <d2p1:Dimensions xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays"> <d4p1:KeyValueOfstringstring> <d4p1:Key>String</d4p1:Key> <d4p1:Value>String</d4p1:Value> </d4p1:KeyValueOfstringstring> </d2p1:Dimensions> <d2p1:category>String</d2p1:category> <d2p1:group>String</d2p1:group> <d2p1:tooltip>String</d2p1:tooltip> <d2p1:values xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays"> <d4p1:KeyValueOfstringdouble> <d4p1:Key>String</d4p1:Key> <d4p1:Value>0</d4p1:Value> </d4p1:KeyValueOfstringdouble> </d2p1:values> </d2p1:KendoItem> </NonDateItems> <SeriesSources xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays"> <d2p1:KeyValueOfstringArrayOfstringty7Ep6D1> <d2p1:Key>String</d2p1:Key> <d2p1:Value> <d2p1:string>String</d2p1:string> </d2p1:Value> </d2p1:KeyValueOfstringArrayOfstringty7Ep6D1> </SeriesSources> <StatusCode>0</StatusCode> <SuppressMultipleSeries>false</SuppressMultipleSeries> <TotalsItem xmlns:d2p1="http://schemas.datacontract.org/2004/07/Telerik.Sitefinity.Analytics.Server.Core.Domain.DTO"> <d2p1:Dimensions xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays"> <d3p1:KeyValueOfstringstring> <d3p1:Key>String</d3p1:Key> <d3p1:Value>String</d3p1:Value> </d3p1:KeyValueOfstringstring> </d2p1:Dimensions> <d2p1:category>String</d2p1:category> <d2p1:group>String</d2p1:group> <d2p1:tooltip>String</d2p1:tooltip> <d2p1:values xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays"> <d3p1:KeyValueOfstringdouble> <d3p1:Key>String</d3p1:Key> <d3p1:Value>0</d3p1:Value> </d3p1:KeyValueOfstringdouble> </d2p1:values> </TotalsItem> </GetDashboardData>