The RestructuredText Book Documentation Sürüm 1.0 Daniel Greenfeld, Eric Holscher Nis 05, 2017
Contents 1 Başlarken 2 1.1 Kurulum....................................... 2 2 Apollo 3 2.1 Kurulum....................................... 3 2.2 Kullanımı....................................... 3 3 Discovery 5 3.1 Kurulum....................................... 5 3.2 Kullanımı....................................... 5 4 Houston 9 4.1 Kurulum....................................... 9 4.2 Kullanımı....................................... 9 5 Hubble 10 5.1 Kurulum....................................... 10 5.2 Kullanımı....................................... 11 5.3 Ayarlar........................................ 12 6 Mission Control 13 6.1 Kurulum....................................... 13 6.2 Kullanımı....................................... 13 7 Nucleus 14 7.1 Kurulum....................................... 14 7.2 Kullanımı....................................... 14 7.3 Metotlar....................................... 15 7.4 Object Extensionlar................................. 15 7.5 String Extensionlar.................................. 17 8 PathFinder 18 8.1 Özellikler....................................... 18 i
8.2 Kurulum....................................... 18 8.3 İletişim........................................ 18 8.4 Destek........................................ 19 8.5 Lisans......................................... 19 9 SRB 20 9.1 Kurulum....................................... 20 9.2 Kullanımı....................................... 20 10 Voyager 22 10.1 Kurulum....................................... 22 10.2 Kullanımı....................................... 22 ii
The RestructuredText Book Documentation, Sürüm 1.0 Terra Hakkında nuget-paketleri-hakkinda Contents 1
Chapter 1 Başlarken Kurulum Visual Studio da aşağıdaki görselleri takip ederek indirebilirsiniz. Visual Studio=>Tools=>Manage NuGet Packages for Solution.. seçtikten sonra Yukarıdaki işlemleri yaptıktan sonra Terra.Framework ün içerisindeki nuget paketleri kullanıma hazırdır. 2
Chapter 2 Apollo Terra.Framework içerisinde bulunan bootstrap tabanlı User Interface katmanıdır. Kurulum Terra.Apollo paketini PackageManager Console dan aşağıdaki komutu yazarak indirebilirsiniz: \PYGZdl Install\PYGZhyPackage Terra.Apollo \PYGZhyVersion 1.0. 3\PYGZhypre\PYGZhyalpha \PYGZhySource http://10.10.0.237/nuget/ Default/ Ve ya Baslarken bölümünde yazılan adımları yaptıysanız NuGet ten Terra.Apollo yu aratarak indirebilirsiniz. Kullanımı Projenizde Terra kontrollerini kullanmak için View dosyanızın içerisine aşağıdaki tanımlamaları eklemeniz gerekmektedir: \PYG{n+nd}{@using} \PYG{n}{Terra}\PYG{o}{.}\PYG{n}{Apollo} \PYG{n+nd}{@using} \PYG{n}{Terra}\PYG{o}{.}\PYG{n}{Nuclues} Daha sonra View sayfamızda Terrada bulunan html kontrollere erişmek için Html.Terra() yazarak kullanmak istediğimiz kontrolleri sayfamıza ekleyebiliriz. Örnek Buton kullanımı: 3
The RestructuredText Book Documentation, Sürüm 1.0 \PYG{n+nd}{@Html}\PYG{o}{.}\PYG{n}{Terra}\PYG{p}{(}\PYG{p}{)}\PYG{o}{. }\PYG{n}{Button}\PYG{p}{(}\PYG{p}{)}\PYG{o}{. }\PYG{n}{Text}\PYG{p}{(}\PYG{l+s+s2}{\PYGZdq}\PYG{l+s+s2}{Save}\PYG{l+s+s2}{\PY Örnek Form kullanımı: \PYG{n+nd}{@using} \PYG{p}{(}\PYG{n}{Html}\PYG{o}{. }\PYG{n}{Terra}\PYG{p}{(}\PYG{p}{)}\PYG{o}{. }\PYG{n}{Form}\PYG{p}{(}\PYG{p}{)}\PYG{o}{. }\PYG{n}{Url}\PYG{p}{(}\PYG{n}{Url}\PYG{o}{. }\PYG{n}{Action}\PYG{p}{(}\PYG{l+s+s2}{\PYGZdq}\PYG{l+s+s2}{Add}\PYG{l+s+s2}{\P }\PYG{l+s+s2}{\PYGZdq}\PYG{l+s+s2}{Home}\PYG{l+s+s2}{\PYGZdq}\PYG{p}{)}\PYG{p }\PYG{n}{Method}\PYG{p}{(}\PYG{n}{FormMethod}\PYG{o}{. }\PYG{n}{Post}\PYG{p}{)}\PYG{o}{. }\PYG{n}{Begin}\PYG{p}{(}\PYG{p}{)}\PYG{p}{)} \PYG{p}{\PYGZob} \PYG{n+nd}{@Html}\PYG{o}{. }\PYG{n}{Terra}\PYG{p}{(}\PYG{p}{)}\PYG{o}{. }\PYG{n}{FormTextBox}\PYG{p}{(}\PYG{p}{)}\PYG{o}{. }\PYG{n}{SetId}\PYG{p}{(}\PYG{l+s+s2}{\PYGZdq}\PYG{l+s+s2}{name}\PYG{l+s+s2}{\P \PYG{n+nd}{@Html}\PYG{o}{. }\PYG{n}{Terra}\PYG{p}{(}\PYG{p}{)}\PYG{o}{. }\PYG{n}{Button}\PYG{p}{(}\PYG{p}{)}\PYG{o}{. }\PYG{n}{Type}\PYG{p}{(}\PYG{n}{ButtonTypes}\PYG{o}{. }\PYG{n}{Submit}\PYG{p}{)}\PYG{o}{. }\PYG{n}{Text}\PYG{p}{(}\PYG{l+s+s2}{\PYGZdq}\PYG{l+s+s2}{Save}\PYG{l+s+s2}{\PY \PYG{p}{\PYGZcb} 2.2. Kullanımı 4
Chapter 3 Discovery Terra.Framework içerisinde datalarla ilgili tüm işlerin yapıldığı katmandır. Kurulum Terra.Discovery Paketini PackageManager Console dan aşağıdaki komutu yazarak indirebilirsiniz: \PYG{n}{Install}\PYG{o}{\PYGZhy}\PYG{n}{Package} \PYG{n}{Terra}\PYG{o}{.}\PYG{n}{Discovery} \PYG{o}{\PYGZhy}\PYG{n}{Version} \PYG{l+m+mf}{1.0}\PYG{o}{. }\PYG{l+m+mi}{0}\PYG{o}{\PYGZhy}\PYG{n}{pre}\PYG{o}{\PYGZhy}\PYG{n}{alpha} \PYG{o}{\PYGZhy}\PYG{n}{Source} \PYG{n}{http}\PYG{p}{:}\PYG{o}{/ }\PYG{o}{/}\PYG{l+m+mf}{10.10}\PYG{o}{.}\PYG{l+m+mf}{0.237}\PYG{o}{/ }\PYG{n}{nuget}\PYG{o}{/}\PYG{n}{Default}\PYG{o}{/} Ve ya Baslarken bölümünde yazılan adımları yaptıysanız NuGet ten Terra.Discovery bularak indirebilirsiniz. Kullanımı Startup.cs dosyasında ConfigureServices metodunda Discovery eklememiz gerekmektedir.: \PYG{n}{public} \PYG{n}{void} \PYG{n}{ConfigureServices}\PYG{p}{(}\PYG{n}{IServiceCollection} \PYG{n}{services}\PYG{p}{)} \PYG{p}{\PYGZob} 5
The RestructuredText Book Documentation, Sürüm 1.0 \PYG{n}{services}\PYG{o}{. }\PYG{n}{AddDiscovery}\PYG{p}{(}\PYG{n}{new} \PYG{n}{DiscoveryConfiguration} \PYG{p}{\PYGZob} \PYG{n}{DefaultSettings} \PYG{o}{=} \PYG{n}{new} \PYG{n}{DbSettings}\PYG{p}{(}\PYG{p}{)}\PYG{p}{,} \PYG{n}{AuditEnable} \PYG{o}{=} \PYG{n}{true}\PYG{p}{,} \PYG{n}{AuditUserProvider} \PYG{o}{=} \PYG{n}{new} \PYG{n}{AuditUserProvider}\PYG{p}{(}\PYG{p}{)}\PYG{p}{,} \PYG{n}{EnableEntityLogger} \PYG{o}{=} \PYG{n}{true}\PYG{p}{,} \PYG{n}{CreateEntityLoggerTable} \PYG{o}{=} \PYG{n}{true} \PYG{p}{\PYGZcb}\PYG{p}{)}\PYG{p}{;} \PYG{o}{/}\PYG{o}{/} \PYG{n}{Add} \PYG{n}{framework} \PYG{n}{services}\PYG{o}{.} \PYG{n}{services}\PYG{o}{. }\PYG{n}{AddMvc}\PYG{p}{(}\PYG{p}{)}\PYG{p}{;} \PYG{p}{\PYGZcb} Controller classında kullanımı aşağıdaki gibidir: \PYG{n}{using} \PYG{n}{Terra}\PYG{o}{.}\PYG{n}{Discovery}\PYG{o}{. }\PYG{n}{Interfaces}\PYG{p}{;} \PYG{n}{public} \PYG{k}{class} \PYG{n+nc}{HomeController} \PYG{p}{:} \PYG{n}{Controller} \PYG{p}{\PYGZob} \PYG{n}{private} \PYG{n}{IUnitOfWork} \PYG{n}{\PYGZusuow}\PYG{p}{;} \PYG{n}{public} \PYG{n}{HomeController}\PYG{p}{(}\PYG{n}{IUnitOfWork} \PYG{n}{uow}\PYG{p}{)} \PYG{p}{\PYGZob} \PYG{n}{\PYGZusuow} \PYG{o}{=} \PYG{n}{uow}\PYG{p}{;} \PYG{p}{\PYGZcb} \PYG{n}{public} \PYG{n}{IActionResult} \PYG{n}{Index}\PYG{p}{(}\PYG{p}{)} \PYG{p}{\PYGZob} \PYG{n}{\PYGZusuow}\PYG{o}{. }\PYG{n}{Set}\PYG{o}{\PYGZlt}\PYG{n}{MyClass}\PYG{o}{\PYGZgt}\PYG{p}{(}\PYG{p }\PYG{n}{Add}\PYG{p}{(}\PYG{n}{new} \PYG{n}{MyClass} \PYG{p}{\PYGZob} \PYG{n}{Name} \PYG{o}{=} \PYG{l+s+s2}{\PYGZdq}\PYG{l+s+s2}{Nikola}\PYG{l+s+s2}{\PYGZdq}\PYG{p}{, } \PYG{n}{Surname} \PYG{o}{=} \PYG{l+s+s2}{\PYGZdq}\PYG{l+s+s2}{Tesla}\PYG{l+s+s2}{\PYGZdq} \PYG{p}{\PYGZcb}\PYG{p}{)}\PYG{p}{;} 3.2. Kullanımı 6
The RestructuredText Book Documentation, Sürüm 1.0 \PYG{n}{\PYGZusuow}\PYG{o}{. }\PYG{n}{Save}\PYG{p}{(}\PYG{p}{)}\PYG{p}{;} \PYG{n}{var} \PYG{n}{repo} \PYG{o}{=} \PYG{n}{\PYGZusuow}\PYG{o}{. }\PYG{n}{Repo}\PYG{o}{\PYGZlt}\PYG{n}{MyClass}\PYG{o}{\PYGZgt}\PYG{p}{(}\PYG{ } \PYG{n}{repo}\PYG{o}{. }\PYG{n}{Remove}\PYG{p}{(}\PYG{n}{repo}\PYG{o}{. }\PYG{n}{GetBy}\PYG{p}{(}\PYG{p}{)}\PYG{o}{. }\PYG{n}{FirstOrDefault}\PYG{p}{(}\PYG{p}{)}\PYG{p}{)}\PYG{p}{;} \PYG{n}{\PYGZusuow}\PYG{o}{. }\PYG{n}{Save}\PYG{p}{(}\PYG{p}{)}\PYG{p}{;} \PYG{n}{var} \PYG{n}{myList} \PYG{o}{=} \PYG{n}{\PYGZusuow}\PYG{o}{. }\PYG{n}{Repo}\PYG{o}{\PYGZlt}\PYG{n}{MyClass}\PYG{o}{\PYGZgt}\PYG{p}{(}\PYG{ }\PYG{n}{GetBy}\PYG{p}{(}\PYG{p}{)}\PYG{o}{. }\PYG{n}{ToList}\PYG{p}{(}\PYG{p}{)}\PYG{p}{;} \PYG{k}{return} \PYG{n}{View}\PYG{p}{(}\PYG{n}{myList}\PYG{p}{)}\PYG{p}{;} \PYG{p}{\PYGZcb} \PYG{p}{\PYGZcb} MyClass.cs: \PYG{n}{using} \PYG{n}{Terra}\PYG{o}{.}\PYG{n}{Discovery}\PYG{o}{. }\PYG{n}{Types}\PYG{p}{;} \PYG{n}{public} \PYG{k}{class} \PYG{n+nc}{MyClass} \PYG{p}{:} \PYG{n}{DiscoveryEntity} \PYG{p}{\PYGZob} \PYG{n}{public} \PYG{n}{string} \PYG{n}{Name} \PYG{p}{\PYGZob} \PYG{n}{get}\PYG{p}{;} \PYG{n+nb}{set}\PYG{p}{;} \PYG{p}{\PYGZcb} \PYG{n}{public} \PYG{n}{string} \PYG{n}{Surname} \PYG{p}{\PYGZob} \PYG{n}{get}\PYG{p}{;} \PYG{n+nb}{set}\PYG{p}{;} \PYG{p}{\PYGZcb} \PYG{n}{public} \PYG{n}{override} \PYG{n}{void} \PYG{n}{Map}\PYG{p}{(}\PYG{n}{ModelBuilder} \PYG{n}{modelBuilder}\PYG{p}{)} \PYG{p}{\PYGZob} \PYG{n}{modelBuilder}\PYG{o}{. }\PYG{n}{Entity}\PYG{o}{\PYGZlt}\PYG{n}{MyClass}\PYG{o}{\PYGZgt}\PYG{p}{(}\PY \PYG{o}{=}\PYG{o}{\PYGZgt} \PYG{p}{\PYGZob} \PYG{o}{/}\PYG{o}{/}\PYG{n}{opt}\PYG{o}{. }\PYG{n}{ToTable}\PYG{p}{(}\PYG{l+s+s2}{\PYGZdq}\PYG{l+s+s2}{MyClass}\PYG{l+s+s } \PYG{n}{Veritabanında} \PYG{n}{tablo} \PYG{n}{var} \PYG{n}{ise} \PYG{n}{burada} \PYG{n}{tablonun} \PYG{n}{ismini} \PYG{n}{yazıyoruz}\PYG{o}{.} 3.2. Kullanımı 7
The RestructuredText Book Documentation, Sürüm 1.0 \PYG{n}{opt}\PYG{o}{.}\PYG{n}{HasKey}\PYG{p}{(}\PYG{n}{x} \PYG{o}{=}\PYG{o}{\PYGZgt} \PYG{n}{x}\PYG{o}{. }\PYG{n}{Id}\PYG{p}{)}\PYG{p}{;} \PYG{n}{opt}\PYG{o}{. }\PYG{n}{HasAlternateKey}\PYG{p}{(}\PYG{n}{x} \PYG{o}{=}\PYG{o}{\PYGZgt} \PYG{n}{x}\PYG{o}{. }\PYG{n}{AutoId}\PYG{p}{)}\PYG{p}{;} \PYG{n}{opt}\PYG{o}{. }\PYG{n}{Property}\PYG{p}{(}\PYG{n}{x} \PYG{o}{=}\PYG{o}{\PYGZgt} \PYG{n}{x}\PYG{o}{.}\PYG{n}{AutoId}\PYG{p}{)}\PYG{o}{. }\PYG{n}{UseSqlServerIdentityColumn}\PYG{p}{(}\PYG{p}{)}\PYG{p}{;} \PYG{p}{\PYGZcb}\PYG{p}{)}\PYG{p}{;} \PYG{p}{\PYGZcb} \PYG{p}{\PYGZcb} 3.2. Kullanımı 8
Chapter 4 Houston Terra.Framework içerisinde güvenlik mekanızmasının işlediği bölümdür. Kurulum Terra.Houston Paketini PackageManager Console dan aşağıdaki komutu yazarak indirebilirsiniz: \PYG{n}{Install}\PYG{o}{\PYGZhy}\PYG{n}{Package} \PYG{n}{Terra}\PYG{o}{.}\PYG{n}{Houston} \PYG{o}{\PYGZhy}\PYG{n}{Version} \PYG{l+m+mf}{1.0}\PYG{o}{. }\PYG{l+m+mi}{0}\PYG{o}{\PYGZhy}\PYG{n}{pre}\PYG{o}{\PYGZhy}\PYG{n}{alpha} \PYG{o}{\PYGZhy}\PYG{n}{Source} \PYG{n}{http}\PYG{p}{:}\PYG{o}{/ }\PYG{o}{/}\PYG{l+m+mf}{10.10}\PYG{o}{.}\PYG{l+m+mf}{0.237}\PYG{o}{/ }\PYG{n}{nuget}\PYG{o}{/}\PYG{n}{Default}\PYG{o}{/} Ve ya Baslarken bölümünde yazılan adımları yaptıysanız NuGet ten Terra.Houston u aratarak Terra.Houston u bulup Terra.Houston u indirebilirsiniz. Kullanımı 9
Chapter 5 Hubble Terra.Framework içerisinde loglama işleminin yapıldığı bölümdür.ayrıca Hubble.Monitoring.Extension paketi ile. Monitoring uygulamasının çalıştığı api üzerinden loglama yapabilir. Kurulum Terra.Hubble Paketini PackageManager Console dan aşağıdaki komutu yazarak indirebilirsiniz: \PYG{n}{Install}\PYG{o}{\PYGZhy}\PYG{n}{Package} \PYG{n}{Terra}\PYG{o}{.}\PYG{n}{Hubble} \PYG{o}{\PYGZhy}\PYG{n}{Version} \PYG{l+m+mf}{1.0}\PYG{o}{. }\PYG{l+m+mi}{11}\PYG{o}{\PYGZhy}\PYG{n}{pre}\PYG{o}{\PYGZhy}\PYG{n}{alpha} \PYG{o}{\PYGZhy}\PYG{n}{Source} \PYG{n}{http}\PYG{p}{:}\PYG{o}{/ }\PYG{o}{/}\PYG{n}{nuget}\PYG{o}{.}\PYG{n}{bilgeadam}\PYG{o}{. }\PYG{n}{com}\PYG{o}{/}\PYG{n}{nuget}\PYG{o}{/ }\PYG{n}{Default}\PYG{o}{/} Ve ya Baslarken bölümünde yazılan adımları yaptıysanız NuGet ten Terra.Hubble ı aratarak Terra.Hubble ı bularak indirebilirsiniz. public void ConfigureServices(IServiceCollection services) \PYGZob //Verilen path e loglama yapar. services.addhubble(new HubbleConfiguration() \PYGZob LogsFolder = \PYGZdqlog\PYGZdq, EnableSystemLogs = false, 10
The RestructuredText Book Documentation, Sürüm 1.0 EnableNavigatingLog = true \PYGZcb); //OPTIONAL services.addhubble(new HubbleConfiguration \PYGZob EnableNavigatingLog = true \PYGZcb); services.addhubblemonitoring(new HubbleMonitoringConfiguration \PYGZob Key = \PYGZdqKEY\PYGZdq, Secret = \PYGZdqSECRET\PYGZdq, MonitoringUrl = \PYGZdqurl\PYGZdq \PYGZcb); \PYGZcb public void Configure(IApplicationBuilder app) \PYGZob app.usehubble(); \PYGZcb Kullanımı \PYG{n}{public} \PYG{k}{class} \PYG{n+nc}{HomeController} \PYG{p}{:} \PYG{n}{Controller} \PYG{p}{\PYGZob} \PYG{n}{private} \PYG{n}{IHubble} \PYG{n}{\PYGZushubble}\PYG{p}{; } \PYG{n}{public} \PYG{n}{HomeController}\PYG{p}{(}\PYG{n}{IHubble} \PYG{n}{hubble}\PYG{p}{)} \PYG{p}{\PYGZob} \PYG{n}{\PYGZushubble} \PYG{o}{=} \PYG{n}{hubble}\PYG{p}{;} \PYG{p}{\PYGZcb} \PYG{n}{public} \PYG{n}{IActionResult} \PYG{n}{Index}\PYG{p}{(}\PYG{p}{)} \PYG{p}{\PYGZob} \PYG{n}{\PYGZushubble}\PYG{o}{. }\PYG{n}{Log}\PYG{p}{(}\PYG{l+s+s2}{\PYGZdq}\PYG{l+s+s2}{Add Operaton Success}\PYG{l+s+s2}{\PYGZdq}\PYG{p}{)}\PYG{p}{;} 5.2. Kullanımı 11
The RestructuredText Book Documentation, Sürüm 1.0 \PYG{k}{return} \PYG{n}{View}\PYG{p}{(}\PYG{p}{)}\PYG{p}{;} \PYG{p}{\PYGZcb} \PYG{p}{\PYGZcb} Ayarlar Özellikler EnableSystemLog EnableNavigatingLog EnableExceptionHandling LogsFolder MaxfileSize Açıklama.NET in tüm loglarını Hubble üzerinden loglar. Bütün sayfa gezinimlerini loglar. Exceptionları yakalar. Loglama yapılacak klasörün path ini set eder. Log dosyasının maksimum büyüklüğünü set eder. 5.3. Ayarlar 12
Chapter 6 Mission Control Kurulum Terra.Hubble Paketini PackageManager Console dan aşağıdaki komutu yazarak indirebilirsiniz: \PYG{n}{Install}\PYG{o}{\PYGZhy}\PYG{n}{Package} \PYG{n}{Terra}\PYG{o}{.}\PYG{n}{Hubble} \PYG{o}{\PYGZhy}\PYG{n}{Version} \PYG{l+m+mf}{1.0}\PYG{o}{. }\PYG{l+m+mi}{0}\PYG{o}{\PYGZhy}\PYG{n}{pre}\PYG{o}{\PYGZhy}\PYG{n}{alpha} \PYG{o}{\PYGZhy}\PYG{n}{Source} \PYG{n}{http}\PYG{p}{:}\PYG{o}{/ }\PYG{o}{/}\PYG{l+m+mf}{10.10}\PYG{o}{.}\PYG{l+m+mf}{0.237}\PYG{o}{/ }\PYG{n}{nuget}\PYG{o}{/}\PYG{n}{Default}\PYG{o}{/} Ve ya Baslarken bölümünde yazılan adımları yaptıysanız NuGet ten Terra.Hubble ı aratarak Terra.Hubble ı bulup Terra.Hubble ı indirebilirsiniz. Kullanımı 13
Chapter 7 Nucleus Terra.Framework ün çekirdek alt yapısını,barındıran, katmandır.içerisinde bulunan,string ve object,extensionlar,sayesinde,bir çok,işlemi kolaylaştırmaktadır. Kurulum Terra.Nucleus Paketini PackageManager Console dan aşağıdaki komutu yazarak indirebilirsiniz: \PYG{n}{Install}\PYG{o}{\PYGZhy}\PYG{n}{Package} \PYG{n}{Terra}\PYG{o}{.}\PYG{n}{Nucleus} \PYG{o}{\PYGZhy}\PYG{n}{Version} \PYG{l+m+mf}{1.0}\PYG{o}{. }\PYG{l+m+mi}{10}\PYG{o}{\PYGZhy}\PYG{n}{pre}\PYG{o}{\PYGZhy}\PYG{n}{alpha} \PYG{o}{\PYGZhy}\PYG{n}{Source} \PYG{n}{http}\PYG{p}{:}\PYG{o}{/ }\PYG{o}{/}\PYG{n}{nuget}\PYG{o}{.}\PYG{n}{bilgeadam}\PYG{o}{. }\PYG{n}{com}\PYG{o}{/}\PYG{n}{nuget}\PYG{o}{/ }\PYG{n}{Default}\PYG{o}{/} Ve ya Baslarken bölümünde yazılan adımları yaptıysanız NuGet ten Terra.Nucleus ı aratarak Terra.Nucleus ı bularak indirebilirsiniz. Kullanımı \PYG{n}{Nucleus} \PYG{n}{paketini}\PYG{p}{, }\PYG{n}{projenizde}\PYG{p}{,} \PYG{n}{kullanmak}\PYG{p}{, }\PYG{n}{için}\PYG{p}{,}\PYG{n}{aşşağıdaki} \PYG{n}{referans}\PYG{l+s+s1}{\PYGZsq}\PYG{l+s+s1}{ı,eklemeniz, gerekmektedir.} 14
The RestructuredText Book Documentation, Sürüm 1.0 \PYG{n}{using} \PYG{n}{Terra}\PYG{o}{.}\PYG{n}{Nucleus}\PYG{p}{;} Metotlar Object Extensionlar Metot Adı GetQueryString(object obj): ToDictionary(this object obj): ToDictionary(this object[] obj): ToDictionary(this object obj): Özellik Verilen,objeyi,QueryString olarak geri döndürür. Verilen,objeyi,Dictionary olarak geri döndürür. Verilen,obje,dizisini,Dictionary olarak geri döndürür. Verilen,objeyi,Dictionary olarak geri döndürür. 7.3. Metotlar 15
The RestructuredText Book Documentation, Sürüm 1.0 7.4. Object Extensionlar 16
The RestructuredText Book Documentation, Sürüm 1.0 String Extensionlar Metot Adı HtmlContains(this string value) ToCamelCase(this string value) HasValue(this string value) FromUtf8Bytes(this byte[] bytes) ToUtf8Bytes(this string value) FirstCharToUpper(this string input) JustNumbers(this string value) TurkishValidCellPhone(this string value) ToValidTurkishCellNumber(this string phonenumber, bool clearfirstzerocharacter = true) IsCaseInsensitiveEqual(this string instance, string comparing) IsEmail(this string strin) ToEnum(this string value) Truncate(this string value, int maxlength) StripHtml(this string input) StripHtmlSpecial(this string input) string StripHtmlSpecialExtended(this string input) string SantizeSymbolToHtmlCode (this string input) ToTurkishDate(this DateTime pdatetime) ToTurkishDateTime(this DateTime pdatetime) GetExtension(this string filename) Özellik Verilen,string değerin,html kodu,olma durumunu,geri döndürür. Verilen,string değerir,camelcase formatında,geri döndürür. Verilen değerin,boş,olma durumunu,geri döndürür. Verilen byte dizisini,string olarak,geri döndürür. Verilen string değeri,byte olarak,geri döndürür. Verilen string değerin,ilk karakterini,büyük olarak değiştirir. Verilen string,değerin,numara olma durumunu,kontrol eder. Verilen string,değerin,türkiye telefon,formatında,olma durumunu,kontrol eder. Verilen string,değerin,türkiye telefon,formatında,olma durumunu,kontrol eder.ayrıca,duruma,göre,numaranın başındaki, 0 karakterini siler. Büyük ve küçük,harf bağımsız,olarak karşılaştırma yapar. Verilen string,değerin,email,olma durumunu,kontrol eder. Verilen string,değeri,enum olarak geri döndürür. Verilen string,değerin,belirtilen kısmını aldıktan sonra,sonuna... metnini ekler. Verilen string,değerin,içerisindeki html,kodları temizler. Verilen string,değerin,içerisindeki html,kodları temizler.ayrıca <.*?> gibi özel karakterleride siler. Verilen string,değerin,içerisindeki html,kodları temizler.ayrıca,>,< gibi özel karakterleride siler. Verilen string,değerin,içerisindeki html,kodları temizler.ayrıca, gibi özel karakterleride siler. Verilen tarih,değerini,türkiye tarih,formatında geri döndürür. Verilen tarih,değerini,türkiye tarih ve saat,formatında geri döndürür. Verilen string,değerin,içerisinde,geçen,dosya,uzantısını geri döndürür. GetLast(this string input, int Verilen string,değerin,belirtilen uzunluğu kadarını,geri taillength) döndürür. Reverse(this string input) Verilen string,değeri,ters çevirir. AddQueryString(this string input, Verilen değerlerin,querystring formatında,geri string key, string value) döndürür. 7.5. String Extensionlar 17 AddUrlPath(this string input, Verilen değerlerin,dosya yolu olarak,geri params string[] paths) döndürürülmesini sağlar.
Chapter 8 PathFinder $project will solve your problem of where to start with documentation, by providing a basic explanation of how to do it easily. Look how easy it is to use: import project # Get your stuff done project.do_stuff() Özellikler Be awesome Make things faster Kurulum Install $project by running: install project İletişim Issue Tracker: github.com/$project/$project/issues Source Code: github.com/$project/$project 18
The RestructuredText Book Documentation, Sürüm 1.0 Destek If you are having issues, please let us know. We have a mailing list located at: project@googlegroups.com Lisans The project is licensed under the BSD license. 8.4. Destek 19
Chapter 9 SRB Terra.Framework içerisinde cache mekanizmasının çalışmasını sağlayan katmandır. Kurulum Terra.SRB Paketini PackageManager Console dan aşağıdaki komutu yazarak indirebilirsiniz: \PYGZdl Install\PYGZhyPackage Terra.SRB \PYGZhyVersion 1.0. 0\PYGZhypre\PYGZhyalpha \PYGZhySource http://10.10.0.237/nuget/ Default Ve ya Baslarken bölümünde yazılan adımları yaptıysanız NuGet ten Terra.SRB yi aratarak Terra.SRB yi bulup Terra.SRB yi indirebilirsiniz. Kullanımı Açtığınız ASP.NET Core Web uygulamasının startup.cs dosyasına aşağıdaki şekilde ekleyiniz.: \PYG{n}{public} \PYG{n}{void} \PYG{n}{ConfigureServices}\PYG{p}{(}\PYG{n}{IServiceCollection} \PYG{n}{services}\PYG{p}{)} \PYG{p}{\PYGZob} \PYG{o}{/}\PYG{o}{/} \PYG{n}{Add} \PYG{n}{framework} \PYG{n}{services}\PYG{o}{.} \PYG{n}{services}\PYG{o}{. }\PYG{n}{AddSRB}\PYG{p}{(}\PYG{p}{)}\PYG{p}{;} \PYG{p}{\PYGZcb} 20
The RestructuredText Book Documentation, Sürüm 1.0 Daha sonra herhangi bir controller ın constructorı içinde şekildeki gibi implemente ediyoruz.: \PYG{n}{private} \PYG{n}{ISRB} \PYG{n}{\PYGZussrb}\PYG{p}{;} \PYG{n}{public} \PYG{n}{HomeController}\PYG{p}{(}\PYG{n}{ISRB} \PYG{n}{srb}\PYG{p}{)} \PYG{p}{\PYGZob} \PYG{n}{\PYGZussrb} \PYG{o}{=} \PYG{n}{srb}\PYG{p}{;} \PYG{p}{\PYGZcb} Artık terra.srb yi kullanabiliriz. Hemen aşağıdaki örnekte olduğu gibi: \PYG{n}{public} \PYG{n}{IActionResult} \PYG{n}{Index}\PYG{p}{(}\PYG{p}{)} \PYG{p}{\PYGZob} \PYG{n}{\PYGZussrb}\PYG{o}{. }\PYG{n}{Set}\PYG{p}{(}\PYG{l+s+s2}{\PYGZdq}\PYG{l+s+s2}{test}\PYG{l+s+s2}{\PYG } \PYG{l+s+s2}{\PYGZdq}\PYG{l+s+s2}{TEST}\PYG{l+s+s2}{\PYGZdq}\PYG{p}{)}\PYG{p} } \PYG{k}{return} \PYG{n}{View}\PYG{p}{(}\PYG{p}{)}\PYG{p}{;} \PYG{p}{\PYGZcb} Viewlarda kullanabilmek için açtığımız projenin Views/Shared klasörünün altındaki _ViewImports.cshtml dosyasında aşağıda yazan satırı ekliyoruz.: \PYG{n+nd}{@inject} \PYG{n}{Terra}\PYG{o}{.}\PYG{n}{SRB}\PYG{o}{. }\PYG{n}{ISRB} \PYG{n}{\PYGZussrb} Şimdi bir de bir tane View da set ettiğimiz get edip değeri çağıralım.: \PYG{n+nd}{@\PYGZussrb}\PYG{o}{. }\PYG{n}{Get}\PYG{p}{(}\PYG{l+s+s2}{\PYGZdq}\PYG{l+s+s2}{test}\PYG{l+s+s2}{\PYG 9.2. Kullanımı 21
Chapter 10 Voyager Terra.Framework içerisinde tercih edilen dile göre localization yapan bölümdür. Kurulum Terra.Voyager Paketini PackageManager Console dan aşağıdaki komutu yazarak indirebilirsiniz: \PYG{n}{Install}\PYG{o}{\PYGZhy}\PYG{n}{Package} \PYG{n}{Terra}\PYG{o}{.}\PYG{n}{Voyager} \PYG{o}{\PYGZhy}\PYG{n}{Version} \PYG{l+m+mf}{1.0}\PYG{o}{. }\PYG{l+m+mi}{0}\PYG{o}{\PYGZhy}\PYG{n}{pre}\PYG{o}{\PYGZhy}\PYG{n}{alpha} \PYG{o}{\PYGZhy}\PYG{n}{Source} \PYG{n}{http}\PYG{p}{:}\PYG{o}{/ }\PYG{o}{/}\PYG{l+m+mf}{10.10}\PYG{o}{.}\PYG{l+m+mf}{0.237}\PYG{o}{/ }\PYG{n}{nuget}\PYG{o}{/}\PYG{n}{Default}\PYG{o}{/} Ve ya Baslarken bölümünde yazılan adımları yaptıysanız NuGet ten Terra.Voyager yi aratarak Terra.Voyager yi bulup Terra.Voyager yi indirebilirsiniz. Kullanımı Öncelikle Voyager ı kullanmak istediğimiz projeye bir tane Resources klasörü ekliyoruz. Ve içine istediğimiz dile ait olan json dosyasını ekliyoruz. tr-tr. json ve ya en-en.json gibi. Daha sonra starup içerisinde aşağıdaki kodu ekliyoruz: 22
The RestructuredText Book Documentation, Sürüm 1.0 \PYG{n}{public} \PYG{n}{void} \PYG{n}{ConfigureServices}\PYG{p}{(}\PYG{n}{IServiceCollection} \PYG{n}{services}\PYG{p}{)} \PYG{p}{\PYGZob} \PYG{o}{/}\PYG{o}{/} \PYG{n}{Add} \PYG{n}{framework} \PYG{n}{services}\PYG{o}{.} \PYG{n}{services}\PYG{o}{. }\PYG{n}{AddVoyager}\PYG{p}{(}\PYG{n}{new} \PYG{n}{Voyager}\PYG{o}{. }\PYG{n}{Configuration}\PYG{o}{.}\PYG{n}{VoyagerConfiguration} \PYG{p}{\PYGZob} \PYG{n}{ResourcesFolder} \PYG{o}{=} \PYG{l+s+s2}{\PYGZdq}\PYG{l+s+s2}{resources}\PYG{l+s+s2}{\PYGZdq} \PYG{p}{\PYGZcb}\PYG{p}{)}\PYG{p}{;} \PYG{p}{\PYGZcb} Burada önemli olan kısım kendi oluşturduğunuz resources klasörünün adı ile burada yazdığınız klasör adının birbiriyle aynı olmasıdır. Startup ta ekledikten sonra istediğimiz controller içerisinde aşağıdaki örnekte olduğu gibi implemente edebiliriz.: \PYG{n}{private} \PYG{n}{IVoyager} \PYG{n}{\PYGZusvoyager}\PYG{p}{;} \PYG{n}{public} \PYG{n}{HomeController}\PYG{p}{(}\PYG{n}{IVoyager} \PYG{n}{voyager}\PYG{p}{)} \PYG{p}{\PYGZob} \PYG{n}{\PYGZusvoyager} \PYG{o}{=} \PYG{n}{voyager}\PYG{p}{;} \PYG{p}{\PYGZcb} Örnek kullanım ise şu şekildedir.: \PYG{n}{public} \PYG{n}{IActionResult} \PYG{n}{Index}\PYG{p}{(}\PYG{p}{)} \PYG{p}{\PYGZob} \PYG{n}{var} \PYG{n}{txt} \PYG{o}{=} \PYG{n}{\PYGZusvoyager}\PYG{o}{. }\PYG{n}{Get}\PYG{p}{(}\PYG{l+s+s2}{\PYGZdq}\PYG{l+s+s2}{test}\PYG{l+s+s2}{\PYG } \PYG{n}{ViewData}\PYG{p}{[}\PYG{l+s+s2}{\PYGZdq}\PYG{l+s+s2}{Message}\PYG{l+s+s \PYG{o}{=} \PYG{n}{txt}\PYG{p}{;} \PYG{k}{return} \PYG{n}{View}\PYG{p}{(}\PYG{p}{)}\PYG{p}{;} \PYG{p}{\PYGZcb} 10.2. Kullanımı 23