//
#pragma warning disable CS0618
using Microsoft.Kiota.Abstractions.Extensions;
using Microsoft.Kiota.Abstractions.Serialization;
using System.Collections.Generic;
using System.IO;
using System;
namespace Marechai.App.Models
{
[global::System.CodeDom.Compiler.GeneratedCode("Kiota", "1.0.0")]
#pragma warning disable CS1591
public partial class DocumentScanDto : IAdditionalDataHolder, IParsable
#pragma warning restore CS1591
{
/// Stores additional data not described in the OpenAPI description found when deserializing. Can be used for serialization as well.
public IDictionary AdditionalData { get; set; }
/// The author property
#if NETSTANDARD2_1_OR_GREATER || NETCOREAPP3_1_OR_GREATER
#nullable enable
public string? Author { get; set; }
#nullable restore
#else
public string Author { get; set; }
#endif
/// The colorspace property
#if NETSTANDARD2_1_OR_GREATER || NETCOREAPP3_1_OR_GREATER
#nullable enable
public global::Marechai.App.Models.DocumentScanDto.DocumentScanDto_colorspace? Colorspace { get; set; }
#nullable restore
#else
public global::Marechai.App.Models.DocumentScanDto.DocumentScanDto_colorspace Colorspace { get; set; }
#endif
/// The comments property
#if NETSTANDARD2_1_OR_GREATER || NETCOREAPP3_1_OR_GREATER
#nullable enable
public string? Comments { get; set; }
#nullable restore
#else
public string Comments { get; set; }
#endif
/// The creation_date property
public DateTimeOffset? CreationDate { get; set; }
/// The document property
#if NETSTANDARD2_1_OR_GREATER || NETCOREAPP3_1_OR_GREATER
#nullable enable
public string? Document { get; set; }
#nullable restore
#else
public string Document { get; set; }
#endif
/// The document_id property
#if NETSTANDARD2_1_OR_GREATER || NETCOREAPP3_1_OR_GREATER
#nullable enable
public UntypedNode? DocumentId { get; set; }
#nullable restore
#else
public UntypedNode DocumentId { get; set; }
#endif
/// The exif_version property
#if NETSTANDARD2_1_OR_GREATER || NETCOREAPP3_1_OR_GREATER
#nullable enable
public string? ExifVersion { get; set; }
#nullable restore
#else
public string ExifVersion { get; set; }
#endif
/// The horizontal_resolution property
#if NETSTANDARD2_1_OR_GREATER || NETCOREAPP3_1_OR_GREATER
#nullable enable
public UntypedNode? HorizontalResolution { get; set; }
#nullable restore
#else
public UntypedNode HorizontalResolution { get; set; }
#endif
/// The id property
public Guid? Id { get; set; }
/// The original_extension property
#if NETSTANDARD2_1_OR_GREATER || NETCOREAPP3_1_OR_GREATER
#nullable enable
public string? OriginalExtension { get; set; }
#nullable restore
#else
public string OriginalExtension { get; set; }
#endif
/// The page property
#if NETSTANDARD2_1_OR_GREATER || NETCOREAPP3_1_OR_GREATER
#nullable enable
public UntypedNode? Page { get; set; }
#nullable restore
#else
public UntypedNode Page { get; set; }
#endif
/// The resolution_unit property
#if NETSTANDARD2_1_OR_GREATER || NETCOREAPP3_1_OR_GREATER
#nullable enable
public global::Marechai.App.Models.DocumentScanDto.DocumentScanDto_resolution_unit? ResolutionUnit { get; set; }
#nullable restore
#else
public global::Marechai.App.Models.DocumentScanDto.DocumentScanDto_resolution_unit ResolutionUnit { get; set; }
#endif
/// The scanner_manufacturer property
#if NETSTANDARD2_1_OR_GREATER || NETCOREAPP3_1_OR_GREATER
#nullable enable
public string? ScannerManufacturer { get; set; }
#nullable restore
#else
public string ScannerManufacturer { get; set; }
#endif
/// The scanner_model property
#if NETSTANDARD2_1_OR_GREATER || NETCOREAPP3_1_OR_GREATER
#nullable enable
public string? ScannerModel { get; set; }
#nullable restore
#else
public string ScannerModel { get; set; }
#endif
/// The software property
#if NETSTANDARD2_1_OR_GREATER || NETCOREAPP3_1_OR_GREATER
#nullable enable
public string? Software { get; set; }
#nullable restore
#else
public string Software { get; set; }
#endif
/// The type property
public int? Type { get; set; }
/// The upload_date property
public DateTimeOffset? UploadDate { get; set; }
/// The user_id property
#if NETSTANDARD2_1_OR_GREATER || NETCOREAPP3_1_OR_GREATER
#nullable enable
public string? UserId { get; set; }
#nullable restore
#else
public string UserId { get; set; }
#endif
/// The vertical_resolution property
#if NETSTANDARD2_1_OR_GREATER || NETCOREAPP3_1_OR_GREATER
#nullable enable
public UntypedNode? VerticalResolution { get; set; }
#nullable restore
#else
public UntypedNode VerticalResolution { get; set; }
#endif
///
/// Instantiates a new and sets the default values.
///
public DocumentScanDto()
{
AdditionalData = new Dictionary();
}
///
/// Creates a new instance of the appropriate class based on discriminator value
///
/// A
/// The parse node to use to read the discriminator value and create the object
public static global::Marechai.App.Models.DocumentScanDto CreateFromDiscriminatorValue(IParseNode parseNode)
{
if(ReferenceEquals(parseNode, null)) throw new ArgumentNullException(nameof(parseNode));
return new global::Marechai.App.Models.DocumentScanDto();
}
///
/// The deserialization information for the current model
///
/// A IDictionary<string, Action<IParseNode>>
public virtual IDictionary> GetFieldDeserializers()
{
return new Dictionary>
{
{ "author", n => { Author = n.GetStringValue(); } },
{ "colorspace", n => { Colorspace = n.GetObjectValue(global::Marechai.App.Models.DocumentScanDto.DocumentScanDto_colorspace.CreateFromDiscriminatorValue); } },
{ "comments", n => { Comments = n.GetStringValue(); } },
{ "creation_date", n => { CreationDate = n.GetDateTimeOffsetValue(); } },
{ "document", n => { Document = n.GetStringValue(); } },
{ "document_id", n => { DocumentId = n.GetObjectValue(UntypedNode.CreateFromDiscriminatorValue); } },
{ "exif_version", n => { ExifVersion = n.GetStringValue(); } },
{ "horizontal_resolution", n => { HorizontalResolution = n.GetObjectValue(UntypedNode.CreateFromDiscriminatorValue); } },
{ "id", n => { Id = n.GetGuidValue(); } },
{ "original_extension", n => { OriginalExtension = n.GetStringValue(); } },
{ "page", n => { Page = n.GetObjectValue(UntypedNode.CreateFromDiscriminatorValue); } },
{ "resolution_unit", n => { ResolutionUnit = n.GetObjectValue(global::Marechai.App.Models.DocumentScanDto.DocumentScanDto_resolution_unit.CreateFromDiscriminatorValue); } },
{ "scanner_manufacturer", n => { ScannerManufacturer = n.GetStringValue(); } },
{ "scanner_model", n => { ScannerModel = n.GetStringValue(); } },
{ "software", n => { Software = n.GetStringValue(); } },
{ "type", n => { Type = n.GetIntValue(); } },
{ "upload_date", n => { UploadDate = n.GetDateTimeOffsetValue(); } },
{ "user_id", n => { UserId = n.GetStringValue(); } },
{ "vertical_resolution", n => { VerticalResolution = n.GetObjectValue(UntypedNode.CreateFromDiscriminatorValue); } },
};
}
///
/// Serializes information the current object
///
/// Serialization writer to use to serialize this model
public virtual void Serialize(ISerializationWriter writer)
{
if(ReferenceEquals(writer, null)) throw new ArgumentNullException(nameof(writer));
writer.WriteStringValue("author", Author);
writer.WriteObjectValue("colorspace", Colorspace);
writer.WriteStringValue("comments", Comments);
writer.WriteDateTimeOffsetValue("creation_date", CreationDate);
writer.WriteStringValue("document", Document);
writer.WriteObjectValue("document_id", DocumentId);
writer.WriteStringValue("exif_version", ExifVersion);
writer.WriteObjectValue("horizontal_resolution", HorizontalResolution);
writer.WriteGuidValue("id", Id);
writer.WriteStringValue("original_extension", OriginalExtension);
writer.WriteObjectValue("page", Page);
writer.WriteObjectValue("resolution_unit", ResolutionUnit);
writer.WriteStringValue("scanner_manufacturer", ScannerManufacturer);
writer.WriteStringValue("scanner_model", ScannerModel);
writer.WriteStringValue("software", Software);
writer.WriteIntValue("type", Type);
writer.WriteDateTimeOffsetValue("upload_date", UploadDate);
writer.WriteStringValue("user_id", UserId);
writer.WriteObjectValue("vertical_resolution", VerticalResolution);
writer.WriteAdditionalData(AdditionalData);
}
///
/// Composed type wrapper for classes ,
///
[global::System.CodeDom.Compiler.GeneratedCode("Kiota", "1.0.0")]
public partial class DocumentScanDto_colorspace : IComposedTypeWrapper, IParsable
{
/// Composed type representation for type
#if NETSTANDARD2_1_OR_GREATER || NETCOREAPP3_1_OR_GREATER
#nullable enable
public global::Marechai.App.Models.ColorSpace? ColorSpace { get; set; }
#nullable restore
#else
public global::Marechai.App.Models.ColorSpace ColorSpace { get; set; }
#endif
/// Composed type representation for type
#if NETSTANDARD2_1_OR_GREATER || NETCOREAPP3_1_OR_GREATER
#nullable enable
public global::Marechai.App.Models.DocumentScanDto_colorspaceMember1? DocumentScanDtoColorspaceMember1 { get; set; }
#nullable restore
#else
public global::Marechai.App.Models.DocumentScanDto_colorspaceMember1 DocumentScanDtoColorspaceMember1 { get; set; }
#endif
///
/// Creates a new instance of the appropriate class based on discriminator value
///
/// A
/// The parse node to use to read the discriminator value and create the object
public static global::Marechai.App.Models.DocumentScanDto.DocumentScanDto_colorspace CreateFromDiscriminatorValue(IParseNode parseNode)
{
if(ReferenceEquals(parseNode, null)) throw new ArgumentNullException(nameof(parseNode));
var mappingValue = parseNode.GetChildNode("")?.GetStringValue();
var result = new global::Marechai.App.Models.DocumentScanDto.DocumentScanDto_colorspace();
if("".Equals(mappingValue, StringComparison.OrdinalIgnoreCase))
{
result.ColorSpace = new global::Marechai.App.Models.ColorSpace();
}
else if("".Equals(mappingValue, StringComparison.OrdinalIgnoreCase))
{
result.DocumentScanDtoColorspaceMember1 = new global::Marechai.App.Models.DocumentScanDto_colorspaceMember1();
}
return result;
}
///
/// The deserialization information for the current model
///
/// A IDictionary<string, Action<IParseNode>>
public virtual IDictionary> GetFieldDeserializers()
{
if(ColorSpace != null)
{
return ColorSpace.GetFieldDeserializers();
}
else if(DocumentScanDtoColorspaceMember1 != null)
{
return DocumentScanDtoColorspaceMember1.GetFieldDeserializers();
}
return new Dictionary>();
}
///
/// Serializes information the current object
///
/// Serialization writer to use to serialize this model
public virtual void Serialize(ISerializationWriter writer)
{
if(ReferenceEquals(writer, null)) throw new ArgumentNullException(nameof(writer));
if(ColorSpace != null)
{
writer.WriteObjectValue(null, ColorSpace);
}
else if(DocumentScanDtoColorspaceMember1 != null)
{
writer.WriteObjectValue(null, DocumentScanDtoColorspaceMember1);
}
}
}
///
/// Composed type wrapper for classes ,
///
[global::System.CodeDom.Compiler.GeneratedCode("Kiota", "1.0.0")]
public partial class DocumentScanDto_resolution_unit : IComposedTypeWrapper, IParsable
{
/// Composed type representation for type
#if NETSTANDARD2_1_OR_GREATER || NETCOREAPP3_1_OR_GREATER
#nullable enable
public global::Marechai.App.Models.DocumentScanDto_resolution_unitMember1? DocumentScanDtoResolutionUnitMember1 { get; set; }
#nullable restore
#else
public global::Marechai.App.Models.DocumentScanDto_resolution_unitMember1 DocumentScanDtoResolutionUnitMember1 { get; set; }
#endif
/// Composed type representation for type
#if NETSTANDARD2_1_OR_GREATER || NETCOREAPP3_1_OR_GREATER
#nullable enable
public global::Marechai.App.Models.ResolutionUnit? ResolutionUnit { get; set; }
#nullable restore
#else
public global::Marechai.App.Models.ResolutionUnit ResolutionUnit { get; set; }
#endif
///
/// Creates a new instance of the appropriate class based on discriminator value
///
/// A
/// The parse node to use to read the discriminator value and create the object
public static global::Marechai.App.Models.DocumentScanDto.DocumentScanDto_resolution_unit CreateFromDiscriminatorValue(IParseNode parseNode)
{
if(ReferenceEquals(parseNode, null)) throw new ArgumentNullException(nameof(parseNode));
var mappingValue = parseNode.GetChildNode("")?.GetStringValue();
var result = new global::Marechai.App.Models.DocumentScanDto.DocumentScanDto_resolution_unit();
if("".Equals(mappingValue, StringComparison.OrdinalIgnoreCase))
{
result.DocumentScanDtoResolutionUnitMember1 = new global::Marechai.App.Models.DocumentScanDto_resolution_unitMember1();
}
else if("".Equals(mappingValue, StringComparison.OrdinalIgnoreCase))
{
result.ResolutionUnit = new global::Marechai.App.Models.ResolutionUnit();
}
return result;
}
///
/// The deserialization information for the current model
///
/// A IDictionary<string, Action<IParseNode>>
public virtual IDictionary> GetFieldDeserializers()
{
if(DocumentScanDtoResolutionUnitMember1 != null)
{
return DocumentScanDtoResolutionUnitMember1.GetFieldDeserializers();
}
else if(ResolutionUnit != null)
{
return ResolutionUnit.GetFieldDeserializers();
}
return new Dictionary>();
}
///
/// Serializes information the current object
///
/// Serialization writer to use to serialize this model
public virtual void Serialize(ISerializationWriter writer)
{
if(ReferenceEquals(writer, null)) throw new ArgumentNullException(nameof(writer));
if(DocumentScanDtoResolutionUnitMember1 != null)
{
writer.WriteObjectValue(null, DocumentScanDtoResolutionUnitMember1);
}
else if(ResolutionUnit != null)
{
writer.WriteObjectValue(null, ResolutionUnit);
}
}
}
}
}
#pragma warning restore CS0618