public async Task <CustomerProfileErrorCodes> SetEmailAsVerifiedAsync(string customerId) { var(error, wasEmailEverVerified) = await _customerProfileRepository.SetEmailVerifiedAsync(customerId); switch (error) { case CustomerProfileErrorCodes.CustomerProfileDoesNotExist: _log.Warning("Customer Profile does not exists", context: customerId); break; case CustomerProfileErrorCodes.CustomerProfileEmailAlreadyVerified: _log.Warning("Customer profile email is already verified", context: customerId); break; default: _log.Info("Customer profile email is successfully verified", context: customerId); await _emailVerifiedPublisher.PublishAsync( new EmailVerifiedEvent { CustomerId = customerId, TimeStamp = DateTime.UtcNow, WasEmailEverVerified = wasEmailEverVerified }); break; } return(error); }