C# RAKAMI YAZIYA ÇEVİRME

Örnek 43221 = KIRK ÜÇ BİN ÜÇ YÜZ YİRMİ BİR

private static string ConvertNumberToTurkishText(double number)
{
    string[,] turkishNumberTexts = new string[3, 10]
    {
        {"", "BİR", "İKİ", "ÜÇ", "DÖRT", "BEŞ", "ALTI", "YEDİ", "SEKİZ", "DOKUZ"},
        {"", "ON", "YİRMİ", "OTUZ", "KIRK", "ELLİ", "ALTMIŞ", "YETMİŞ", "SEKSEN", "DOKSAN"},
        {"", "YÜZ", "İKİYÜZ", "ÜÇYÜZ", "DÖRTYÜZ", "BEŞYÜZ", "ALTIYÜZ", "YEDİYÜZ", "SEKİZYÜZ", "DOKUZYÜZ"}
    };

    string result = "";
    if (number == 0.0)
    {
        return "";
    }

    string numberText = number.ToString();
    int digitsCount = numberText.Length;

    if (digitsCount % 3 != 0)
    {
        int numberOfZeroesToAdd = 3 - (digitsCount % 3);
        numberText = new string('0', numberOfZeroesToAdd) + numberText;
        digitsCount += numberOfZeroesToAdd;
    }

    int blockCount = digitsCount / 3;
    int blockIndex = blockCount - 1;

    while (blockIndex >= 0)
    {
        string blockText = "";
        int digitIndex = (blockCount - blockIndex - 1) * 3;

        for (int i = 0; i < 3; i++)
        {
            int digit = int.Parse(numberText[digitIndex + i].ToString());
            if (digit == 0)
            {
                continue;
            }

            blockText += turkishNumberTexts[2, i == 0 ? digit : 0];
            blockText += (digit > 1 ? turkishNumberTexts[1, digit] : "");
            blockText += (i == 2 ? "" : " ");
        }

        if (!string.IsNullOrEmpty(blockText))
        {
            switch (blockIndex)
            {
                case 0:
                    result += blockText;
                    break;
                case 1:
                    result += (numberText.Substring(0, 3) == "001" ? "" : blockText + "BİN ");
                    break;
                default:
                    result += (blockText + (blockText.EndsWith("YÜZ") ? "" : " ") + GetMultiplierText(blockIndex) + " ");
                    break;
            }
        }

        blockIndex--;
    }

    return result.TrimEnd();
}

private static string GetMultiplierText(int multiplierIndex)
{
    string[] multipliers = { "MİLYON", "MİLYAR", "TRİLYON" };
    return multipliers[multiplierIndex - 2];
}

SQL SERVER SEARCH ALL DATABASE SPECIFIC TABLE NAME

USE YENIDATA
GO

DECLARE @dbname VARCHAR(500)
DECLARE @tblname NVARCHAR(500)

SET @tblname = 'LG%'

DECLARE db_cursor CURSOR FOR
SELECT name FROM sys.databases
OPEN db_cursor
FETCH NEXT FROM db_cursor INTO @dbname

WHILE @@FETCH_STATUS = 0
BEGIN
    IF EXISTS (SELECT * FROM [sys].[databases] d
                INNER JOIN [sys].[master_files] m ON d.database_id = m.database_id
                WHERE d.state_desc = 'ONLINE'
                AND m.state = 0 -- ONLINE
                AND d.name = @dbname
                AND EXISTS (SELECT 1 FROM [sys].[tables] t WHERE t.name LIKE @tblname))
    BEGIN
        PRINT 'Tables starting with [' + @tblname + '] exists in database [' + @dbname + ']'
        EXEC ('USE [' + @dbname + ']; SELECT TABLE_CATALOG+''.''+TABLE_SCHEMA+''.''+TABLE_NAME AS ''Table Name'' FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME LIKE ''' + @tblname + ''' AND TABLE_TYPE=''BASE TABLE''')
    END
    FETCH NEXT FROM db_cursor INTO @dbname
END

CLOSE db_cursor
DEALLOCATE db_cursor

LOGO OBJECTS INVOICE ITEXT

Logo objectse invoice fatura atarken ITEXT her 255 karaktere ¦ konması gerekmektedir .

İlgili fonksiyon:

    public static string SplitString(string input)
        {
            int chunkSize = 255;
            List<string> chunks = new List<string>();
            for (int i = 0; i < input.Length; i += chunkSize)
            {
                int remaining = Math.Min(chunkSize, input.Length - i);
                chunks.Add(input.Substring(i, remaining));
            }
            return string.Join("¦", chunks);
        }
            F.DataFields.FieldByName("ITEXT").Value = SplitString(description);