public EmailVerificationCodeEntity CreateEmailVerificationCode(string email, string partnerId = null,
                                                                       bool generateRealCode          = true, int codeLength = 4)
        {
            var creationDt = _dateTimeProvider.GetDateTime();
            var entity     = new EmailVerificationCodeEntity
            {
                RowKey           = EmailVerificationCodeEntity.GenerateRowKey(creationDt),
                PartitionKey     = EmailVerificationCodeEntity.GeneratePartitionKey(email, partnerId),
                Code             = _randomValueGenerator.GetCode(codeLength, generateRealCode),
                CreationDateTime = creationDt
            };

            return(entity);
        }
        public EmailVerificationPriorityCodeEntity CreateEmailVerificationPriorityCode(string email, string partnerId,
                                                                                       DateTime expirationDt, int codeLength = 4)
        {
            var creationDt = _dateTimeProvider.GetDateTime();

            var entity = new EmailVerificationPriorityCodeEntity
            {
                RowKey           = EmailVerificationCodeEntity.GenerateRowKey(creationDt),
                PartitionKey     = EmailVerificationCodeEntity.GeneratePartitionKey(email, partnerId),
                Code             = _randomValueGenerator.GetCode(codeLength, true),
                CreationDateTime = creationDt,
                ExpirationDate   = expirationDt
            };

            return(entity);
        }