ASH.ResourceLibrary.WebApi

<back to all web services

ResourceItemCompletionRequest

Requires Authentication
The following routes are available for this service:
GET/memberResourceCompletions/{MemberId}/{StartDate}/{EndDate}Retrieves all completion records of all types for the member and the given date range.
GET/memberResourceCompletions/{MemberId}/{StartDate}/{EndDate}/{ResourceType}Retrieves all completion records for the specified type and date range of the member.
GET/memberResourceCompletions/{MemberId}/{StartDate}/{EndDate}/{ResourceType}/{RetrievalAmount}Retrieves member completions based on date range and resource type. If no resource type is specified it will return all completions.
import 'package:servicestack/servicestack.dart';

class ResourceItemCompletion implements IConvertible
{
    int? resourceCompletionId;
    int? resourceProgressId;
    int? progressOnCompletion;
    String? resourceId;
    String? resourceName;
    String? resourceType;
    DateTime? completionDate;

    ResourceItemCompletion({this.resourceCompletionId,this.resourceProgressId,this.progressOnCompletion,this.resourceId,this.resourceName,this.resourceType,this.completionDate});
    ResourceItemCompletion.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        resourceCompletionId = json['resourceCompletionId'];
        resourceProgressId = json['resourceProgressId'];
        progressOnCompletion = json['progressOnCompletion'];
        resourceId = json['resourceId'];
        resourceName = json['resourceName'];
        resourceType = json['resourceType'];
        completionDate = JsonConverters.fromJson(json['completionDate'],'DateTime',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'resourceCompletionId': resourceCompletionId,
        'resourceProgressId': resourceProgressId,
        'progressOnCompletion': progressOnCompletion,
        'resourceId': resourceId,
        'resourceName': resourceName,
        'resourceType': resourceType,
        'completionDate': JsonConverters.toJson(completionDate,'DateTime',context!)
    };

    getTypeName() => "ResourceItemCompletion";
    TypeContext? context = _ctx;
}

class ResourceItemCompletionResponse implements IConvertible
{
    int? memberId;
    DateTime? startDate;
    DateTime? endDate;
    int? totalCompletions;
    int? retrievalAmount;
    List<ResourceItemCompletion>? resourceCompletions;

    ResourceItemCompletionResponse({this.memberId,this.startDate,this.endDate,this.totalCompletions,this.retrievalAmount,this.resourceCompletions});
    ResourceItemCompletionResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        memberId = json['memberId'];
        startDate = JsonConverters.fromJson(json['startDate'],'DateTime',context!);
        endDate = JsonConverters.fromJson(json['endDate'],'DateTime',context!);
        totalCompletions = json['totalCompletions'];
        retrievalAmount = json['retrievalAmount'];
        resourceCompletions = JsonConverters.fromJson(json['resourceCompletions'],'List<ResourceItemCompletion>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'memberId': memberId,
        'startDate': JsonConverters.toJson(startDate,'DateTime',context!),
        'endDate': JsonConverters.toJson(endDate,'DateTime',context!),
        'totalCompletions': totalCompletions,
        'retrievalAmount': retrievalAmount,
        'resourceCompletions': JsonConverters.toJson(resourceCompletions,'List<ResourceItemCompletion>',context!)
    };

    getTypeName() => "ResourceItemCompletionResponse";
    TypeContext? context = _ctx;
}

class ResourceItemCompletionRequest implements IConvertible
{
    int? memberId;
    DateTime? startDate;
    DateTime? endDate;
    String? resourceType;
    int? retrievalAmount;

    ResourceItemCompletionRequest({this.memberId,this.startDate,this.endDate,this.resourceType,this.retrievalAmount});
    ResourceItemCompletionRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        memberId = json['memberId'];
        startDate = JsonConverters.fromJson(json['startDate'],'DateTime',context!);
        endDate = JsonConverters.fromJson(json['endDate'],'DateTime',context!);
        resourceType = json['resourceType'];
        retrievalAmount = json['retrievalAmount'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'memberId': memberId,
        'startDate': JsonConverters.toJson(startDate,'DateTime',context!),
        'endDate': JsonConverters.toJson(endDate,'DateTime',context!),
        'resourceType': resourceType,
        'retrievalAmount': retrievalAmount
    };

    getTypeName() => "ResourceItemCompletionRequest";
    TypeContext? context = _ctx;
}

TypeContext _ctx = TypeContext(library: 'resourcelibrary.api.ashcompanies.com', types: <String, TypeInfo> {
    'ResourceItemCompletion': TypeInfo(TypeOf.Class, create:() => ResourceItemCompletion()),
    'ResourceItemCompletionResponse': TypeInfo(TypeOf.Class, create:() => ResourceItemCompletionResponse()),
    'List<ResourceItemCompletion>': TypeInfo(TypeOf.Class, create:() => <ResourceItemCompletion>[]),
    'ResourceItemCompletionRequest': TypeInfo(TypeOf.Class, create:() => ResourceItemCompletionRequest()),
});

Dart ResourceItemCompletionRequest DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml

HTTP + XML

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

GET /memberResourceCompletions/{MemberId}/{StartDate}/{EndDate} HTTP/1.1 
Host: resourcelibrary.api.ashcompanies.com 
Accept: application/xml
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<ResourceItemCompletionResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/ASH.ResourceLibrary.Interfaces.ServiceModels">
  <EndDate>0001-01-01T00:00:00</EndDate>
  <MemberId>0</MemberId>
  <ResourceCompletions xmlns:d2p1="http://schemas.datacontract.org/2004/07/ASH.ResourceLibrary.Interfaces.Models">
    <d2p1:ResourceItemCompletion>
      <d2p1:CompletionDate>0001-01-01T00:00:00</d2p1:CompletionDate>
      <d2p1:ProgressOnCompletion>0</d2p1:ProgressOnCompletion>
      <d2p1:ResourceCompletionId>0</d2p1:ResourceCompletionId>
      <d2p1:ResourceId>String</d2p1:ResourceId>
      <d2p1:ResourceName>String</d2p1:ResourceName>
      <d2p1:ResourceProgressId>0</d2p1:ResourceProgressId>
      <d2p1:ResourceType>String</d2p1:ResourceType>
    </d2p1:ResourceItemCompletion>
  </ResourceCompletions>
  <RetrievalAmount>0</RetrievalAmount>
  <StartDate>0001-01-01T00:00:00</StartDate>
  <TotalCompletions>0</TotalCompletions>
</ResourceItemCompletionResponse>