/* Options: Date: 2025-04-06 13:57:14 Version: 8.52 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: False //ExportValueTypes: False IncludeTypes: RetrieveAllProducts.* //ExcludeTypes: //AddNamespaces: //AddDefaultXmlNamespace: http://schemas.servicestack.net/types */ using System; using System.IO; 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 { ///<summary> /// Specifies that a data type should have a 'Name' property. ///</summary> public partial interface IHasName { ///<summary> ///The 'Name' property. ///</summary> string Name { get; set; } } } namespace PwC.Metering.Core.Domain.Concretes.Models { ///<summary> ///Represents a product. ///</summary> [Api(Description="Represents a product.")] public partial class Product : IHasName { ///<summary> ///The unique identifier of the product. ///</summary> [ApiMember(Description="The unique identifier of the product.", IsRequired=true)] public virtual int Id { 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)] public virtual int Index { get; set; } ///<summary> ///The name of the product. ///</summary> [ApiMember(Description="The name of the product.", IsRequired=true)] [Validate("NotEmpty")] public virtual string Name { get; set; } ///<summary> ///The version of the product. ///</summary> [ApiMember(Description="The version of the product.", IsRequired=true)] [Validate("NotEmpty")] public virtual string Version { get; set; } ///<summary> ///The version of the product. ///</summary> [ApiMember(Description="The version of the product.")] public virtual string Description { get; set; } ///<summary> ///Tags associated with the product. ///</summary> [ApiMember(Description="Tags associated with the product.")] public virtual List<string> Tags { get; set; } = []; } } namespace PwC.Metering.Core.Services.Contracts.Helpers { public partial interface IPaginate { int? Skip { get; set; } int? Take { get; set; } } ///<summary> ///The number of query results to skip. ///</summary> [Api(Description="The number of query results to skip.")] public partial class PaginationBase : IPaginate { ///<summary> ///The number of query results to skip. ///</summary> [ApiMember(Description="The number of query results to skip.")] public virtual int? Skip { get; set; } ///<summary> ///The number of query results to include. ///</summary> [ApiMember(Description="The number of query results to include.")] public virtual int? Take { get; set; } } } namespace PwC.Metering.Core.Services.Contracts.Requests { ///<summary> ///Represents a service request to retrieve all products. ///</summary> [Route("/sync/products", "GET")] [Api(Description="Represents a service request to retrieve all products.")] public partial class RetrieveAllProducts : RetrieveAllProductsBase, IReturn<ProductQueryResponse> { } ///<summary> ///Specifies a service to retrieve all products. ///</summary> [Api(Description="Specifies a service to retrieve all products.")] public partial class RetrieveAllProductsBase : PaginationBase, 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?")] public virtual bool? IncludeOrders { 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. ")] public virtual int? SkipOrders { 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. ")] public virtual int? TakeOrders { get; set; } } } namespace PwC.Metering.Core.Services.Contracts.Responses { ///<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.")] public partial class ProductQueryResponse : QueryResponse<Product> { ///<summary> ///The dictionary of orders associated with each found product. ///</summary> [ApiMember(Description="The dictionary of orders associated with each found product.")] public virtual Dictionary<int, List<Order>> OrdersMap { get; set; } = new(); } }