public ActionResult AddClassification(ClassificationViewModel viewModel) { using (var unitOfWork = UnitOfWorkManager.NewUnitOfWork()) { var newClassification = new Classification { Name = viewModel.Name, Description = viewModel.Description }; //try to insert and log activity var createStatus = _classificationService.CreateClassification(LoggedOnReadOnlyUser, newClassification); if (createStatus != ClassificationCreateStatus.Success) { //possibly log error here or service level. FAILED TempData[AppConstants.MessageViewBagName] = new AdminGenericMessageViewModel { Message = _classificationService.ErrorCodeToString(createStatus), MessageType = GenericMessages.danger }; } else { try { unitOfWork.Commit(); TempData[AppConstants.MessageViewBagName] = new AdminGenericMessageViewModel { Message = "Classification successfully added.", MessageType = GenericMessages.success }; } catch (Exception ex) { unitOfWork.Rollback(); LoggingService.Error(ex); TempData[AppConstants.MessageViewBagName] = new AdminGenericMessageViewModel { Message = "Classification was not successfully added.", MessageType = GenericMessages.danger }; } } return(RedirectToAction("Classification", "AdminClassification")); } }