コード例 #1
0
        public void ManuallyComposedTypeWithMultipleTranslatorsHandlesMessageProperly()
        {
            var message3 = new Message3 {
                CorrelationId = "1234"
            };

            var      bus              = new Bus();
            Message4 message4         = null;
            var      message2Consumer = new MyConsumer();

            bus.AddHandler(message2Consumer);
            bus.AddHandler(new ActionConsumer <Message4>(m => message4 = m));
            var pipe = new Pipe();

            bus.AddTranslator(pipe);
            bus.AddTranslator(new ActionPipe <Message3, Message4>(m => new Message4 {
                CorrelationId = m.CorrelationId
            }));

            bus.Handle(message3);

            Assert.IsNotNull(message4);
            Assert.AreEqual(message3.CorrelationId, message4.CorrelationId);
            Assert.IsNotNull(Pipe.LastMessageProcessed);
            Assert.AreEqual(message3.CorrelationId, message4.CorrelationId);
        }
コード例 #2
0
 private void Message_OnClick2(object sender, RoutedEventArgs e)
 {
     Button btn = (Button)sender;
     var nmb = int.Parse(Regex.Replace(btn.Name, "[^0-9.]", ""));
     object ob = null;
     switch (nmb)
     {
         case 1:
             ob = new Message1();
             break;
         case 2:
             ob = new Message2();
             break;
         case 3:
             ob = new Message3();
             break;
         case 4:
             ob = new Message4();
             break;
         case 5:
             ob = new Message5();
             break;
     }
     if (ob != null)
         App.EventAgrigator.PublishOnCurrentThread(ob, "M1");
 }
コード例 #3
0
        public void TestMessage3()
        {
            var vdm_message = new Vdm();
            var msg         = new Message3();

            var result = vdm_message.Add("!AIVDM,1,1,,B,35Mk33gOkSG?bLtK?;B2dRO`00`A,0*30");

            AssertEquals("vdm add failed", 0, result);
            msg.Parse(vdm_message.SixState);


            AssertEquals("msgid", 3, msg.MsgId);
            AssertEquals("repeat", 0, msg.Repeat);
            AssertEquals("userid", 366789390, msg.UserId);
            AssertEquals("nav_status", 15, msg.NavStatus);
            AssertEquals("rot", 127, msg.Rot);
            AssertEquals("sog", 227, msg.Sog);
            AssertEquals("pos_acc", 0, msg.PosAcc);
            AssertEquals("longitude", -73444450, msg.Pos.Longitude);
            AssertEquals("latitude", 28560200, msg.Pos.Latitude);
            AssertEquals("cog", 690, msg.Cog);
            AssertEquals("true_heading", 79, msg.TrueHeading);
            AssertEquals("utc_sec", 52, msg.UtcSec);
            AssertEquals("regional", 0, msg.Regional);
            AssertEquals("spare", 0, msg.Spare);
            AssertEquals("raim", 0, msg.Raim);
            AssertEquals("sync_state", 0, msg.SyncState);
            AssertEquals("slot_increment", 161, msg.SlotIncrement);
            AssertEquals("num_slots", 0, msg.NumSlots);
            AssertEquals("keep", 1, msg.Keep);
        }
コード例 #4
0
        /// <summary>
        /// Handles the Click event of the SaveCustomizeSettings control.
        /// </summary>
        /// <param name="sender">The source of the event.</param>
        /// <param name="e">The <see cref="System.EventArgs"/> instance containing the event data.</param>
        protected void SaveCustomSettings_Click(object sender, EventArgs e)
        {
            WebProfile.Current.IssuesPageSize            = Convert.ToInt32(IssueListItems.SelectedValue);
            WebProfile.Current.PreferredLocale           = ddlPreferredLocale.SelectedValue;
            WebProfile.Current.ReceiveEmailNotifications = AllowNotifications.Checked;

            try
            {
                WebProfile.Current.Save();
                Message3.ShowSuccessMessage(GetLocalResourceObject("CustomSettingsSaved").ToString());

                if (Log.IsInfoEnabled)
                {
                    if (HttpContext.Current.User != null && HttpContext.Current.User.Identity.IsAuthenticated)
                    {
                        MDC.Set("user", HttpContext.Current.User.Identity.Name);
                    }
                    Log.Info("Profile updated");
                }
            }
            catch (Exception ex)
            {
                if (Log.IsErrorEnabled)
                {
                    if (HttpContext.Current.User != null && HttpContext.Current.User.Identity.IsAuthenticated)
                    {
                        MDC.Set("user", HttpContext.Current.User.Identity.Name);
                    }
                    Log.Error("Profile update error", ex);
                }
                Message3.ShowErrorMessage(GetLocalResourceObject("CustomSettingsUpdateError").ToString());
            }
        }
コード例 #5
0
        /// <summary>
        /// Using a wrapper with `oneof` to contain several types
        /// </summary>
        static void TestWrapperOneOf()
        {
            Title("WrapperOneOf and WrapperOneOfEarlier");

            var msg1 = new Message1 {
                Info = "Message 1"
            };
            var msg2 = new Message2 {
                Info = "Message 2", ExtraInfo = "Hi!"
            };
            var msg3 = new Message3 {
                Info = "Message 3", ExtraInfo = "Hi 3!", Timestamp = Timestamp.FromDateTime(DateTime.UtcNow)
            };

            var wrap1 = new WrapperOneOf {
                Msg1 = msg1
            };

            Console.WriteLine(wrap1);

            var wrap2 = new WrapperOneOf {
                Msg2 = msg2
            };

            Console.WriteLine(wrap2);

            var wrap3 = new WrapperOneOf()
            {
                Msg3 = msg3
            };
コード例 #6
0
        public async Task can_pass_in_the_envelope()
        {
            var message = new Message3();

            await Execute(message);

            AsyncHandler.LastEnvelope.ShouldBeSameAs(theEnvelope);
        }
コード例 #7
0
        private async void Initialize(string path)
        {
            _path = path;
            ThemePreview.Initialize(path);

            var flags = TelegramTheme.Light;

            var file = await StorageFile.GetFileFromPathAsync(path);

            var lines = await FileIO.ReadLinesAsync(file);

            foreach (var line in lines)
            {
                if (line.StartsWith("name: "))
                {
                    TitleLabel.Text = line.Substring("name: ".Length);
                }
                else if (line.StartsWith("parent: "))
                {
                    flags = (TelegramTheme)int.Parse(line.Substring("parent: ".Length));
                }
            }

            LayoutRoot.RequestedTheme = flags == TelegramTheme.Light ? ElementTheme.Light : ElementTheme.Dark;

            Chat1.Mockup(new ChatTypePrivate(), 0, "Eva Summer", string.Empty, "Reminds me of a Chinese proverb...", false, 0, false, true, DateTime.Now);
            Chat2.Mockup(new ChatTypePrivate(), 1, "Alexandra Smith", string.Empty, "This is amazing!", false, 2, false, false, DateTime.Now.AddHours(-1));
            Chat3.Mockup(new ChatTypePrivate(), 2, "Mike Apple", "😄 " + Strings.Resources.AttachSticker, string.Empty, false, 2, true, false, DateTime.Now.AddHours(-2), true);
            Chat4.Mockup(new ChatTypeSupergroup(), 3, "Evening Club", "Eva: " + Strings.Resources.AttachPhoto, string.Empty, false, 0, false, false, DateTime.Now.AddHours(-3));
            Chat5.Mockup(new ChatTypeSupergroup(), 4, "Old Pirates", "Max: ", "Yo-ho-ho!", false, 0, false, false, DateTime.Now.AddHours(-4));
            Chat6.Mockup(new ChatTypePrivate(), 5, "Max Bright", string.Empty, "How about some coffee?", true, 0, false, false, DateTime.Now.AddHours(-5));
            Chat7.Mockup(new ChatTypePrivate(), 6, "Natalie Parker", string.Empty, "OK, great)", true, 0, false, false, DateTime.Now.AddHours(-6));

            Photo.Source  = PlaceholderHelper.GetNameForUser(Strings.Resources.ThemePreviewTitle, 30);
            Title.Text    = Strings.Resources.ThemePreviewTitle;
            Subtitle.Text = string.Format("{0} {1} {2}", Strings.Resources.LastSeen, Strings.Resources.TodayAt, Converter.ShortTime.Format(DateTime.Now.AddHours(-1)));

            Message1.Mockup(new MessagePhoto(new Photo(false, null, new[] { new PhotoSize("i", TdExtensions.GetLocalFile("Assets\\Mockup\\theme_preview_image.jpg"), 500, 302, new int[0]) }), new FormattedText(), false), Strings.Resources.ThemePreviewLine4, false, DateTime.Now.AddSeconds(-25), true, true);
            Message2.Mockup(Strings.Resources.ThemePreviewLine1, true, DateTime.Now, true, false);
            //Message3.Mockup(Strings.Resources.FontSizePreviewLine1, Strings.Resources.FontSizePreviewName, Strings.Resources.FontSizePreviewReply, false, DateTime.Now.AddSeconds(-25));
            Message3.Mockup(new MessageVoiceNote(new VoiceNote(3, new byte[]
            {
                0, 0, 163, 198, 43, 17, 250, 248, 127, 155, 85, 58, 159, 230, 164, 212, 185, 247, 73, 42,
                173, 66, 165, 69, 41, 251, 255, 242, 127, 223, 113, 133, 237, 148, 243, 30, 127, 184, 206, 183, 234,
                108, 175, 168, 250, 207, 114, 229, 233, 154, 35, 254, 21, 66, 99, 134, 141, 92, 159, 2
            }, "audio/ogg", null, null), new FormattedText(), true), true, DateTime.Now.AddSeconds(-25), false, true);
            Message4.Mockup(Strings.Resources.ThemePreviewLine3, Strings.Resources.ThemePreviewLine3Reply, Strings.Resources.ThemePreviewLine1, false, DateTime.Now.AddSeconds(-25), true, false);
            Message5.Mockup(new MessageAudio(new Audio(4 * 60 + 3, Strings.Resources.ThemePreviewSongTitle, Strings.Resources.ThemePreviewSongPerformer, "preview.mp3", "audio/mp3", null, null, null, null), new FormattedText()), false, DateTime.Now, false, true);
            Message6.Mockup(Strings.Resources.ThemePreviewLine2, true, DateTime.Now, true, true);

            PrimaryButtonText   = Strings.Resources.ApplyTheme;
            SecondaryButtonText = Strings.Resources.Cancel;
        }
コード例 #8
0
        public async Task DiscoveredBusAsynchronousConsumerAsynchronouslyConsumesCorrectly()
        {
            var bus       = new Bus();
            var directory = Path.GetDirectoryName(new Uri(GetType().GetTypeInfo().Assembly.CodeBase).LocalPath);

            bus.AddHandlersAndTranslators(directory, "Tests*.dll", GetType().Namespace);

            var message3 = new Message3 {
                CorrelationId = "1234"
            };
            await bus.HandleAsync(message3);

            Assert.NotNull(Message3AsyncConsumer.LastMessageReceived);
            Assert.Equal(message3.CorrelationId, Message3AsyncConsumer.LastMessageReceived.CorrelationId);
        }
コード例 #9
0
    // Use this for initialization
    void Start()
    {
        state = BattleState.Running;

        // 2つ同じ型のレシーバを作っても、一つの型に対して一個しかレシーバ関数を登録できないので、後勝ちになる = 一件しかレシーバが残らない。
        var s = new WantToReceiveMessage1();
        var t = new WantToReceiveMessage1();


        // ちょっと扱いが難しいが、observerのremoveもできる。
        // set nested receiver.
        var u = new WantToReceiveMessage2();

        // remove nested receiver.
        Dispatchers <MessageBase> .DispatchRoute <WantToReceiveMessage1>().RemoveReceiver <Message2, WantToReceiveMessage2>();


        // 擬似的なレシーブ動作
        var data = new Message1();

        data.param = "a";
        var jsonStr   = JsonUtility.ToJson(data);
        var jsonBytes = Encoding.UTF8.GetBytes(jsonStr);

        var data2      = new Message2("fufufu");
        var jsonStr2   = JsonUtility.ToJson(data2);
        var jsonBytes2 = Encoding.UTF8.GetBytes(jsonStr2);

        var data3      = new Message3("hehehe");   // このデータは受取手が存在しない
        var jsonStr3   = JsonUtility.ToJson(data3);
        var jsonBytes3 = Encoding.UTF8.GetBytes(jsonStr3);

        for (var i = 0; i < 10; i++)
        {
            var dataBox = jsonBytes;

            if (i % 3 == 1)
            {
                dataBox = jsonBytes2;
            }
            if (i % 3 == 2)
            {
                dataBox = jsonBytes3;
            }

            Input(dataBox);
        }
    }
コード例 #10
0
        public async Task ManuallyComposedAsyncTypeAsynchronouslyHandlesMessageProperly()
        {
            var message3 = new Message3 {
                CorrelationId = "1234"
            };

            var bus = new Bus();

            var message3AsyncConsumer = new Message3AsyncConsumer();

            bus.AddHandler(message3AsyncConsumer);

            await bus.HandleAsync(message3);

            Assert.IsNotNull(Message3AsyncConsumer.LastMessageReceived);
            Assert.AreEqual(message3.CorrelationId, Message3AsyncConsumer.LastMessageReceived.CorrelationId);
        }
 public Task Handle(Message3 message, IMessageHandlerContext context)
 {
     Data.SomeId = message.SomeId;
     Data.MessageThreeReceived = true;
     return(PerformSagaCompletionCheck(context));
 }
コード例 #12
0
 public void Handle(Message3 message)
 {
 }
コード例 #13
0
 public Task<Message2> Other(Message3 message)
 {
     return null;
 }
コード例 #14
0
 public void Handle(Message3 message)
 {
     throw new NotImplementedException();
 }
コード例 #15
0
 public Task <Message2> Other(Message3 message)
 {
     return(null);
 }
コード例 #16
0
 public static MessageRecipientResult Handle( Message3 msg )
 {
     msg.HandledBy = MethodId.TestComponent_Handle_Message3;
     return MessageRecipientResult.DeliverToNext;
 }
コード例 #17
0
 public void Handle(Message3 message)
 {
     Data.SomeId = message.SomeId;
     Data.MessageThreeReceived = true;
     PerformSagaCompletionCheck();
 }
コード例 #18
0
 public async Task Handle(Message3 message)
 {
     _done.Set();
 }
コード例 #19
0
 public void Go6(IService service, Message3 command)
 {
 }
コード例 #20
0
ファイル: ViewModel1.cs プロジェクト: TriadTom/Caliburn.Micro
 public void Handle(Message3 message)
 {
     Debug.WriteLine(GetType().Name + " Received " + message.GetType().Name);
 }
コード例 #21
0
 public void Handle(Message3 message)
 {
     // code to handle Message2
 }
コード例 #22
0
 public void Handle(Message3 msg)
 {
 }
コード例 #23
0
 public Task Simple3(Message3 message, Envelope envelope)
 {
     LastEnvelope = envelope;
     return(Task.CompletedTask);
 }
コード例 #24
0
 public Task Handle(Message3 message, IMessageHandlerContext context)
 {
     throw new NotImplementedException();
 }
コード例 #25
0
 // In this case, we assume that the first type is the message type
 // because it's concrete, not "simple", and isn't suffixed with
 // "Settings"
 public void Consume(Message3 weirdName, IEmailService service)
 {
 }