public bool InsertActivationCode(ActivationCode activationCode)
        {
            var sql  = $"insert into {SchemaName}.ActivationCodes (PhoneNumber, Code) values (@PhoneNumber, @Code)";
            var rows = connection.Execute(sql, new { activationCode.PhoneNumber, activationCode.Code },
                                          currentTransaction.Get());

            return(rows > 0);
        }
        public bool UpdateActivationCode(ActivationCode existing)
        {
            var sql =
                $"update {SchemaName}.ActivationCodes set Code=@code, UpdatedAt=@updatedAt where PhoneNumber=@phoneNumber";
            var rows = connection.Execute(sql,
                                          new { existing.Code, existing.UpdatedAt, phoneNumber = existing.PhoneNumber }, currentTransaction.Get());

            return(rows > 0);
        }
        public ActivationCode GetActivationCode(string phoneNumber)
        {
            var sql        = $"select * from {SchemaName}.ActivationCodes where PhoneNumber=@phoneNumber";
            var dbEntities = connection.Query(sql, new { phoneNumber }, currentTransaction.Get());
            var dbEntity   = dbEntities.FirstOrDefault();

            ActivationCode entity = null;

            if (dbEntity != null)
            {
                entity = new ActivationCode
                {
                    PhoneNumber = dbEntity.PhoneNumber,
                    CreatedAt   = dbEntity.CreatedAt,
                    UpdatedAt   = dbEntity.UpdatedAt,
                    Code        = dbEntity.Code
                }
            }
            ;

            return(entity);
        }