public ActionResult Save(PhonebookEditViewModel phonebookEditViewModel) { try { if (ModelState.IsValid) { var isUpdate = phonebookEditViewModel.Id != 0; if (CheckIfContactAddedANumber(phonebookEditViewModel)) { if (isUpdate) { return(Update(phonebookEditViewModel)); } else { if (!_PhoneBookService.CheckIfContactExists(phonebookEditViewModel.FirstName, phonebookEditViewModel.LastName)) { return(Add(phonebookEditViewModel)); } else { Danger("Contact with the same name already exists."); return(View("PhoneBookView", phonebookEditViewModel)); } } } else { Danger("You have to add atleast 1 number to the phonebook entry"); return(View("PhoneBookView", phonebookEditViewModel)); } } else { Danger("Looks like something went wrong. Model is Invalid."); return(View("PhoneBookView", phonebookEditViewModel)); } } catch (Exception ex) { return(View("Error", new HandleErrorInfo(ex, "Phonebook", "Save"))); } }