(* Options:
Date: 2024-12-04 08:04:39
Version: 8.12
Tip: To override a DTO option, remove "//" prefix before updating
BaseUrl: https://taxfiling.pwc.de
//GlobalNamespace:
//MakeDataContractsExtensible: False
//AddReturnMarker: True
//AddDescriptionAsComments: True
//AddDataContractAttributes: False
//AddIndexesToDataMembers: False
//AddGeneratedCodeAttributes: False
//AddResponseStatus: False
//AddImplicitVersion:
//ExportValueTypes: False
IncludeTypes: RetrieveProductAsync.*
//ExcludeTypes:
//InitializeCollections: True
//AddNamespaces:
*)
namespace PwC.Metering.Core.Domain.Concretes.Interfaces
open System
open System.Collections
open System.Collections.Generic
open System.Runtime.Serialization
open ServiceStack
open ServiceStack.DataAnnotations
open System.Net
///
///Specifies a service request to retrieve a product.
///
[]
[]
type RetrieveProductBase() =
interface IGet
///
///The unique identifier of the product.
///
[]
member val Id:Int32 = new Int32() with get,set
///
///Should the related orders of the account be included in the retrieved product?
///
[]
member val IncludeOrders:Nullable = new Nullable() with get,set
///
///Specifies the number of orders to skip. Applicable only when 'IncludeOrders' is true.
///
[]
member val SkipOrders:Nullable = new Nullable() with get,set
///
///Specifies the number of orders to include. Applicable only when 'IncludeOrders' is true.
///
[]
member val TakeOrders:Nullable = new Nullable() with get,set
///
///Represents a product.
///
[]
[]
type Product() =
///
///The unique identifier of the product.
///
[]
member val Id:Int32 = new Int32() with get,set
///
///The position of this instance in a collection of 'Product' instances
///
[]
member val Index:Int32 = new Int32() with get,set
///
///The name of the product.
///
[]
[]
member val Name:String = null with get,set
///
///The version of the product.
///
[]
[]
member val Version:String = null with get,set
///
///The version of the product.
///
[]
member val Description:String = null with get,set
///
///Tags associated with the product.
///
[]
member val Tags:ResizeArray = new ResizeArray() with get,set
///
///Represents a commission to consume services.
///
[]
[]
type Order() =
///
///The unique identifier of the order.
///
[]
member val Id:Int32 = new Int32() with get,set
///
///The unique identifier of the product, for which the order is made.
///
[]
member val ProductId:Int32 = new Int32() with get,set
///
///The unique identifier of the user account, who placed the order.
///
[]
member val AccountId:Int32 = new Int32() with get,set
///
///A name to identify the order.
///
[]
[]
member val Name:String = null with get,set
///
///The name of the service, for which the order was made.
///
[]
member val ServiceName:String = null with get,set
///
///The time stamp at which the order was initiated.
///
[]
member val RequestTimestamp:Nullable = new Nullable() with get,set
///
///The time stamp at which the order was completed.
///
[]
member val ResponseTimestamp:Nullable = new Nullable() with get,set
///
///The URI from which the order was initiated.
///
[]
member val RequestUri:String = null with get,set
///
///The HTTP method of the order request.
///
[]
member val RequestHttpMethod:String = null with get,set
///
///The duration of the order request.
///
[]
member val RequestDuration:Nullable = new Nullable() with get,set
///
///The HTTP status code of the order request.
///
[]
member val ResponseStatusCode:HttpStatusCode = new HttpStatusCode() with get,set
///
///The IP address of client, who placed the order.
///
[]
member val ClientIPAddress:String = null with get,set
///
///The unit of measurement for the order.
///
[]
member val UnitOfMeasurement:String = null with get,set
///
///The type of process, for which the order is charged.
///
[]
member val ProcessType:String = null with get,set
///
///The type of data, for which the order is charged.
///
[]
member val DataType:String = null with get,set
///
///The name of the data, for which the order is charged.
///
[]
member val DataName:String = null with get,set
///
///The date of creation of the order.
///
[]
member val CreationDate:DateTime = new DateTime() with get,set
///
///The final date to retain the order in the records. After this date, the order is expunged from the records.
///
[]
member val ExpiryDate:Nullable = new Nullable() with get,set
///
///Indicates whether the order is simulated for test purposes. True if the order is simulated for test purposes; otherwise it is a false order for production purposes.
///
[]
member val IsTest:Boolean = new Boolean() with get,set
///
///Specifies a base service response class that contains a structured error information.
///
[]
[]
type ServiceResponseBase() =
///
///Data structure that holds error information from a service operation.
///
[]
member val ResponseStatus:ResponseStatus = null with get,set
///
/// Specifies that a data type should have a 'Name' property.
///
[]
type IHasName =
///
///The 'Name' property.
///
abstract Name:String with get,set
///
///Represents a service response that encapsulates product data.
///
[]
[]
type ProductResponse() =
inherit ServiceResponseBase()
///
///The product data of the response.
///
[]
member val Product:Product = null with get,set
///
///The list of orders associated with the encapsulated product.
///
[]
member val Orders:ResizeArray = new ResizeArray() with get,set
///
///Data structure that holds error information from a service operation.
///
[]
member val ResponseStatus:ResponseStatus = null with get,set
///
///Represents a service request to retrieve a product in an asynchronous operation.
///
[]
[]
[]
type RetrieveProductAsync() =
inherit RetrieveProductBase()
interface IReturn
///
///The unique identifier of the product.
///
[]
member val Id:Int32 = new Int32() with get,set
///
///Should the related orders of the account be included in the retrieved product?
///
[]
member val IncludeOrders:Nullable = new Nullable() with get,set
///
///Specifies the number of orders to skip. Applicable only when 'IncludeOrders' is true.
///
[]
member val SkipOrders:Nullable = new Nullable() with get,set
///
///Specifies the number of orders to include. Applicable only when 'IncludeOrders' is true.
///
[]
member val TakeOrders:Nullable = new Nullable() with get,set