public ActionResult NotificationMessage(NotificationMessage notificationMessage)
        {
            if (!notificationMessage.NotificationType.HasValue)
            {
                notificationMessage.NotificationType
                    = _notificationMessageService
                      .Find(notificationMessage.NotificationMessageId).NotificationType;
            }

            switch ((Enums.MessageType)notificationMessage.NotificationType)
            {
            case Enums.MessageType.StandardMessage:
                UpdateStandardMessageDetails(notificationMessage);
                notificationMessage.StandardMessageId = notificationMessage.StandardMessage.StandardMessageId;
                break;

            case Enums.MessageType.SurveyMessage:
                UpdateSurveyMessageDetails(notificationMessage);
                break;

            case Enums.MessageType.ReviewMessage:
                UpdateReviewMessageDetails(notificationMessage);
                break;

            case Enums.MessageType.RatingMessage:
                notificationMessage.SurveyMessage   = null;
                notificationMessage.StandardMessage = null;
                UpdateRatingMessageDetails(notificationMessage);
                break;

            case Enums.MessageType.Offer:
                notificationMessage.SurveyMessage   = null;
                notificationMessage.StandardMessage = null;
                UpdateOfferMessageDetails(notificationMessage);
                break;
            }
            notificationMessage.SurveyMessage   = null;
            notificationMessage.StandardMessage = null;
            notificationMessage.ReviewMessage   = null;
            notificationMessage.RatingMessage   = null;

            if (notificationMessage.NotificationMessageId == 0)
            {
                _notificationMessageService.Insert(notificationMessage);
                _unitOfWorkAsync.SaveChanges();
            }
            else
            {
                var m = _notificationMessageService.Find(notificationMessage.NotificationMessageId);
                m.NotificationTitle       = notificationMessage.NotificationTitle;
                m.NotificationType        = notificationMessage.NotificationType;
                m.NotificationDescription = notificationMessage.NotificationDescription;
                m.MessageThumbImage       = notificationMessage.MessageThumbImage;
                m.ModifiedDate            = DateTime.UtcNow;
                _notificationMessageService.Update(m);
                _unitOfWorkAsync.SaveChanges();
            }
            JsonResponse response = new JsonResponse();

            return(RedirectToAction("Edit", "Notification", new { id = notificationMessage.NotificationId }));
        }