Beispiel #1
0
        public IHttpActionResult GetAlue(int id)
        {
            Kayttaja k    = Kirjautuminen.HaeKirjautuminen(Request.Headers.Authorization?.ToString().Substring(7) ?? null);
            Alue     alue = db.Alueet.Find(id);

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

            if (!alue.NakeekoKayttaja(k))
            {
                return(Unauthorized());
            }
            var data = new { alue, langat = alue.Langat };

            return(Ok(new { k.jwt, data }));
        }
Beispiel #2
0
        public IHttpActionResult PostAlue(Alue alue)
        {
            Kayttaja k = Kirjautuminen.HaeKirjautuminen(Request.Headers.Authorization?.ToString().Substring(7) ?? null);

            if (!k.Kayttajatasot.o_alueLisaa)
            {
                return(Unauthorized());
            }

            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            db.Alueet.Add(alue);
            db.SaveChanges();

            return(CreatedAtRoute("DefaultApi", new { jwt = k.jwt, id = alue.alue_id }, alue));
        }
Beispiel #3
0
        public IHttpActionResult PostLanka(Lanka lanka)
        {
            Kayttaja k = Kirjautuminen.HaeKirjautuminen(Request.Headers.Authorization?.ToString().Substring(7) ?? null);

            lanka.kayttaja_id = k.kayttaja_id;
            lanka.aika        = DateTime.Now;
            Alue alue = db.Alueet.Find(lanka.alue_id);

            if (!k.Kayttajatasot.o_lankaLisaa)
            {
                return(Unauthorized());
            }

            if (alue == null)
            {
                return(BadRequest("Aluetta ei löytynyt"));
            }

            if (!alue.NakeekoKayttaja(k))
            {
                return(Unauthorized());
            }

            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            if (lanka.otsikko.Length < 1)
            {
                return(BadRequest("Otsikko on liian olematon"));
            }
            if (lanka.otsikko.Length > 50)
            {
                return(BadRequest("Otsikko on liian pitkä"));
            }


            db.Langat.Add(lanka);
            db.SaveChanges();

            return(CreatedAtRoute("DefaultApi", new { k.jwt, id = lanka.lanka_id }, lanka));
        }
Beispiel #4
0
        public IHttpActionResult DeleteAlue(int id)
        {
            Kayttaja k = Kirjautuminen.HaeKirjautuminen(Request.Headers.Authorization?.ToString().Substring(7) ?? null);

            if (!k.Kayttajatasot.o_aluePoista)
            {
                return(Unauthorized());
            }

            Alue alue = db.Alueet.Find(id);

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

            db.Alueet.Remove(alue);
            db.SaveChanges();

            return(Ok(new { k.jwt }));
        }
Beispiel #5
0
        public IHttpActionResult PutAlue(int id, Alue alue)
        {
            Kayttaja k = Kirjautuminen.HaeKirjautuminen(Request.Headers.Authorization?.ToString().Substring(7) ?? null);

            if (!k.Kayttajatasot.o_alueMuokkaa)
            {
                return(Unauthorized());
            }

            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != alue.alue_id)
            {
                return(BadRequest());
            }

            db.Entry(alue).State = EntityState.Modified;

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!AlueExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(Ok(new { k.jwt }));
        }