(* Options: Date: 2025-04-07 20:28:02 Version: 8.52 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: RetrieveAllProducts.* //ExcludeTypes: //InitializeCollections: False //AddNamespaces: *) namespace PwC.Metering.Core.Domain.Concretes.Interfaces open System open System.IO open System.Collections open System.Collections.Generic open System.Runtime.Serialization open ServiceStack open ServiceStack.DataAnnotations open System.Net [<AllowNullLiteral>] type IPaginate = abstract Skip:Nullable<Int32> with get,set abstract Take:Nullable<Int32> with get,set ///<summary> ///The number of query results to skip. ///</summary> [<Api(Description="The number of query results to skip.")>] [<AllowNullLiteral>] type PaginationBase() = ///<summary> ///The number of query results to skip. ///</summary> [<ApiMember(Description="The number of query results to skip.")>] member val Skip:Nullable<Int32> = new Nullable<Int32>() with get,set ///<summary> ///The number of query results to include. ///</summary> [<ApiMember(Description="The number of query results to include.")>] member val Take:Nullable<Int32> = new Nullable<Int32>() with get,set ///<summary> ///Specifies a service to retrieve all products. ///</summary> [<Api(Description="Specifies a service to retrieve all products.")>] [<AllowNullLiteral>] type RetrieveAllProductsBase() = inherit PaginationBase() interface IGet ///<summary> ///Should the related orders of the account be included in the retrieved products? ///</summary> [<ApiMember(Description="Should the related orders of the account be included in the retrieved products?")>] member val IncludeOrders:Nullable<Boolean> = new Nullable<Boolean>() with get,set ///<summary> ///Specifies the number of orders to skip per product. Applicable only when 'IncludeOrders' is true. ///</summary> [<ApiMember(Description="Specifies the number of orders to skip per product. Applicable only when 'IncludeOrders' is true. ")>] member val SkipOrders:Nullable<Int32> = new Nullable<Int32>() with get,set ///<summary> ///Specifies the number of orders to include per product. Applicable only when 'IncludeOrders' is true. ///</summary> [<ApiMember(Description="Specifies the number of orders to include per product. Applicable only when 'IncludeOrders' is true. ")>] member val TakeOrders:Nullable<Int32> = new Nullable<Int32>() with get,set ///<summary> ///Represents a product. ///</summary> [<Api(Description="Represents a product.")>] [<AllowNullLiteral>] type Product() = ///<summary> ///The unique identifier of the product. ///</summary> [<ApiMember(Description="The unique identifier of the product.", IsRequired=true)>] member val Id:Int32 = new Int32() with get,set ///<summary> ///The position of this instance in a collection of 'Product' instances ///</summary> [<ApiMember(Description="The position of this instance in a collection of 'Product' instances", IsRequired=true)>] member val Index:Int32 = new Int32() with get,set ///<summary> ///The name of the product. ///</summary> [<ApiMember(Description="The name of the product.", IsRequired=true)>] [<Validate(Validator="NotEmpty")>] member val Name:String = null with get,set ///<summary> ///The version of the product. ///</summary> [<ApiMember(Description="The version of the product.", IsRequired=true)>] [<Validate(Validator="NotEmpty")>] member val Version:String = null with get,set ///<summary> ///The version of the product. ///</summary> [<ApiMember(Description="The version of the product.")>] member val Description:String = null with get,set ///<summary> ///Tags associated with the product. ///</summary> [<ApiMember(Description="Tags associated with the product.")>] member val Tags:ResizeArray<String> = null with get,set ///<summary> /// Specifies that a data type should have a 'Name' property. ///</summary> [<AllowNullLiteral>] type IHasName = ///<summary> ///The 'Name' property. ///</summary> abstract Name:String with get,set ///<summary> ///Represents a query response that contains a structured error information and encapsulates products. ///</summary> [<Api(Description="Represents a query response that contains a structured error information and encapsulates products.")>] [<AllowNullLiteral>] type ProductQueryResponse() = inherit QueryResponse<Product>() ///<summary> ///The dictionary of orders associated with each found product. ///</summary> [<ApiMember(Description="The dictionary of orders associated with each found product.")>] member val OrdersMap:Dictionary<Int32, List<Order>> = null with get,set ///<summary> ///Represents a service request to retrieve all products. ///</summary> [<Route("/sync/products", "GET")>] [<Api(Description="Represents a service request to retrieve all products.")>] [<AllowNullLiteral>] type RetrieveAllProducts() = inherit RetrieveAllProductsBase() interface IReturn<ProductQueryResponse>