// PUT api/genreapi/5
 public HttpResponseMessage Put(int id, Genre genre)
 {
     try
     {
         var genreToUpdate = unitOfWork.GenreRepository.GetByID(id);
         genreToUpdate.Name = genre.Name;
         unitOfWork.GenreRepository.Update(genreToUpdate);
         unitOfWork.Save();
         return Request.CreateResponse(HttpStatusCode.OK);
     }
     catch (Exception ex)
     {
         return Request.CreateResponse(HttpStatusCode.InternalServerError, ex.Message);
     }
 }
 public ActionResult Edit(Genre genre)
 {
     try
     {
         if (ModelState.IsValid)
         {
             EditGenre(genre);
             return RedirectToAction("Genres", "Admin");
         }
     }
     catch (DataException)
     {
         ModelState.AddModelError("", "Не удалось сохранить изменения. Повторите попытку.");
     }
     catch (Exception)
     {
         ModelState.AddModelError("",
             "Такой жанр уже содержится в базе.");
     }
     return View(genre);
 }
 private void EditGenre(Genre genre)
 {
     var genreToUpdate = unitOfWork.GenreRepository.GetByID(genre.ID);
     genreToUpdate.Name = genre.Name;
     unitOfWork.GenreRepository.Update(genreToUpdate);
     unitOfWork.Save();
 }
 private bool IsExist(Genre genre)
 {
     bool exist = unitOfWork.GenreRepository.Get().FirstOrDefault(
         x => x.Name.ToUpper() == genre.Name.ToUpper()) != null;
     return exist;
 }
 private void AddGenre(Genre genre)
 {
     if (IsExist(genre))
     {
         throw new Exception();
     }
     unitOfWork.GenreRepository.Insert(genre);
     unitOfWork.Save();
 }