/// <summary>
 /// Get the appropriate message for the specified message id
 /// </summary>
 /// <param name="id">The specified ManageMessageId</param>
 /// <returns></returns>
 protected string GetMessageFromMessageId(BaseControllerMessageId? id)
 {
     string message = id == BaseControllerMessageId.SaveModelSuccess ? Constants.BASE_SAVE_SUCCESS
                     : id == BaseControllerMessageId.SaveModelFailed ? Constants.BASE_SAVE_FAIL
                     : id == BaseControllerMessageId.BuildViewModelFail ? Constants.BASE_BUILD_VIEW_FAIL
                     : id == BaseControllerMessageId.AcceptInvitationFail ? Constants.BASE_ACCEPT_INVITATION_FAIL
                     : id == BaseControllerMessageId.AcceptInvitationSuccess ? Constants.BASE_ACCEPT_INVITATION_SUCCESS
                     : id == BaseControllerMessageId.UpdateInvitationFail ? Constants.BASE_UPDATE_INVITATION_FAIL
                     : id == BaseControllerMessageId.UpdateInvitationSuccess ? Constants.BASE_UPDATE_INVITATION_SUCCESS
                     : id == BaseControllerMessageId.DeclineInvitationFail ? Constants.BASE_DECLINE_INVITATION_FAIL
                     : id == BaseControllerMessageId.DeclineInvitationSuccess ? Constants.BASE_DECLINE_INVITATION_SUCCESS
                     : id == BaseControllerMessageId.DeleteFailed ? Constants.BASE_DELETE_FAIL
                     : id == BaseControllerMessageId.DeleteSuccessful ? Constants.BASE_DELETE_SUCCESS
                     : "";
     return message;
 }
        public ActionResult Index(BaseControllerMessageId? message)
        {
            ViewBag.StatusMessage = GetMessageFromMessageId(message);

            try
            {
                //This is here for unit testing... the assumption is that you would not get this far if the user was not logged in.
                var userName = User != null ? User.Identity.Name : "";
                var userId = _userService.GetCurrentUserId(userName);
                var currentUser =
                    _personRepository.GetAll().FirstOrDefault(x => x.PersonId == userId);

                //Build the view model for the home page
                var model = new HomeViewModel(currentUser);

                return View(model);
            }
            catch (Exception)
            {
                //TODO: log error to database
                ViewBag.StatusMessage = GetMessageFromMessageId(BaseControllerMessageId.BuildViewModelFail);
            }

            //If it makes it here, something is wrong
            return View();
        }