Esempio n. 1
0
 public HttpResponseMessage PostDokumentobjektIRegistrering(string Id, DokumentobjektType dokumentobjekt)
 {
     if (dokumentobjekt != null)
     {
         HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.Created, dokumentobjekt);
         response.Headers.Location = new Uri(Url.Link("DefaultApi", new { id = dokumentobjekt.systemID }));
         return(response);
     }
     else
     {
         return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState));
     }
 }
Esempio n. 2
0
        public DokumentobjektType GetDokumentobjekt(string id)
        {
            var url     = HttpContext.Current.Request.Url;
            var baseUri =
                new UriBuilder(
                    url.Scheme,
                    url.Host,
                    url.Port).Uri;

            DokumentobjektType m = new DokumentobjektType();

            m.systemID       = id;
            m.versjonsnummer = "1";
            m.variantformat  = new VariantformatType()
            {
                kode = "A", beskrivelse = "Arkivformat"
            };
            m.format = new FormatType()
            {
                kode = "RA-PDF", beskrivelse = "PDF/A - ISO 19005-1:2005"
            };
            m.opprettetDato = DateTime.Now;

            //Url arkivkjerne til intern eller ekstern klient?
            m.referanseDokumentfil = baseUri + "api/arkivstruktur/Dokumentobjekt/" + m.systemID + "/referanseFil"; //eller som link?
            m.RepopulateHyperMedia();

            //Flytte mime type og filnavn til denne? Fjerne Filinnhold og Filreferanse? unødvendig når en kan streame opp eller ned filer
            //Trenger ikke base64 og opplastingsansvar til kjernen? Stream begrensning på 2GB? OK eller trengs også PULL funksjonene med filreferanse på store filer?


            //List<LinkType> linker = new List<LinkType>();
            //linker.Add(Set.addLink(baseUri, "api/arkivstruktur/Dokumentobjekt/" + m.systemID, "self"));
            //linker.Add(Set.addTempLink(baseUri, "api/arkivstruktur/Dokumentobjekt/" + m.systemID + "/konvertering", Set._REL + "/konvertering", "?$filter&$orderby&$top&$skip&$search"));
            //linker.Add(Set.addLink(baseUri, "api/arkivstruktur/Dokumentobjekt/" + m.systemID + "/ny-konvertering", Set._REL + "/ny-konvertering"));//Hører egentlig til administrasjon? vises hvis rolle admin?

            //linker.Add(Set.addLink(baseUri, "api/arkivstruktur/Dokumentobjekt/" + m.systemID + "/referanseFil", Set._REL + "/referanseFil")); //POST laster opp, PUT oppdaterer, DELETE sletter og GET laster ned?

            //linker.Add(Set.addLink(baseUri, "api/arkivstruktur/Dokumentbeskrivelse/4663", Set._REL + "/referanseDokumentbeskrivelse"));
            //linker.Add(Set.addLink(baseUri, "api/arkivstruktur/Registrering/45344", Set._REL + "/referanseRegistrering"));
            //linker.Add(Set.addLink(baseUri, "api/arkivstruktur/Dokumentbeskrivelse/4663", Set._REL + "/referanseDokumentbeskrivelse"));

            //m._links = linker.ToArray();
            if (m == null)
            {
                throw new HttpResponseException(Request.CreateResponse(HttpStatusCode.NotFound));
            }

            return(m);
        }