-- Script to update WeeklyPoolContributionPercent from 10% to 20%
-- این script فقط در صورتی که رکورد وجود داشته باشد، آن را آپدیت می‌کند

-- بررسی وجود جدول SystemConfigurations
IF OBJECT_ID('SystemConfigurations', 'U') IS NOT NULL
BEGIN
    PRINT 'جدول SystemConfigurations یافت شد. در حال آپدیت...'
    
    -- آپدیت رکورد (در صورت وجود)
    UPDATE SystemConfigurations 
    SET 
        Value = '20',
        Description = N'درصد مشارکت در استخر هفتگی از کل فعال‌سازی‌های جدید شبکه (20%)',
        LastModified = GETUTCDATE()
    WHERE [Key] = 'Commission.WeeklyPoolContributionPercent'
    
    -- اگر رکوردی وجود نداشت، اضافه کن
    IF @@ROWCOUNT = 0
    BEGIN
        PRINT 'رکورد Configuration یافت نشد. در حال ایجاد...'
        
        INSERT INTO SystemConfigurations 
            ([Key], Value, Description, Scope, IsActive, DataType, Created)
        VALUES 
            ('Commission.WeeklyPoolContributionPercent', '20', 
             N'درصد مشارکت در استخر هفتگی از کل فعال‌سازی‌های جدید شبکه (20%)', 
             2, -- ConfigurationScope.Commission = 2
             1, -- IsActive = true
             'Int',
             GETUTCDATE())
    END
    ELSE
    BEGIN
        PRINT 'رکورد با موفقیت آپدیت شد.'
    END
END
ELSE
BEGIN
    PRINT 'جدول SystemConfigurations هنوز ایجاد نشده است.'
    PRINT 'لطفاً ابتدا سرویس را یکبار اجرا کنید تا جداول Seed شوند.'
END

-- نمایش وضعیت فعلی
IF OBJECT_ID('SystemConfigurations', 'U') IS NOT NULL
BEGIN
    PRINT ''
    PRINT 'وضعیت فعلی:'
    SELECT [Key], Value, Description, Scope, IsActive
    FROM SystemConfigurations
    WHERE [Key] = 'Commission.WeeklyPoolContributionPercent'
END
