Exemplo n.º 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 }));
        }
Exemplo n.º 2
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));
        }