private Task <CompareExchangeResult <string> > DeleteUserEmailReservation(string email) { var key = GetCompareExchangeKeyFromEmail(email); var store = DbSession.Advanced.DocumentStore; var readResult = store.Operations.Send(new GetCompareExchangeValueOperation <string>(key)); if (readResult == null) { return(Task.FromResult(new CompareExchangeResult <string>() { Successful = false })); } var deleteEmailOperation = new DeleteCompareExchangeValueOperation <string>(key, readResult.Index); return(DbSession.Advanced.DocumentStore.Operations.SendAsync(deleteEmailOperation)); }
/// <summary> /// Removes email reservation. /// </summary> /// <param name="email"></param> /// <returns></returns> protected virtual async Task <CompareExchangeResult <string> > DeleteEmailReservation(string email) { var key = Conventions.CompareExchangeKeyFor(email); var store = DbSession.Advanced.DocumentStore; var readResult = await store.Operations.SendAsync(new GetCompareExchangeValueOperation <string>(key)); if (readResult == null) { logger.LogError("Failed to get current index for {EmailReservation} to delete it", key); return(new CompareExchangeResult <string>() { Successful = false }); } var deleteEmailOperation = new DeleteCompareExchangeValueOperation <string>(key, readResult.Index); return(await DbSession.Advanced.DocumentStore.Operations.SendAsync(deleteEmailOperation)); }