Example #1
0
 private void TranslateMessages(ActionExecutedContext filterContext)
 {
     if (filterContext.Controller.ViewData.ContainsKey("Messages"))
     {
         MessageViewData messageViewData = (MessageViewData)filterContext.Controller.ViewData["Messages"];
         foreach (KeyValuePair <string, IList <string> > messagesForType in messageViewData.Messages)
         {
             for (int i = 0; i < messagesForType.Value.Count; i++)
             {
                 string baseName = String.Format("{0}.globalresources"
                                                 , filterContext.Controller.GetType().Namespace.Replace(".Controllers", String.Empty).ToLowerInvariant());
                 string originalMessage   = messagesForType.Value[i];
                 string translatedMessage = this._localizer.GetString(originalMessage, baseName);
                 if (translatedMessage != originalMessage)
                 {
                     messagesForType.Value[i] = translatedMessage;
                     // Change the key of the messageParams if there were params for the original key
                     if (messageViewData.MessageParams.ContainsKey(originalMessage))
                     {
                         messageViewData.MessageParams.Add(translatedMessage, messageViewData.MessageParams[originalMessage]);
                         messageViewData.MessageParams.Remove(originalMessage);
                     }
                 }
             }
         }
     }
 }
Example #2
0
 private void ShowMessage(MessageViewData messageViewData)
 {
     if (messageViewData == null)
     {
         return;
     }
     _scrollPicker.AddDataItem(messageViewData, true);
     InitVariantButtons(messageViewData);
 }
Example #3
0
        static void CreateMessage(string parentQuestStepId, string text, bool isUserMsg = false)
        {
            MessageViewData msg = new MessageViewData();

            msg.text              = text;
            msg.isUserMsg         = isUserMsg;
            msg.parentQuestStepId = parentQuestStepId;

            Data.Repository.UserMessageHistory.Set(msg);
            GlobalEvents.OnMessageNew.Publish(msg);
        }
Example #4
0
    private void ShowNextMessage()
    {
        if (messageQueue.Count <= 0)
        {
            return;
        }

        MessageViewData messageViewData = messageQueue.Dequeue();

        ShowMessage(messageViewData);
    }
Example #5
0
 private void ShowNewMessage(MessageViewData messageViewData)
 {
     messageViewData.isNew = true;
     if (messageQueue.Count <= 0)
     {
         ShowMessage(messageViewData);
     }
     else
     {
         messageQueue.Enqueue(messageViewData);
     }
 }
Example #6
0
        private void InitMessageViewData(ActionExecutingContext filterContext)
        {
            var currentController = filterContext.Controller;

            this._tempData = currentController.TempData;
            if (this._tempData.ContainsKey("Messages"))
            {
                this._messageViewData = new MessageViewData((MessageViewData)this._tempData["Messages"]);
            }
            else
            {
                this._messageViewData = new MessageViewData();
            }
            this._messageViewData.FlashMessageAdded += new EventHandler(MessageViewData_FlashMessageAdded);
            currentController.ViewData["Messages"]   = this._messageViewData;
        }
Example #7
0
 private void InitVariantButtons(MessageViewData messageViewData)
 {
     //init variant buttons
     ResetVariantButtons();
     if (!messageViewData.isUserMsg)
     {
         QuestMessageData questStep = Data.Repository.MessageSteps[messageViewData.parentQuestStepId];
         for (int i = 0; i < _variantButtons.Length; i++)
         {
             if (i < questStep.variants.Length)
             {
                 _variantButtons[i].SetData(questStep.variants[i]);
             }
         }
     }
 }
    public override void UpdateView(object dataObject)
    {
        StopAllCoroutines();

        _messageViewData = (MessageViewData)dataObject;
        message.text     = _messageViewData.text;
        if (_messageViewData.isNew && !_messageViewData.isUserMsg)
        {
            _messageViewData.isNew = false;
            StartCoroutine(TypeMessage(_messageViewData.text));
        }
        else
        {
            message.text = _messageViewData.text;
            //EventManager.Get<TypeMessageCompleteEvent>().Publish(_messageViewData);
        }

        SetMode(_messageViewData.isUserMsg);
    }
Example #9
0
        public override void OnException(ExceptionContext filterContext)
        {
            if (filterContext == null)
            {
                throw new ArgumentNullException("filterContext");
            }

            // If custom errors are disabled, we need to let the normal ASP.NET exception handler
            // execute so that the user can see useful debugging information.
            if (filterContext.ExceptionHandled || !filterContext.HttpContext.IsCustomErrorEnabled)
            {
                return;
            }

            Exception exception = filterContext.Exception;

            // If this is not an HTTP 500 (for example, if somebody throws an HTTP 404 from an action method),
            // ignore it.
            if (new HttpException(null, exception).GetHttpCode() != 500)
            {
                return;
            }

            if (!ExceptionType.IsInstanceOfType(exception))
            {
                return;
            }

            string          controllerName = (string)filterContext.RouteData.Values["controller"];
            string          actionName     = (string)filterContext.RouteData.Values["action"];
            HandleErrorInfo model          = new HandleErrorInfo(filterContext.Exception, controllerName, actionName);

            if (this._logger.IsErrorEnabled)
            {
                this._logger.Error(string.Format("An unexpected error occured while executing {0} in {1}.", actionName, controllerName), exception);
            }

            MessageViewData messageViewData = new MessageViewData();

            while (exception != null)
            {
                messageViewData.AddErrorMessage(this._localizer.GetString(exception.Message));
                exception = exception.InnerException;
            }
            var viewData = new ViewDataDictionary <HandleErrorInfo>(model);

            viewData["Messages"] = messageViewData;

            // Render error view
            filterContext.Result = new ViewResult
            {
                ViewName   = View,
                MasterName = Master,
                ViewData   = viewData,
                TempData   = filterContext.Controller.TempData
            };

            filterContext.ExceptionHandled = true;
            filterContext.HttpContext.Response.Clear();
            filterContext.HttpContext.Response.StatusCode = 500;
        }
Example #10
0
 private void OnTypeMessageComplete(MessageViewData messageViewData)
 {
     InitVariantButtons(messageViewData);
     ShowNextMessage();
 }