public async Task ResolveError(Guid id, string result, Dictionary <string, object> data) { var error = UserErrors.FindOrThrow(id); var ue = (UserError)error.UserError; if ((data != null) && (ue.ContextInfo != null)) { data.ForEach(x => ue.ContextInfo[x.Key] = x.Value); } ue.RecoveryOptions.First(x => x.CommandName == result).Execute(null); UserErrors = UserErrors.Except(new[] { error }).ToArray(); await new UserErrorResolved(id, result).Raise().ConfigureAwait(false); }