/* Options: Date: 2024-09-16 19:03:01 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: SearchProductsAsync.* //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 to search for product data in an asynchronous operation. /// [Route("/async/products/search", "GET")] [Api(Description="Represents a service to search for product data in an asynchronous operation.")] public partial class SearchProductsAsync : SearchProductsBase, IReturn { /// ///The unique identifier of the account associated with the product. /// [ApiMember(Description="The unique identifier of the account associated with the product.")] public virtual int? ProductId { get; set; } /// ///The unique identifier of the account associated with the product. /// [ApiMember(Description="The unique identifier of the account associated with the product.")] public virtual int? AccountId { get; set; } /// ///The name of the product. /// [ApiMember(Description="The name of the product.")] public virtual string Name { get; set; } /// ///Search by using the name of the product that starts with the specified value. /// [ApiMember(Description="Search by using the name of the product that starts with the specified value.")] public virtual string NameStartsWith { get; set; } /// ///Search by using the name of the product that ends with the specified value. /// [ApiMember(Description="Search by using the name of the product that ends with the specified value.")] public virtual string NameEndsWith { get; set; } /// ///Search by using the name of the product that contains the specified value. /// [ApiMember(Description="Search by using the name of the product that contains the specified value.")] public virtual string NameContains { get; set; } /// ///The version of the product. /// [ApiMember(Description="The version of the product.")] public virtual string Version { get; set; } /// ///Search by using the version of the product that starts with the specified value. /// [ApiMember(Description="Search by using the version of the product that starts with the specified value.")] public virtual string VersionStartsWith { get; set; } /// ///Search by using the version of the product that ends with the specified value. /// [ApiMember(Description="Search by using the version of the product that ends with the specified value.")] public virtual string VersionEndsWith { get; set; } /// ///Search by using the version of the product that contains the specified value. /// [ApiMember(Description="Search by using the version of the product that contains the specified value.")] public virtual string VersionContains { get; set; } /// ///The description of the product. /// [ApiMember(Description="The description of the product.")] public virtual string Description { get; set; } /// ///Search by using the description of the product that starts with the specified value. /// [ApiMember(Description="Search by using the description of the product that starts with the specified value.")] public virtual string DescriptionStartsWith { get; set; } /// ///Search by using the description of the product that ends with the specified value. /// [ApiMember(Description="Search by using the description of the product that ends with the specified value.")] public virtual string DescriptionEndsWith { get; set; } /// ///Search by using the description of the product that contains the specified value. /// [ApiMember(Description="Search by using the description of the product that contains the specified value.")] public virtual string DescriptionContains { get; set; } /// ///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 search for products. /// [Api(Description="Specifies a service to search for products.")] public partial class SearchProductsBase : PaginationBase, IGet { /// ///The unique identifier of the account associated with the product. /// [ApiMember(Description="The unique identifier of the account associated with the product.")] public virtual int? ProductId { get; set; } /// ///The unique identifier of the account associated with the product. /// [ApiMember(Description="The unique identifier of the account associated with the product.")] public virtual int? AccountId { get; set; } /// ///The name of the product. /// [ApiMember(Description="The name of the product.")] public virtual string Name { get; set; } /// ///Search by using the name of the product that starts with the specified value. /// [ApiMember(Description="Search by using the name of the product that starts with the specified value.")] public virtual string NameStartsWith { get; set; } /// ///Search by using the name of the product that ends with the specified value. /// [ApiMember(Description="Search by using the name of the product that ends with the specified value.")] public virtual string NameEndsWith { get; set; } /// ///Search by using the name of the product that contains the specified value. /// [ApiMember(Description="Search by using the name of the product that contains the specified value.")] public virtual string NameContains { get; set; } /// ///The version of the product. /// [ApiMember(Description="The version of the product.")] public virtual string Version { get; set; } /// ///Search by using the version of the product that starts with the specified value. /// [ApiMember(Description="Search by using the version of the product that starts with the specified value.")] public virtual string VersionStartsWith { get; set; } /// ///Search by using the version of the product that ends with the specified value. /// [ApiMember(Description="Search by using the version of the product that ends with the specified value.")] public virtual string VersionEndsWith { get; set; } /// ///Search by using the version of the product that contains the specified value. /// [ApiMember(Description="Search by using the version of the product that contains the specified value.")] public virtual string VersionContains { get; set; } /// ///The description of the product. /// [ApiMember(Description="The description of the product.")] public virtual string Description { get; set; } /// ///Search by using the description of the product that starts with the specified value. /// [ApiMember(Description="Search by using the description of the product that starts with the specified value.")] public virtual string DescriptionStartsWith { get; set; } /// ///Search by using the description of the product that ends with the specified value. /// [ApiMember(Description="Search by using the description of the product that ends with the specified value.")] public virtual string DescriptionEndsWith { get; set; } /// ///Search by using the description of the product that contains the specified value. /// [ApiMember(Description="Search by using the description of the product that contains the specified value.")] public virtual string DescriptionContains { get; set; } /// ///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; } } }