/* Options:
Date: 2024-12-22 11:49:35
Version: 8.12
Tip: To override a DTO option, remove "//" prefix before updating
BaseUrl: https://taxfiling.pwc.de
//GlobalNamespace:
//MakePartial: True
//MakeVirtual: True
//MakeInternal: False
//MakeDataContractsExtensible: False
//AddNullableAnnotations: False
//AddReturnMarker: True
//AddDescriptionAsComments: True
//AddDataContractAttributes: False
//AddIndexesToDataMembers: False
//AddGeneratedCodeAttributes: False
//AddResponseStatus: False
//AddImplicitVersion:
//InitializeCollections: True
//ExportValueTypes: False
IncludeTypes: RetrieveAllProductsAsync.*
//ExcludeTypes:
//AddNamespaces:
//AddDefaultXmlNamespace: http://schemas.servicestack.net/types
*/
using System;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.Serialization;
using ServiceStack;
using ServiceStack.DataAnnotations;
using System.Net;
using PwC.Metering.Core.Services.Contracts.Helpers;
using PwC.Metering.Core.Services.Contracts.Requests;
using PwC.Metering.Core.Domain.Concretes.Models;
using PwC.Metering.Core.Domain.Concretes.Interfaces;
using PwC.Metering.Core.Services.Contracts.Responses;
namespace PwC.Metering.Core.Domain.Concretes.Interfaces
{
///
/// Specifies that a data type should have a 'Name' property.
///
public partial interface IHasName
{
///
///The 'Name' property.
///
string Name { get; set; }
}
}
namespace PwC.Metering.Core.Domain.Concretes.Models
{
///
///Represents a product.
///
[Api(Description="Represents a product.")]
public partial class Product
: IHasName
{
public Product()
{
Tags = new List{};
}
///
///The unique identifier of the product.
///
[ApiMember(Description="The unique identifier of the product.", IsRequired=true)]
public virtual int Id { get; set; }
///
///The position of this instance in a collection of 'Product' instances
///
[ApiMember(Description="The position of this instance in a collection of 'Product' instances", IsRequired=true)]
public virtual int Index { get; set; }
///
///The name of the product.
///
[ApiMember(Description="The name of the product.", IsRequired=true)]
[Validate("NotEmpty")]
public virtual string Name { get; set; }
///
///The version of the product.
///
[ApiMember(Description="The version of the product.", IsRequired=true)]
[Validate("NotEmpty")]
public virtual string Version { get; set; }
///
///The version of the product.
///
[ApiMember(Description="The version of the product.")]
public virtual string Description { get; set; }
///
///Tags associated with the product.
///
[ApiMember(Description="Tags associated with the product.")]
public virtual List Tags { get; set; }
}
}
namespace PwC.Metering.Core.Services.Contracts.Helpers
{
public partial interface IPaginate
{
int? Skip { get; set; }
int? Take { get; set; }
}
///
///The number of query results to skip.
///
[Api(Description="The number of query results to skip.")]
public partial class PaginationBase
: IPaginate
{
///
///The number of query results to skip.
///
[ApiMember(Description="The number of query results to skip.")]
public virtual int? Skip { get; set; }
///
///The number of query results to include.
///
[ApiMember(Description="The number of query results to include.")]
public virtual int? Take { get; set; }
}
}
namespace PwC.Metering.Core.Services.Contracts.Requests
{
///
///Represents a service request to retrieve all products in an asynchronous operation.
///
[Route("/async/products", "GET")]
[Api(Description="Represents a service request to retrieve all products in an asynchronous operation.")]
public partial class RetrieveAllProductsAsync
: RetrieveAllProductsBase, IReturn
{
///
///Should the related orders of the account be included in the retrieved products?
///
[ApiMember(Description="Should the related orders of the account be included in the retrieved products?")]
public virtual bool? IncludeOrders { get; set; }
///
///Specifies the number of orders to skip per product. Applicable only when 'IncludeOrders' is true.
///
[ApiMember(Description="Specifies the number of orders to skip per product. Applicable only when 'IncludeOrders' is true. ")]
public virtual int? SkipOrders { get; set; }
///
///Specifies the number of orders to include per product. Applicable only when 'IncludeOrders' is true.
///
[ApiMember(Description="Specifies the number of orders to include per product. Applicable only when 'IncludeOrders' is true. ")]
public virtual int? TakeOrders { get; set; }
///
///The number of query results to skip.
///
[ApiMember(Description="The number of query results to skip.")]
public virtual int? Skip { get; set; }
///
///The number of query results to include.
///
[ApiMember(Description="The number of query results to include.")]
public virtual int? Take { get; set; }
}
///
///Specifies a service to retrieve all products.
///
[Api(Description="Specifies a service to retrieve all products.")]
public partial class RetrieveAllProductsBase
: PaginationBase, IGet
{
///
///Should the related orders of the account be included in the retrieved products?
///
[ApiMember(Description="Should the related orders of the account be included in the retrieved products?")]
public virtual bool? IncludeOrders { get; set; }
///
///Specifies the number of orders to skip per product. Applicable only when 'IncludeOrders' is true.
///
[ApiMember(Description="Specifies the number of orders to skip per product. Applicable only when 'IncludeOrders' is true. ")]
public virtual int? SkipOrders { get; set; }
///
///Specifies the number of orders to include per product. Applicable only when 'IncludeOrders' is true.
///
[ApiMember(Description="Specifies the number of orders to include per product. Applicable only when 'IncludeOrders' is true. ")]
public virtual int? TakeOrders { get; set; }
///
///The number of query results to skip.
///
[ApiMember(Description="The number of query results to skip.")]
public virtual int? Skip { get; set; }
///
///The number of query results to include.
///
[ApiMember(Description="The number of query results to include.")]
public virtual int? Take { get; set; }
}
}
namespace PwC.Metering.Core.Services.Contracts.Responses
{
///
///Represents a query response that contains a structured error information and encapsulates products.
///
[Api(Description="Represents a query response that contains a structured error information and encapsulates products.")]
public partial class ProductQueryResponse
: QueryResponse
{
public ProductQueryResponse()
{
OrdersMap = new Dictionary>{};
Results = new List{};
Meta = new Dictionary{};
}
///
///The dictionary of orders associated with each found product.
///
[ApiMember(Description="The dictionary of orders associated with each found product.")]
public virtual Dictionary> OrdersMap { get; set; }
[DataMember(Order=1)]
public virtual int Offset { get; set; }
[DataMember(Order=2)]
public virtual int Total { get; set; }
[DataMember(Order=3)]
public virtual List Results { get; set; }
[DataMember(Order=4)]
public virtual Dictionary Meta { get; set; }
[DataMember(Order=5)]
public virtual ResponseStatus ResponseStatus { get; set; }
}
}