示例#1
0
        public static string GrafikVeriEtiketiOlustur(ZamanAraligiVerisi dilim, string formatStringi, bool ikinciTarihiGoster)
        {
            /* Bu fonksiyon grafik çizilirken alt tarafa yazılacak tarihlerin belirlenmesi için kullanılır
             * İki tarih arasındaki tek fark yalnızca ayın hangi günü olduklarıysa yıl verisini, saat ve dakikayı da yazmaya gerek yok
             * Etikette hangi tarih verilerinin girileceği el ile varilir
             * "dd\MM" gibi
             * "yyyy","MM","dd","HH","mm" şeklinde verilmeli, büyük-küçük harf farkına dikkat edilmelidir
             */

            return(ikinciTarihiGoster ? dilim.Baslangic.ToString(formatStringi) + " - " + dilim.Bitis.AddMilliseconds(-1).ToString(formatStringi) :
                   dilim.Baslangic.ToString(formatStringi));
        }
示例#2
0
        public static string GrafikVeriEtiketiOlustur(ZamanAraligiVerisi dilim, bool ikinciTarihiGoster, string isimSekli, string dil)
        {
            /* Bu fonksiyon grafik çizilirken alt tarafa yazılacak tarihlerin belirlenmesi için kullanılır
             * Verilen tarihe göre haftanın günü verisi döndürür
             * Eğer isimSekli "ddd" ise "Pzt", "Pzr" şeklinde, "dddd" ise "Pazartesi", pazar şeklinde dödürür
             * dil hangi dilde döndürüleceğini gösterir "tr-Tr" gibi
             * eğer ikinciTarihiGoster doğruysa ikinci tarih için de
             * bu fonksiyon kullanılıp sonuçları birleştirip döndürülüyor.
             */
            System.Globalization.CultureInfo kultur = new System.Globalization.CultureInfo(dil);

            return(ikinciTarihiGoster ? dilim.Baslangic.ToString(isimSekli, kultur) + " - " + dilim.Bitis.AddMilliseconds(-1).ToString(isimSekli, kultur) :
                   dilim.Baslangic.ToString(isimSekli, kultur));
        }
示例#3
0
        public static string GrafikVeriEtiketiOlustur(ZamanAraligiVerisi dilim, int degisendenOncekilerinSayisi,
                                                      int degisendenSonrkilerinSayisi, bool ikinciTarihiGoster)
        {
            /* Bu fonksiyon grafik çizilirken alt tarafa yazılacak tarihlerin belirlenmesi için kullanılır
             * İki tarih arasındaki tek fark yalnızca ayın hangi günü olduklarıysa yıl verisini, saat ve dakikayı da yazmaya gerek yok
             * Tarihlerin arasındaki farklı en büyük kısmı bulmak için önce tarih çıkarması yapılır
             * Farkın içinde sırayla yıl, ay, gün, saat ve dakika sayısına bakılır.
             * {"yyyy","MM","dd","HH","mm"} dizesinde, farkın olduğu yerin indeksi "int degisen" değişkeninde tutulur
             * degisen, ondan önce "degisendenOncekilerinSayisi" ve sonra "degisendenSonrkilerinSayisi" sayısında indekste bulunanlar
             * yeni bir listeye alınır
             * Bu listeden DateTime.toString fonksiyonunda kullanılmak üzere bir string oluşturulur
             * Fonksiyon dd/MM/yyyy HH:ss formatıyla çağrılacak, o yüzden daha önce oluşturulan listedeki elemanlar
             * bu formata uyacak şekilde string'e ekleniyor.
             * sonuç stringi Datetime.toString fonksiyonuyla belirleniyor, eğer ikinciTarihiGoster doğruysa ikinci tarih için de
             * bu fonksiyon kullanılıp sonuçları birleştirip döndürülüyor.
             */
            int degisen, ilkIndex, boyut;

            string[]      tamFormat = { "yyyy", "MM", "dd", "HH", "mm" };
            List <string> yeniFormat;
            string        formatStringi = "";
            TimeSpan      fark          = dilim.Bitis.Subtract(dilim.Baslangic);

            if (fark.TotalDays >= 365) //Arada yıl var
            {
                degisen = 0;
            }
            else if (fark.TotalDays >= 30) //Arada ay var
            {
                degisen = 1;
            }
            else if (fark.TotalDays >= 1) //Arada gün var
            {
                degisen = 2;
            }
            else if (fark.TotalHours >= 1) //Arada saat var
            {
                degisen = 3;
            }
            else
            {
                degisen = 4;
            }
            ilkIndex = 0 > degisen - degisendenOncekilerinSayisi ? 0 : degisen - degisendenOncekilerinSayisi;
            boyut    = tamFormat.Length - ilkIndex < degisendenSonrkilerinSayisi + degisendenOncekilerinSayisi + 1 ?
                       tamFormat.Length - ilkIndex : degisendenSonrkilerinSayisi + degisendenOncekilerinSayisi + 1;
            yeniFormat = ArrayKesiti(tamFormat, ilkIndex, boyut).ToList();
            //Tam formatın neresinden neresine alınacağı belirlendi, ve kesit alındı

            if (yeniFormat.Contains("dd"))
            {
                formatStringi += "dd";
            }
            if (yeniFormat.Contains("MM"))
            {
                formatStringi += formatStringi.Length == 0 ? "MM" : "'/'MM";
            }
            if (yeniFormat.Contains("yyyy"))
            {
                formatStringi += formatStringi.Length == 0 ? "yyyy" : "'/'yyyy";
            }
            if (yeniFormat.Contains("HH"))
            {
                formatStringi += formatStringi.Length == 0 ? "HH" : " HH";
            }
            if (yeniFormat.Contains("mm"))
            {
                formatStringi += formatStringi.Length == 0 ? "mm" : ":mm";
            }

            return(ikinciTarihiGoster ? dilim.Baslangic.ToString(formatStringi) + " - " + dilim.Bitis.AddMilliseconds(-1).ToString(formatStringi) :
                   dilim.Baslangic.ToString(formatStringi));
        }