public async Task <RestoreAccessResult> RestoreAccess(RestoreAccessDto restoreRequest) { var(result, user, newPassword) = await accountManager.RestoreAccess(restoreRequest.Email); switch (result) { case RestoreAccessResult.ResendConfirmationCode: await emailManager.EnqueueEmailConfirmation(user, GetEmailConfirmationUrl(user.ConfirmationCode)); break; case RestoreAccessResult.ResetPassword: await emailManager.EnqueuePasswordResetEmail(user, newPassword, Url.Combine(appConfiguration.BaseUrl, appConfiguration.LogInUrl)); break; } return(result); }