Example #1
0
        /// <summary>
        /// Handles the message.
        /// </summary>
        /// <param name="message">The message.</param>
        public void Handle(AccountDeletedMessage message)
        {
            AccountViewModel accountViewModel = Items.Where(viewModel => viewModel.Id == message.Account.Id).SingleOrDefault();

            if (accountViewModel != null)
            {
                // Remove existing
                Items.Remove(accountViewModel);
            }

            NotifyOfPropertyChange(() => Name);
        }
Example #2
0
        private async Task Approve(BaseRequestStatusUpdatedMessage message, ExchangeratRequest request)
        {
            if (message == null || request == null)
            {
                throw new ArgumentNullException();
            }

            request.Status = Status.Approved;
            object messageData = null;

            if (message.RequestType == "Create Account")
            {
                messageData = new AccountCreatedMessage()
                {
                    UserId        = message.UserId,
                    AccountTypeId = message.AccountTypeId.Value
                };
            }
            else if (message.RequestType == "Block Account")
            {
                messageData = new AccountBlockedMessage()
                {
                    UserId    = message.UserId,
                    AccountId = message.AccountId.Value
                };
            }
            else if (message.RequestType == "Close Account")
            {
                messageData = new AccountDeletedMessage()
                {
                    UserId    = message.UserId,
                    AccountId = message.AccountId.Value
                };
            }

            var messageToStore = new Message(messageData);

            await this.Save(request, messageToStore);

            await this.publisher.Publish(messageData);

            await this.MarkMessageAsPublished(messageToStore.Id);
        }