コード例 #1
0
        async Task IGangEventHandler <GangManagerEvent <GangUserLink> > .HandleAsync(
            GangManagerEvent <GangUserLink> e)
        {
            var message = new MailMessage
            {
                Subject = "Gang Demo: Invite"
            };

            message.To.Add(new MailAddress(e.Data.Email, e.Data.Name));

            var uri = QueryHelpers.AddQueryString(
                _app.RootUrl + "/", new Dictionary <string, string> {
                { "link-code", e.Data.Code.Value }
            });

            message.Body =
                $@"Hi {e.Data.Name},

An invite to the Gang Demo was requested for {e.Data.Email}

{e.Data.Code.Value}

enter the code or click the link below to gain access
{uri}";

            await _smtp.SendAsync(message);
        }
コード例 #2
0
        public void RaiseEvent <TEventData>(
            TEventData data,
            string gangId,
            byte[] memberId = null)
        {
            if (data == null)
            {
                throw new ArgumentNullException(nameof(data));
            }

            lock (_events)
            {
                var e = new GangManagerEvent <TEventData>(
                    data,
                    new GangAudit(gangId, _sequence.Next(), memberId)
                    );

                _events.OnNext(e);

                _eventExecutor?.ExecuteAsync(e)
                .ContinueWith(
                    t =>
                {
                    var ex = t.Exception.InnerException;

                    _logger.LogError(ex, "Gang Manager Event Error In Handler");
                    RaiseEvent(new GangError(data, ex), gangId);
                },
                    TaskContinuationOptions.OnlyOnFaulted);
            }
        }
コード例 #3
0
ファイル: GangAddedHandler.cs プロジェクト: MrAntix/gang
        async Task IGangEventHandler <GangManagerEvent <GangAdded> >
        .HandleAsync(GangManagerEvent <GangAdded> e)
        {
            var host = _createHost();

            await _manager.ManageAsync(
                new GangParameters(e.Audit.GangId),
                host
                );
        }