public ActionResult OppdaterArkiv(string id, ArkivType arkiv)
        {
            if (arkiv == null)
            {
                return(BadRequest());
            }

            var url = BaseUrlResolver.GetBaseUrl();

            ArkivType existing = MockNoarkDatalayer.Arkiver.FirstOrDefault(i => i.systemID == arkiv.systemID);

            if (existing == null)
            {
                return(NotFound());
            }

            // run update on object
            existing.oppdatertDato          = DateTime.Now;
            existing.oppdatertDatoSpecified = true;
            existing.oppdatertAv            = "bruker";
            existing.referanseOppdatertAv   = Guid.NewGuid().ToString();
            existing.tittel      = arkiv.tittel;
            existing.beskrivelse = arkiv.beskrivelse;


            var createdUri = new Uri(url + "api/arkivstruktur/Arkiv/" + existing.systemID);

            return(Created(createdUri, existing));
        }
Ejemplo n.º 2
0
        private static ArkivType OpprettArkiv(string systemId)
        {
            var arkiv = new ArkivType()
            {
                tittel               = FirstLetterToUpper(GetRandomAdjective()) + " arkiv",
                arkivstatus          = OpprettetArkivstatus,
                dokumentmedium       = ElektroniskDokumentmedium,
                systemID             = systemId,
                beskrivelse          = "lorem ipsum " + GetRandomAdjective(),
                arkivskaper          = OpprettArkivskaper(),
                opprettetAv          = "brukernavn",
                referanseOpprettetAv = GenerateUuuid()
            };

            var randomNumber = RandomNumber(0, 100);

            if (randomNumber < 50)
            {
                arkiv.arkivstatus            = AvsluttetArkivstatus;
                arkiv.avsluttetDato          = DateTime.Now;
                arkiv.avsluttetDatoSpecified = true;
                arkiv.avsluttetAv            = "brukernavn";
                arkiv.referanseAvsluttetAv   = GenerateUuuid();
            }

            arkiv.RepopulateHyperMedia();

            return(arkiv);
        }
Ejemplo n.º 3
0
        public HttpResponseMessage NyttArkiv(ArkivType arkiv)
        {
            if (arkiv != null)
            {
                //TODO rettigheter og lagring til DB el.l
                var url     = HttpContext.Current.Request.Url;
                var baseUri =
                    new UriBuilder(
                        url.Scheme,
                        url.Host,
                        url.Port).Uri;
                arkiv.systemID               = Guid.NewGuid().ToString();
                arkiv.opprettetDato          = DateTime.Now;
                arkiv.opprettetDatoSpecified = true;
                arkiv.opprettetAv            = "pålogget bruker";

                MockNoarkDatalayer.Arkiver.Add(arkiv);

                HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.Created, arkiv);
                response.Headers.Location = new Uri(baseUri + "api/arkivstruktur/Arkiv/" + arkiv.systemID);
                return(response);
            }
            else
            {
                return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState));
            }
        }
Ejemplo n.º 4
0
        public HttpResponseMessage OppdaterArkiv(string id, ArkivType arkiv)
        {
            if (arkiv != null)
            {
                //TODO rettigheter og lagring til DB el.l
                var url     = HttpContext.Current.Request.Url;
                var baseUri =
                    new UriBuilder(
                        url.Scheme,
                        url.Host,
                        url.Port).Uri;

                ArkivType m = MockNoarkDatalayer.Arkiver.FirstOrDefault(i => i.systemID == arkiv.systemID);

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

                m.oppdatertDato          = DateTime.Now;
                m.oppdatertDatoSpecified = true;
                m.oppdatertAv            = "bruker";
                m.referanseOppdatertAv   = Guid.NewGuid().ToString();


                HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.OK, m);
                response.Headers.Location = new Uri(baseUri + "api/arkivstruktur/Arkiv/" + m.systemID);
                return(response);
            }
            else
            {
                return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState));
            }
        }
        public ActionResult <ArkivType> GetArkiv(string id)
        {
            ArkivType arkiv = MockNoarkDatalayer.GetArkivById(id);

            if (arkiv == null)
            {
                return(NotFound());
            }
            return(Ok(arkiv));
        }
        public ArkivType InitialiserArkiv()
        {
            // Legger på standardtekster feks for pålogget bruker

            ArkivType arkiv = new ArkivType();

            arkiv.tittel              = "angi tittel på arkiv";
            arkiv.dokumentmedium      = new DokumentmediumType();
            arkiv.dokumentmedium.kode = "E";
            arkiv.arkivstatus         = new ArkivstatusType();
            arkiv.arkivstatus.kode    = "O";

            // objektet finnes ikke ennå og lenkelista er derfor ikke gyldig
            arkiv.LinkList.Clear();

            return(arkiv);
        }
        public ActionResult <IQueryable <ArkivskaperType> > GetArkivskapereIArkiv(string arkivId)
        {
            List <ArkivskaperType> list = new List <ArkivskaperType>();

            ArkivType arkiv = MockNoarkDatalayer.GetArkivById(arkivId);

            if (arkiv == null)
            {
                return(NotFound());
            }

            foreach (var arkivskaper in arkiv.arkivskaper)
            {
                list.Add(arkivskaper);
            }

            return(Ok(list.AsQueryable()));
        }
        public ActionResult NyttArkiv(ArkivType arkiv)
        {
            if (arkiv == null)
            {
                return(BadRequest());
            }

            arkiv.systemID               = Guid.NewGuid().ToString();
            arkiv.opprettetDato          = DateTime.Now;
            arkiv.opprettetDatoSpecified = true;
            arkiv.opprettetAv            = "pålogget bruker";

            MockNoarkDatalayer.Arkiver.Add(arkiv);

            var createdUri = new Uri(BaseUrlResolver.GetBaseUrl() + "api/arkivstruktur/Arkiv/" + arkiv.systemID);

            return(Created(createdUri, arkiv));
        }
Ejemplo n.º 9
0
        public IQueryable <ArkivskaperType> GetArkivskapereIArkiv(string arkivId)
        {
            //Rettinghetsstyring...og alle andre restriksjoner

            List <ArkivskaperType> list = new List <ArkivskaperType>();

            ArkivType arkiv = MockNoarkDatalayer.GetArkivById(arkivId);

            if (arkiv != null)
            {
                foreach (var arkivskaper in arkiv.arkivskaper)
                {
                    list.Add(arkivskaper);
                }
            }

            return(list.AsQueryable());
        }
        public ActionResult SlettArkiv(string id)
        {
            if (id == null)
            {
                return(BadRequest());
            }

            //Kan slettes? Har rettighet? Logges mm..
            //sjekke etag om objektet er endret av andre?
            ArkivType m = MockNoarkDatalayer.Arkiver.FirstOrDefault(i => i.systemID == id);

            if (m == null)
            {
                return(NotFound());
            }

            // remove object
            MockNoarkDatalayer.Arkiver.Remove(m);

            return(NoContent());
        }
Ejemplo n.º 11
0
        public ArkivType InitialiserArkiv()
        {
            var url     = HttpContext.Current.Request.Url;
            var baseUri =
                new UriBuilder(
                    url.Scheme,
                    url.Host,
                    url.Port).Uri;
            //Legger på standardtekster feks for pålogget bruker

            ArkivType m = new ArkivType();

            m.tittel              = "angi tittel på arkiv";
            m.dokumentmedium      = new DokumentmediumType();
            m.dokumentmedium.kode = "E";
            m.arkivstatus         = new ArkivstatusType();
            m.arkivstatus.kode    = "O";
            m.LinkList.Clear();
            //m.Links.Add(new WebApi.Hal.Link("","")) kodelister som er relevante
            return(m);
        }
Ejemplo n.º 12
0
        public HttpResponseMessage SlettArkiv(string id)
        {
            if (id != null)
            {
                //Kan slettes? Har rettighet? Logges mm..
                //sjekke etag om objektet er endret av andre?
                ArkivType m = MockNoarkDatalayer.Arkiver.FirstOrDefault(i => i.systemID == id);

                if (m == null)
                {
                    throw new HttpResponseException(Request.CreateResponse(HttpStatusCode.NotFound));
                }
                MockNoarkDatalayer.Arkiver.Remove(m);

                HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.NoContent);
                return(response);
            }
            else
            {
                return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState));
            }
        }