using System; using System.Collections.Generic; using System.ComponentModel; using System.ComponentModel.DataAnnotations; using System.Xml.Serialization; // Modified from Altinn.Common.EFormidlingClient.Models namespace Altinn.App.Models.Arkivmelding { /// /// Initializes a new instance of the class. This class represents the actual arkivmelding. /// /// This class is based on the XSD definition: https://github.com/difi/felleslosninger/blob/gh-pages/resources/arkivmelding/arkivmelding.xsd [XmlRoot(ElementName = "arkivmelding", Namespace = "http://www.arkivverket.no/standarder/noark5/arkivmelding")] public class Arkivmelding { /// /// Gets or sets the System /// [XmlElement(ElementName = "system", Namespace = "http://www.arkivverket.no/standarder/noark5/arkivmelding", Order = 1)] [Required] public string System { get; set; } /// /// Gets or sets the MeldingId /// [XmlElement(ElementName = "meldingId", Namespace = "http://www.arkivverket.no/standarder/noark5/arkivmelding", Order = 2)] public string MeldingId { get; set; } /// /// Gets or sets the Tidspunkt /// [XmlElement(ElementName = "tidspunkt", Namespace = "http://www.arkivverket.no/standarder/noark5/arkivmelding", Order = 3)] public DateTime Tidspunkt { get; set; } /// /// Gets or sets the AntallFiler /// [XmlElement(ElementName = "antallFiler", Namespace = "http://www.arkivverket.no/standarder/noark5/arkivmelding", Order = 4)] public int AntallFiler { get; set; } /// /// Gets or sets the Mappe /// [XmlElement(ElementName = "mappe", Order = 5)] public List Mappe { get; set; } /// /// Gets or sets the SchemaLocation /// [XmlAttribute(AttributeName = "schemaLocation", Namespace = "http://www.w3.org/2001/XMLSchema-instance")] public string SchemaLocation { get; set; } /// /// Gets or sets the Xmlns /// [XmlAttribute(AttributeName = "xmlns", Namespace = "http://www.arkivverket.no/standarder/noark5/arkivmelding")] public string Xmlns { get; set; } /// /// Gets or sets the Xsi /// [XmlAttribute(AttributeName = "xsi", Namespace = "http://www.w3.org/2000/xmlns/")] public string Xsi { get; set; } } /// /// Initializes a new instance of the class. /// [XmlTypeAttribute(TypeName = "saksmappe")] public class Mappe { /// /// Gets or sets the SystemID /// [XmlElement(ElementName = "systemID", Namespace = "http://www.arkivverket.no/standarder/noark5/arkivmelding", Order = 1)] public Guid SystemID { get; set; } //public string SystemID { get; set; } /// /// Gets or sets the Tittel /// [XmlElement(ElementName = "tittel", Namespace = "http://www.arkivverket.no/standarder/noark5/arkivmelding", Order = 2)] public string Tittel { get; set; } /// /// Gets or sets the OpprettetDato /// [XmlElement(ElementName = "opprettetDato", Namespace = "http://www.arkivverket.no/standarder/noark5/arkivmelding", Order = 3)] public DateTime OpprettetDato { get; set; } /// /// Gets or sets the OpprettetAv /// [XmlElement(ElementName = "opprettetAv", Namespace = "http://www.arkivverket.no/standarder/noark5/arkivmelding", Order = 4)] public string OpprettetAv { get; set; } /// /// Gets or sets the Basisregistrering /// [XmlElement(ElementName = "basisregistrering", Namespace = "http://www.arkivverket.no/standarder/noark5/arkivmelding", Order = 5)] public Basisregistrering Basisregistrering { get; set; } /// /// Gets or sets the Saksdato /// [XmlElement(ElementName = "saksdato", DataType = "date", Namespace = "http://www.arkivverket.no/standarder/noark5/arkivmelding", Order = 6)] public DateTime Saksdato { get; set; } /// /// Gets or sets the AdministrativEnhet /// [XmlElement(ElementName = "administrativEnhet", Namespace = "http://www.arkivverket.no/standarder/noark5/arkivmelding", Order = 7)] public string AdministrativEnhet { get; set; } /// /// Gets or sets the Saksansvarlig /// [XmlElement(ElementName = "saksansvarlig", Namespace = "http://www.arkivverket.no/standarder/noark5/arkivmelding", Order = 8)] public string Saksansvarlig { get; set; } /// /// Gets or sets the Saksstatus /// /// /// The accepted values are: "Under behandling", "Avsluttet" or "Utgår". /// [XmlElement(ElementName = "saksstatus", Namespace = "http://www.arkivverket.no/standarder/noark5/arkivmelding", Order = 9)] public string Saksstatus { get; set; } /// /// Gets or sets the Type /// [XmlAttribute(AttributeName = "type", Namespace = "http://www.w3.org/2001/XMLSchema-instance")] public string Type { get; set; } } /// /// Initializes a new instance of the class. /// [XmlTypeAttribute(TypeName = "journalpost")] public class Basisregistrering { /// /// Gets or sets the SystemID /// [XmlElement(ElementName = "systemID", Order = 1)] public Guid SystemID { get; set; } /// /// Gets or sets the OpprettetDato /// [XmlElement(ElementName = "opprettetDato", Order = 2)] public DateTime OpprettetDato { get; set; } /// /// Gets or sets the OpprettetAv /// [XmlElement(ElementName = "opprettetAv", Order = 3)] public string OpprettetAv { get; set; } /// /// Gets or sets the ReferanseForelderMappe /// /// /// This value should refer to the SystemID of the parent folder (saksmappe). /// [XmlElement(ElementName = "referanseForelderMappe", Order = 4)] public Guid ReferanseForelderMappe { get; set; } /// /// Gets or sets the Dokumentbeskrivelse /// [XmlElement(ElementName = "dokumentbeskrivelse", Order = 5)] public List Dokumentbeskrivelse { get; set; } /// /// Gets or sets the Tittel /// [XmlElement(ElementName = "tittel", Order = 6)] public string Tittel { get; set; } /// /// Gets or sets the OffentligTittel /// [XmlElement(ElementName = "offentligTittel", Order = 7)] public string OffentligTittel { get; set; } /// /// Gets or sets the Journalposttype /// / /// /// The accepted values are: "Inngående dokument", "Utgående dokument","Organinternt dokument for oppfølging", "Organinternt dokument uten oppfølging" or "Saksframlegg". /// [XmlElement(ElementName = "journalposttype", Order = 8)] public string Journalposttype { get; set; } /// /// Gets or sets the Journalstatus /// /// /// The accepted values are: "Journalført", "Ferdigstilt fra saksbehandler", "Godkjent av leder", "Ekspedert", "Arkivert" or "Utgår". /// [XmlElement(ElementName = "journalstatus", Order = 9)] public string Journalstatus { get; set; } /// /// Gets or sets the Journaldato /// [XmlElement(ElementName = "journaldato", DataType = "date", Order = 10)] public DateTime Journaldato { get; set; } /// /// Gets or sets the Type /// [XmlAttribute(AttributeName = "type", Namespace = "http://www.w3.org/2001/XMLSchema-instance")] public string Type { get; set; } /// /// Gets or sets the Text /// [XmlText] public string Text { get; set; } } /// /// Initializes a new instance of the class. /// [XmlRoot(ElementName = "dokumentbeskrivelse")] public class Dokumentbeskrivelse { /// /// Gets or sets the SystemID /// [XmlElement(ElementName = "systemID", Order = 1)] public Guid SystemID { get; set; } /// /// Gets or sets the Dokumenttype /// [XmlElement(ElementName = "dokumenttype", Order = 2)] public string Dokumenttype { get; set; } /// /// Gets or sets the Dokumentstatus /// /// /// The accepted values are: "Dokumentet er under redigering" or "Dokumentet er under ferdigstilt". /// [XmlElement(ElementName = "dokumentstatus", Order = 3)] public string Dokumentstatus { get; set; } /// /// Gets or sets the Tittel /// [XmlElement(ElementName = "tittel", Order = 4)] public string Tittel { get; set; } /// /// Gets or sets the OpprettetDato /// [XmlElement(ElementName = "opprettetDato", Order = 5)] public DateTime OpprettetDato { get; set; } /// /// Gets or sets the OpprettetAv /// [XmlElement(ElementName = "opprettetAv", Order = 6)] public string OpprettetAv { get; set; } /// /// Gets or sets the TilknyttetRegistreringSom /// /// /// The accepted values are: "Hoveddokument" or "Vedlegg". /// [XmlElement(ElementName = "tilknyttetRegistreringSom", Order = 7)] public string TilknyttetRegistreringSom { get; set; } /// /// Gets or sets the Dokumentnummer /// [XmlElement(ElementName = "dokumentnummer", Order = 8)] public int Dokumentnummer { get; set; } /// /// Gets or sets the TilknyttetDato /// [XmlElement(ElementName = "tilknyttetDato", Order = 9)] public DateTime TilknyttetDato { get; set; } /// /// Gets or sets the TilknyttetAv /// [XmlElement(ElementName = "tilknyttetAv", Order = 10)] public string TilknyttetAv { get; set; } /// /// Gets or sets the Dokumentobjekt /// [XmlElement(ElementName = "dokumentobjekt", Order = 11)] public Dokumentobjekt Dokumentobjekt { get; set; } } /// /// Initializes a new instance of the class. /// [XmlRoot(ElementName = "dokumentobjekt")] public class Dokumentobjekt { /// /// Gets or sets the Versjonsnummer /// [XmlElement(ElementName = "versjonsnummer", Order = 1)] public int Versjonsnummer { get; set; } /// /// Gets or sets the Variantformat /// /// /// The accepted values are: "Produksjonsformat", "Arkivformat" or "Dokument hvor deler av innholdet er skjermet". /// [XmlElement(ElementName = "variantformat", Order = 2)] public string Variantformat { get; set; } /// /// Gets or sets the OpprettetDato /// [XmlElement(ElementName = "opprettetDato", Order = 3)] public DateTime OpprettetDato { get; set; } /// /// Gets or sets the OpprettetAv /// [XmlElement(ElementName = "opprettetAv", Order = 4)] public string OpprettetAv { get; set; } /// /// Gets or sets the ReferanseDokumentfil /// [XmlElement(ElementName = "referanseDokumentfil", Order = 5)] public string ReferanseDokumentfil { get; set; } } }