/* 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; }
}
}