private Task OnDocumentsChanging(object sender, DocumentsChangeEventArgs <User> args) { if (args.ChangeType == ChangeType.Removed) { return(Task.CompletedTask); } foreach (var doc in args.Documents) { doc.Value.EmailAddress = doc.Value.EmailAddress.ToLower(); // automatically verify email if its in the oauth accounts if (!doc.Value.IsEmailAddressVerified) { doc.Value.IsEmailAddressVerified = doc.Value.OAuthAccounts.Count(oa => String.Equals(oa.EmailAddress(), doc.Value.EmailAddress, StringComparison.OrdinalIgnoreCase)) > 0; } if (!doc.Value.IsEmailAddressVerified && String.IsNullOrEmpty(doc.Value.VerifyEmailAddressToken)) { doc.Value.CreateVerifyEmailAddressToken(); } } return(Task.CompletedTask); }
protected Task OnDocumentsChanging(object sender, DocumentsChangeEventArgs <Parent> args) { foreach (var doc in args.Documents.Select(d => d.Value).Cast <IParentChildDocument>()) { doc.Discriminator = JoinField.Root <Parent>(); } return(Task.CompletedTask); }
private async Task OnDocumentChangingAsync(object sender, DocumentsChangeEventArgs <Stack> args) { if (args.ChangeType != ChangeType.Removed) { return; } foreach (var document in args.Documents) { if (await _eventRepository.GetCountByStackIdAsync(document.Value.Id).AnyContext() > 0) { throw new ApplicationException($"Stack \"{document.Value.Id}\" can't be deleted because it has events associated to it."); } } }