Пример #1
0
        private IPassiveMessage ProducePassiveMessageCore(XDocument rawXml, HubContext context, IDictionary <string, string> payloads)
        {
            var typeIdentity = _typeDetector.Detecting(rawXml);

            var typePicker = new TypePicker(context.GetMessageTypes());
            var targetType = typePicker.Picking(typeIdentity);

            if (targetType == null)
            {
                Log.Logger.Debug("unrecognized message type. system doesn't register this type: {0}");
                return(new AsyncPassiveMessage());
            }

            var message = (WechatPushingMessage)_xmlSerializer.Deserialize(rawXml, targetType);

            var handlerPicker = new HandlerPicker(context.GetMessageHandlers());
            var handler       = handlerPicker.Picking(message);

            if (handler == null)
            {
                Log.Logger.Debug("cannot find proper message handler.");
                return(new AsyncPassiveMessage());
            }

            var messageContext = BuideMessageContext(context, typeIdentity, rawXml, message);

            var safeHandler = new SafeMessageHandler(handler);

            return(safeHandler.HandleMessage(message, messageContext));
        }
Пример #2
0
 private void AddTypeButton_Click(object sender, EventArgs e)
 {
     _typePicker = new TypePicker();
     if (_typePicker.ShowDialog() == DialogResult.OK)
     {
         if (DirectoriesListBox.SelectedItem != null)
         {
             string dir = DirectoriesListBox.SelectedItem.ToString();
             _extensions[dir].Add("." + _typePicker.typeInput.Text);
             FileTypesListBox.Items.Clear();
             FileTypesListBox.Items.AddRange(_extensions[dir].ToArray());
             //if (_extensions[dir].Count > 0)
             //    FileTypesListBox.SelectedIndex = 0;
         }
     }
     _typePicker.Dispose();
     _typePicker = null;
 }
Пример #3
0
 private void TypeTapped(object sender, EventArgs e)
 {
     TypePicker.Focus();
 }