/* Options: Date: 2026-02-04 14:01:17 Version: 8.90 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: HoleClientSideZertifikatEigenschaften.* //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.xEric.Core.Domain.Concretes.Certificates; using PwC.xEric.Core.Services.Contracts.Requests; using PwC.xEric.Core.Domain.Concretes.Models; using PwC.DigitalHub.Utilities.IO.Core.Concretes.Models; using PwC.DigitalHub.Utilities.Domain.IO.Contracts; using PwC.xEric.Core.Domain.Contracts.Models; using PwC.xEric.Core.Services.Contracts.Responses; namespace PwC.DigitalHub.Utilities.Domain.IO.Contracts { /// ///Represents a base class for a file with raw data. /// [Api(Description="Represents a base class for a file with raw data.")] public partial class FileBase { /// ///The raw data content of the file in bytes. /// [ApiMember(Description="The raw data content of the file in bytes.", Name="Content")] public virtual byte[] Content { get; set; } } public partial interface IFileMetadata { string Name { get; set; } string FullName { get; set; } DateTime LastAccessTime { get; set; } DateTime LastAccessTimeUtc { get; set; } DateTime LastWriteTime { get; set; } DateTime LastWriteTimeUtc { get; set; } long Length { get; set; } int UserId { get; set; } int GroupId { get; set; } bool GroupCanExecute { get; set; } bool GroupCanWrite { get; set; } bool GroupCanRead { get; set; } bool OwnerCanRead { get; set; } bool OwnerCanExecute { get; set; } bool OwnerCanWrite { get; set; } bool OthersCanRead { get; set; } bool OthersCanExecute { get; set; } bool OthersCanWrite { get; set; } Dictionary Extensions { get; set; } } } namespace PwC.DigitalHub.Utilities.IO.Core.Concretes.Models { /// ///Represents a generic file that contains raw data content in bytes /// [Api(Description="Represents a generic file that contains raw data content in bytes")] public partial class BinaryFile : FileBase { /// ///The attributes of the file. /// [ApiMember(Description="The attributes of the file.")] public virtual FileMetadata Metadata { get; set; } /// ///The name of the file without information on its directory path. /// [ApiMember(Description="The name of the file without information on its directory path.")] public virtual string Name { get; set; } } /// ///Represents information about a file or directory. /// [Api(Description="Represents information about a file or directory.")] public partial class FileMetadata : IFileMetadata { /// ///The name of the file.For files, gets the name of the file.For directories, gets the name of the last directory in the hierarchy if a hierarchy exists; otherwise, the name of the directory. /// [ApiMember(Description="The name of the file.\nFor files, gets the name of the file.\nFor directories, gets the name of the last directory in the hierarchy if a hierarchy exists; otherwise, the name of the directory.")] public virtual string Name { get; set; } /// ///The full path of the directory or file. /// [ApiMember(Description="The full path of the directory or file.")] public virtual string FullName { get; set; } /// ///The time the current file or directory was last accessed. /// [ApiMember(Description="The time the current file or directory was last accessed.")] public virtual DateTime LastAccessTime { get; set; } /// ///The name of the file. /// [ApiMember(Description="The name of the file.")] public virtual DateTime LastAccessTimeUtc { get; set; } /// ///The time when the current file or directory was last written to. /// [ApiMember(Description="The time when the current file or directory was last written to.")] public virtual DateTime LastWriteTime { get; set; } /// ///The time, in coordinated universal time (UTC), when the current file or directory was last written to. /// [ApiMember(Description="The time, in coordinated universal time (UTC), when the current file or directory was last written to.")] public virtual DateTime LastWriteTimeUtc { get; set; } /// ///The size, in bytes, of the current file. /// [ApiMember(Description="The size, in bytes, of the current file.")] public virtual long Length { get; set; } /// ///The size, in bytes, of the current file. /// [ApiMember(Description="The size, in bytes, of the current file.")] public virtual int UserId { get; set; } /// ///The file group id. /// [ApiMember(Description="The file group id.")] public virtual int GroupId { get; set; } /// ///A value that indicates whether the others can read from this file. /// [ApiMember(Description="A value that indicates whether the others can read from this file.")] public virtual bool OthersCanRead { get; set; } /// ///A value that indicates whether the group members can execute this file. /// [ApiMember(Description="A value that indicates whether the group members can execute this file.")] public virtual bool GroupCanExecute { get; set; } /// ///A value that indicates whether the group members can write into this file. /// [ApiMember(Description="A value that indicates whether the group members can write into this file.")] public virtual bool GroupCanWrite { get; set; } /// ///A value that indicates whether the group members can read from this file. /// [ApiMember(Description="A value that indicates whether the group members can read from this file.")] public virtual bool GroupCanRead { get; set; } /// ///A value that indicates whether the owner can execute this file. /// [ApiMember(Description="A value that indicates whether the owner can execute this file.")] public virtual bool OwnerCanExecute { get; set; } /// ///A value that indicates whether the owner can write into this file. /// [ApiMember(Description="A value that indicates whether the owner can write into this file.")] public virtual bool OwnerCanWrite { get; set; } /// ///A value that indicates whether the owner can read from this file. /// [ApiMember(Description="A value that indicates whether the owner can read from this file.")] public virtual bool OwnerCanRead { get; set; } /// ///A value that indicates whether others can read from this file. /// [ApiMember(Description="A value that indicates whether others can read from this file.")] public virtual bool OthersCanExecute { get; set; } /// ///A value that indicates whether others can write into this file. /// [ApiMember(Description="A value that indicates whether others can write into this file.")] public virtual bool OthersCanWrite { get; set; } /// ///Extensions to the file attributes. /// [ApiMember(Description="Extensions to the file attributes.")] public virtual Dictionary Extensions { get; set; } = new(); } } namespace PwC.xEric.Core.Domain.Concretes.Certificates { /// ///Represents a client-side generated certificate that is protected by a password. /// [Api(Description="Represents a client-side generated certificate that is protected by a password.")] public partial class ClientSideCertificate : ISecuredCertificate { /// ///The friendly name of the certificate. /// [ApiMember(Description="The friendly name of the certificate.", IsRequired=true)] public virtual string Name { get; set; } /// ///The password to protect the certificate from unauthorized access. /// [StringLength(255)] [ApiMember(Description="The password to protect the certificate from unauthorized access.", IsRequired=true)] public virtual string Pin { get; set; } /// ///The file that contains the private key. Access is protected by the PIN. /// [ApiMember(Description="The file that contains the private key. Access is protected by the PIN.", IsRequired=true)] public virtual BinaryFile PrivateKeyFile { get; set; } /// ///The file that contains the certificate data and public key. /// [ApiMember(Description="The file that contains the certificate data and public key.", IsRequired=true)] public virtual BinaryFile PublicKeyFile { get; set; } /// ///Contains the checksum of the files PublicKeyFile and PrivateKeyFile. /// [ApiMember(Description="Contains the checksum of the files PublicKeyFile and PrivateKeyFile.", IsRequired=true)] public virtual BinaryFile ChecksumFile { get; set; } /// ///The description for the certificate. /// [StringLength(int.MaxValue)] [ApiMember(Description="The description for the certificate.")] public virtual string Description { get; set; } /// ///The tags that can be used to label or identify the certificate. /// [ApiMember(Description="The tags that can be used to label or identify the certificate.")] public virtual List Tags { get; set; } = []; } } namespace PwC.xEric.Core.Domain.Concretes.Models { /// ///Represents a list of properties for a specified certificate. /// [Api(Description="Represents a list of properties for a specified certificate.")] public partial class EricHoleZertifikatEigenschaften { /// ///The properties of the certificate used for signing. These are not available for client-side certificates. /// [ApiMember(Description="The properties of the certificate used for signing. These are not available for client-side certificates.")] public virtual Zertifikateigenschaften Signaturzertifikateigenschaften { get; set; } /// ///The properties of certificates used for encryption. /// [ApiMember(Description="The properties of certificates used for encryption.")] public virtual Zertifikateigenschaften Verschluesselungszertifikateigenschaften { get; set; } } /// ///Represents a type of Identification characteristic. Identification marker that was specified when the certificate was generated. For portal certificates usually tax number or identification number. /// public enum Identifikationsmerkmaltyp { Unbekannt, Steuernummer, Identifikationsnummer, BZStNummer, Bearbeiternummer, Clienterzeugt, } /// ///Represent issuer details of a certificate. /// [Api(Description="Represent issuer details of a certificate.")] public partial class Info { /// ///The name of the issuer detail. /// [ApiMember(Description="The name of the issuer detail.")] public virtual string Name { get; set; } /// ///The value of the issuer detail. /// [ApiMember(Description="The value of the issuer detail.")] public virtual string Wert { get; set; } } /// ///Represents an issuer of certificates. /// [Api(Description="Represents an issuer of certificates.")] public partial class Issuer { /// ///Details about the issuer of certificates. /// [ApiMember(Description="Details about the issuer of certificates.")] public virtual List Infos { get; set; } = []; } /// ///Represents a type of registrar. Contains informatiom on the type of person or organization, for which a certificate is issued. Often 'Person' or 'Organisation'. /// public enum Registrierertyp { Unbekannt, Person, Organisation, Rechteverwalter, BZStInland, BZStAusland, BZStKevizz, } /// ///Represents the subject of the certificate. /// [Api(Description="Represents the subject of the certificate.")] public partial class Subjekt { /// ///Details about the subject of the certificate. /// [ApiMember(Description="Details about the subject of the certificate.")] public virtual List Infos { get; set; } = []; } /// ///Represents a type of token.Contains information about the type of token used to create a certificate. /// public enum TokenTyp { Unbekannt, Software, Stick, Karte, Ausweis, } /// ///Represents a type of verification. Contains information on the verification of a person or organisation by an issuer of certificates. /// public enum VerifikationsartTyp { Unbekannt, Postweg, Neuerpersonalausweis, } /// ///Represents the characteristics of a certificate. /// [Api(Description="Represents the characteristics of a certificate.")] public partial class Zertifikateigenschaften { /// ///The start validity date of the certificate. /// [ApiMember(Description="The start validity date of the certificate.")] public virtual DateTime? AusgestelltAm { get; set; } /// ///The expiry date of the certificate. /// [ApiMember(Description="The expiry date of the certificate.")] public virtual DateTime? GueltigBis { get; set; } /// ///The signing algorithm and Object Identifier (for more information on OIDs, please see 'http://www.oid-info.com/') /// [ApiMember(Description="The signing algorithm and Object Identifier (for more information on OIDs, please see 'http://www.oid-info.com/')")] public virtual string Signaturalgorithmus { get; set; } /// ///The MD5-hash of the public key. /// [ApiMember(Description="The MD5-hash of the public key.")] public virtual string PublicKeyMD5 { get; set; } /// ///The SHA1-hash of the public key. /// [ApiMember(Description="The SHA1-hash of the public key.")] public virtual string PublicKeySHA1 { get; set; } /// ///The key length of the public key in units of bits. For example '2048 bits' /// [ApiMember(Description="The key length of the public key in units of bits. For example '2048 bits'")] public virtual int PublicKeyBitLength { get; set; } /// ///The issuer of the certificate. /// [ApiMember(Description="The issuer of the certificate.")] public virtual Issuer Issuer { get; set; } /// ///The subject of the certificate. /// [ApiMember(Description="The subject of the certificate.")] public virtual Subjekt Subjekt { get; set; } /// ///The identification characteristics of the certificate. /// [ApiMember(Description="The identification characteristics of the certificate.")] public virtual Identifikationsmerkmaltyp Identifikationsmerkmaltyp { get; set; } /// ///The type of registrar, to which the key is issued. /// [ApiMember(Description="The type of registrar, to which the key is issued.")] public virtual Registrierertyp? Registrierertyp { get; set; } /// ///The type of verification conducted for the person or organisation, to which the certificate is issued. /// [ApiMember(Description="The type of verification conducted for the person or organisation, to which the certificate is issued.")] public virtual VerifikationsartTyp? Verifikationsart { get; set; } /// ///The type of token used to create the certificate. /// [ApiMember(Description="The type of token used to create the certificate.")] public virtual TokenTyp TokenTyp { get; set; } /// ///Is the certificate is a test certificate? True if it is a test certificate; otherwise false. /// [ApiMember(Description="Is the certificate is a test certificate? True if it is a test certificate; otherwise false.")] public virtual bool? Testzertifikat { get; set; } } } namespace PwC.xEric.Core.Domain.Contracts.Models { public partial interface ISecuredCertificate { string Pin { get; set; } } } namespace PwC.xEric.Core.Services.Contracts.Requests { /// ///A synchronous service to get the properties of specified client-side certificate. /// [Route("/HoleClientSideZertifikatEigenschaften", "POST")] [Api(Description="A synchronous service to get the properties of specified client-side certificate.")] public partial class HoleClientSideZertifikatEigenschaften : HoleClientSideZertifikatEigenschaftenBase, IReturn { } /// ///A base service to get the properties of a specified client-side certificate. /// [Api(Description="A base service to get the properties of a specified client-side certificate.")] public partial class HoleClientSideZertifikatEigenschaftenBase : IPost { /// ///The client-side certificate. Access is protected by a PIN. /// [ApiMember(Description="The client-side certificate. Access is protected by a PIN.", Name="Zertifikat")] public virtual ClientSideCertificate Zertifikat { get; set; } } } namespace PwC.xEric.Core.Services.Contracts.Responses { /// ///Represent a base response that encapsulate any ERiC API function return value. /// [Api(Description="Represent a base response that encapsulate any ERiC API function return value.")] public partial class EricFehlerCodeResponse : ServiceReponseBase { /// ///The status code that the ERiC API function returns. /// [ApiMember(Description="The status code that the ERiC API function returns.")] public virtual EricFehlerCode StatusCode { get; set; } /// ///The status message that the ERiC API function returns. /// [ApiMember(Description="The status message that the ERiC API function returns.")] public virtual string StatusText { get; set; } } /// ///Represents a type that encapsulates the return values of the ERiC API function, which retrieves the details of a certificate. /// [Api(Description="Represents a type that encapsulates the return values of the ERiC API function, which retrieves the details of a certificate.")] public partial class HoleZertifikatEigenschaftenResponse : EricFehlerCodeResponse { /// ///The list of test fiscal authoririties. /// [ApiMember(Description="The list of test fiscal authoririties.")] public virtual EricHoleZertifikatEigenschaften Rueckgabe { get; set; } } }