public ActionResult Create(AddAuthorViewModel model)
 {
     try
     {
         if (ModelState.IsValid)
         {
             AddAuthor(model);
             return RedirectToAction("Index");
         }
     }
     catch (DataException)
     {
         ModelState.AddModelError("",
             "Не удалось сохранить изменения. Повторите попытку.");
     }
     catch (Exception)
     {
         ModelState.AddModelError("",
             "Информация об авторе, которого вы хотите добавить, уже содержится в базе.");
     }
     return View(model);
 }
 private void AddAuthor(AddAuthorViewModel model)
 {
     Author author = new Author();
     author.Name = model.Name;
     if (model.Image != null)
     {
         author.Image = FileService.SaveFile(model.Image);
     }
     bool exist = unitOfWork.AuthorRepository.Get().FirstOrDefault(
         x => x.Name.ToUpper() == author.Name.ToUpper()) != null;
     if (exist)
     {
         throw new Exception();
     }
     unitOfWork.AuthorRepository.Insert(author);
     unitOfWork.Save();
 }