public HttpResponseMessage PostFilmKategoriKayıt([FromBody] ListeliFilmlerVeKategoriKayit listeliFilmlerVeKategoriKayit)
        {
            HttpResponseMessage response;

            if (!ModelState.IsValid)
            {
                response = Request.CreateResponse(HttpStatusCode.InternalServerError, "Boş alan bıraktınız veya bir hata oluştu.");
                return(response);
            }
            try
            {
                using (TransactionScope ts = new TransactionScope())
                {
                    using (FilmProjesiDatabaseEntities db = new FilmProjesiDatabaseEntities())
                    {
                        ListeliFilmKategori listeliFilmKategori = new ListeliFilmKategori();
                        db.ListeliFilmler.Add(listeliFilmlerVeKategoriKayit.listelifilm);
                        db.SaveChanges();
                        listeliFilmKategori.filmid     = listeliFilmlerVeKategoriKayit.listelifilm.filmid;
                        listeliFilmKategori.kategoriid = listeliFilmlerVeKategoriKayit.kategoriid;
                        db.ListeliFilmKategori.Add(listeliFilmKategori);
                        db.SaveChanges();
                    }
                    ts.Complete();
                    response = Request.CreateResponse(HttpStatusCode.OK, "Başarılıdır.");
                    return(response);
                }
            }
            catch (Exception)
            {
                response = Request.CreateResponse(HttpStatusCode.InternalServerError, "Bir hata oluştu.");
                return(response);
            }
        }
        public HttpResponseMessage DeleteFilmKategori(int id)
        {
            HttpResponseMessage response;

            try
            {
                using (TransactionScope ts = new TransactionScope())
                {
                    using (FilmProjesiDatabaseEntities db = new FilmProjesiDatabaseEntities())
                    {
                        ListeliFilmler listeliFilmler = db.ListeliFilmler.Find(id);
                        if (listeliFilmler == null)
                        {
                            response = Request.CreateResponse(HttpStatusCode.NotFound, "Bulunamadi.");
                        }
                        IQueryable <ListeliFilmKategori> filmkategori = db.ListeliFilmKategori.Where(x => x.filmid == id);
                        foreach (var item in filmkategori)
                        {
                            db.ListeliFilmKategori.Remove(item);
                        }
                        db.SaveChanges();
                        db.ListeliFilmler.Remove(listeliFilmler);
                        db.SaveChanges();
                    }
                    ts.Complete();
                    response = Request.CreateResponse(HttpStatusCode.OK, "Başarılıdır.");
                    return(response);
                }
            }
            catch (Exception)
            {
                response = Request.CreateResponse(HttpStatusCode.InternalServerError, "Bir hata oluştu.");
                return(response);
            }
        }
        public override async Task GrantResourceOwnerCredentials(OAuthGrantResourceOwnerCredentialsContext context)
        {
            FilmProjesiDatabaseEntities db = new FilmProjesiDatabaseEntities();

            context.OwinContext.Response.Headers.Add("Access-Control-Allow-Origin", new[] { "*" });
            Kullanicilar kullanicilar = db.Kullanicilar.FirstOrDefault(x => x.kullaniciadi == context.UserName && x.kullanicisifre == context.Password);

            if (kullanicilar != null)
            {
                var identity = new ClaimsIdentity(context.Options.AuthenticationType);
                identity.AddClaim(new Claim("kullaniciid", Convert.ToString(kullanicilar.kullaniciid)));
                identity.AddClaim(new Claim("kullaniciadi", kullanicilar.kullaniciadi));

                var      userRoles = kullanicilar.kullaniciyetki;
                string[] roleArray = new string[] { userRoles };
                foreach (string item in roleArray)
                {
                    identity.AddClaim(new Claim(ClaimTypes.Role, item));
                }
                var additionalData = new AuthenticationProperties(new Dictionary <string, string>
                {
                    {
                        "role", Newtonsoft.Json.JsonConvert.SerializeObject(roleArray)
                    }
                });
                var token = new AuthenticationTicket(identity, additionalData);
                context.Validated(token);
            }
            else
            {
                context.SetError("invalid_grant", "Kullanici adi veya sifre yanlis");
            }
        }