/// <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); }
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); }