public ActionResult DeleteConfirmed(int id)
        {
            Musika musika = db.Musikas.Find(id);

            db.Musikas.Remove(musika);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
        // Function to validate PK
        private bool PkValidate(Musika musika)
        {
            // Count musikas with the same Id
            int musikas = db.Musikas.Where(i => i.Id == musika.Id)
                          .Count();

            // Return true if there is no duplicate Id
            return(musikas == 0);
        }
        // Function to validate title and director of the musika
        private bool MusikaValidate(Musika musika)
        {
            // Count musikas with the same title and director and different Id
            int musikas = db.Musikas.Where(t => t.Title.ToLower() == musika.Title.ToLower())
                          .Where(d => d.Director.ToLower() == musika.Director.ToLower())
                          .Where(i => i.Id != musika.Id)
                          .Count();

            // Return true if there is no duplicate musika
            return(musikas == 0);
        }
        // GET: Musikas/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Musika musika = db.Musikas.Find(id);

            if (musika == null)
            {
                return(HttpNotFound());
            }
            return(View(musika));
        }
        public ActionResult Edit([Bind(Include = "Id,Title,ReleaseDate,Director")] Musika musika)
        {
            // Validate the musika
            if (!MusikaValidate(musika))
            {
                ModelState.AddModelError("Title", "There is another musika with the same title and director");
            }

            if (ModelState.IsValid)
            {
                db.Entry(musika).State = EntityState.Modified;
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(musika));
        }
        public ActionResult Create([Bind(Include = "Id,Title,ReleaseDate,Director")] Musika musika)
        {
            // Validate the Id
            if (!PkValidate(musika))
            {
                ModelState.AddModelError("Id", "There is another musika with the same id");
            }

            // Validate the musika
            if (!MusikaValidate(musika))
            {
                ModelState.AddModelError("Title", "There is another musika with the same title and director");
            }

            if (ModelState.IsValid)
            {
                db.Musikas.Add(musika);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(musika));
        }