c# solid prensibine uygun framework geliştirme - mvc entegrasyonu - bölüm 3

Merhaba arkadaşlar. Bu bölümde sizlere yazmış olduğumuz framework'ü .NET MVC de kullanmayı anlatmaya çalışacağım. 1 ve 2 ci bölümdeki videolar gibi uzun tutmadım. Kodlama kısmını yapıp sadece videoda anlatımını ve kullanımını açıklamaya çalıştım.

Devamı ...

c# solid prensibine uygun framework geliştirme - design pattern - bölüm 2

Bu makalemde sizlere solid prensiplerine uygun olarak kendi framework'ümüzü yapmayı anlatmaya çalışacağım.Mimarimizi oluştururken Repository,UnitOfWork ve Dependency Injection pattern larını kulalnıcaz.Log lama olarak framework ümüzde NLog olucak. Presantation kısmında ise AutoFac ile injeck edeceğiz.

Devamı ...

c# solid prensibine uygun framework geliştirme - design pattern

Bu makalemde sizlere solid prensiplerine uygun olarak kendi framework'ümüzü yapmayı anlatmaya çalışacağım.Mimarimizi oluştururken Repository,UnitOfWork ve Dependency Injection pattern larını kulalnıcaz.Log lama olarak framework ümüzde NLog olucak. Presantation kısmında ise AutoFac ile injeck edeceğiz.

Devamı ...

C# .Net Expressmapper

Bu makalemde sizlere Express Mapper’ı anlatmaya çalışacağım.Bilirsiniz ki piyasada bir çok map’leme tool ları bulunmakta. Bunlardan’da en çok kullanılanı AutoMapper. AutoMapper performans olarak gerçekten zayıftır. Bunun üzerine bir ar-ge yaparak ExpressMapper’ın performans olarak manuel map’lemeye çok yakın olduğunu gördüm ve sizlerle paylaşmak istedim. Ben direk olarak örnekleme ile anlatıma giricem ve sonucunda sizinle performans grafiğini paylaşmış olucam.

Devamı ...

Mvc Etkinlik Takvimi Yapımı

Bu makalemde sizlere mvc'de datepicker ile  etkinlik takvimi yapımını anlatmaya çalışacağım. Bundan yaklaşık 4 yıl önce asp.net etkinlik takvimi yapımını anlatmıştım.

Devamı ...

MVC Custom Scaffold Template

MVC Custom Scaffold Template Bu bölümde Text Template Transformation Toolkit (T4) ile kendi Mvc templatelerimizi geliştireceğiz. T4 Visual Studio’da bulunan bir özelliktir. Bununla kendi generator’larımızı oluşturabiliriz. Öncelikle ne yapmak isteğimizi kısaca bahsedeyim. Mvc razor da admin paneli geliştiriyoruz.

Devamı ...

Mvc Generic Controller (Repository)

Bu makalemde sizlere generic controller yapımını anlatmaya çalışacağım. Amacımız mümkün olduğu kadar az kod çok iş ve kod optimizasyonu. Repository design pattern uygulayarak generic controller yazmaya başlayalım. Ben ilk olarak boş bir solution açtım ve 3 katman ekledim örnek olması amaçlı basit bir mimari belirledim.

Devamı ...

Mvc Filters ActionFilterAttribute Geliştirme

Mvc Filters ActionFilterAttribute Geliştirme Filter’lar uygulamayı dikine kesen cross cutting işlemlerdir. Bu makalemizde kendi custom ActionFilterAttribute ümüzü geliştiricez.

Devamı ...

Mvc FormCollection Parse Reflection

Merhaba Arkadaşlar; Bu makalemde size Mvc de FormCollection verilerini sınıfımıza parse etmeyi anlatıcam. Konunun özeti kısaca şöyle FormCollection’dan gelen verileri reflection ile sınıfımızın propertylerine set edicez.

Devamı ...

C# base class ınızı derived class’a cast etme reflection

Merhaba Arkadaşlar; Uzun bir aradansonra makale yazabilmek için fırsatbulabildim. Bu bölümde sizlere reflection ile base class ınızı derived class’a cast etmeyi anlatmaya çalışacağım. User adında bir entity class’ımız olsun. Id, FirstName,LastName isimlerinde 3 tane property tanımladık.

Devamı ...

MVC4 Razor Web Api Kullanımı

Merhaba arkadaşlar; Bu makalemde size detaylı olarak MVC de Web Api kullanımını anlatmaya çalışacağım. Neden WCF değil’de Web Api? Uygulamalar yerine göre birbirinden bağımsız platformlarda yazılmış olabilirler, Web Api’ler REST desteği sayesinde platform bağımsız olarak tüketilebilirler.Restful yapılar ile sizin için php,.net,android,iOS platformlarında proje entegreleri için bir çok kolaylık sağlar. Örnek bir proje oluşturalım, File>New>Project diyerek  bunun için MVC 4 Web Application’ı seçerek devam ediyoruz. Karşımıza çıkan ekrandan Web Api yi seçiyoruz   Projemizi olu ...

Devamı ...

Asp.net + Jquery Cache üzerinden Chat Yapımı

Merhaba arkadaşlar; Bu bölümde sizlere asenkron chat işlemleri nasıl olur. Aspçnet de cache üzerinde nasıl çalışırız verileri nasıl cache üzerinde insert ederiz obları anlatmaya çalışıcam. İlk önce kısaca senaryodan bahsedeceğim; Client chat sayfamıza gelir ve login girişi yapar. Sessionda timeout a hemen uğramaması için şifreleyip cookie de tuttuyoruz değerleri. Daha sonra chat sayfamıza düşer. Sağ tarafsa kullanıcılar listelenir sol taraftada chat alanı. Burada işlemler Jquery sayesinde timer ile sürekli veri çekilir.Önemli olan kısım ise şudur. Timer sadece cache üzerindeki verileri çek ...

Devamı ...

Asp.net Ajax Upload Generic Handler

Merhaba Arkadaşlar; Bu makalemde Kısaca Asp.net ile Ajax Upload'ı Generic Handler kullanarak nasıl yapabiliriz onu anlatmaya çalışacağım. Öncelikle Jquery kütüphanemiz olması gerekmekte ve ek olarakda AjaxUpload kütüphanemiz olmalı. <script language="javascript" type="text/javascript" src="Script/jquery-1.5.1.js"></script> <script language="javascript" type="text/javascript" src="Script/ajaxupload.3.5.js"></script> Kütüphanelerimizi Head Kısmında bağlıyoruz . Daha sonra sayfamızda gerekli dizaynımızı oluşturuyoruz. Ben aşağıdaki gibi bir dizayn oluşturdum. Gelelim J ...

Devamı ...

Pos ve 3-D SECURE ÖDEME İŞLEMLERİ

ÖRNEK KODLAR Bu bölümde üye işyerine ait sanal mağaza uygulamasına ödeme işlmelerini 3-D SECURE kullanarak yapabilmeleri için örnek oluşturabilecek kodlar bulunmaktadır. Üye işyeri sanal mağaza uygulamasının teknoloji, kullanım ve işleyişine göre değiştirilebilir. Bu uygulamalarda genellikle tercih edilen Java, PHP, ASP ve ASP.net teknolojilerine ait kod ve sayfa örneklerine aşağıdaki bağlantıları kullanarak ulaşabilirsiniz. Örnek 1'de bulunan köşeli parantez içinde olan parametrelerden bazıları (3DGATE_URL, CLIENT_ID) zaten biliniyor olacak, bazıları da hesaplanacaktır. 3D ve 3D PAY Modelleri ...

Devamı ...

.net Kurulum Sayfası Oluşturma

Merhaba arkadaşlar; Bu makalemde sizlere .net kurulum sayfası oluşturmayı anlatacağım. Hemen bir örnekle başlayim. Hazırladığınız bir cms sisteminiz var yada hazırladığınız bir paket sisteminiz. Herseferinde veritabanına bağlan script kur falan belki uğraşmak istemiyorsunuzdur. Yada projenizin biraz daha profesyonel bir kurulum sayfası hazırlamanız gerekiyor. İşte bu durumda SMO ile işimizi yapabiliriz. Bir install klasörü altında aydı bir wordpress vb. hazır paket kurulumları gibi kendi kurulum sayfalarımızıda hazırlaya biliriz. Öncelikle bir script e ihtiyacımız var Not : Scriptte vertaban ...

Devamı ...

c# EF Data Access Layer Örneği

public int InsertRecord(Customer record) { using (testEntities = new TestEntities()) { testEntities.AddToCustomer(record); testEntities.SaveChanges(); } return record.CId; } public bool UpdateRecord(Customer record) { EntityKey key; object originalItem; using(testEntities = new TestEntities()) { key = testEntities.CreateEntityKey("Customer", record); if(testEntities.TryGetObjectByKey(key, out originalItem)) { testEntities.ApplyPropertyChanges(key.EntitySetName, record); } testEntities.Sav ...

Devamı ...

.net base64 Upload (bootstrap)

Merhaba değerli arkadaşlar. Bu makalemde bootstrap kullanarak base64 ile resim uploadını anlatmaya çalıştım. Kısaca özet geçicek olursak bootstrap kütüphanemiz bize seçtiğimiz resmin base43 ile şifrelenmiş halini veriyor. Bizde şifrelenmiş halini alıp MemoryStream ile bellekte tutup Bitmap ile yeni bir resim yaratıp kaydettiriyoruz.Ayrıca bonus olarak birde ben Resize işlemide yaptırdım siz Dönüştürme değerini kaç yaparsanız o boyutta kaydetmeden önce resize ıda yapıp o şekilde kaydedecektir. Öncelikle Jquery kütüphanemisi referans ediyoruz daha sonra bootstrap-fileupload kütüphanemizi. Sadece ...

Devamı ...

c# SQL Server Management Objects (SMO) Başlangıç

Merhaba değerli arkadaşlar; Bu makalemde sizlere SMO den bahsedeceğim. Örneğin, bir katmanlı mimari ile yapacağımız bir projemiz var. Bunun için tek tek class lar oluşturum propertylerimizi tek tek yazmamız gerekiyor. Buda tabi her seferinde yeni bir projede zamanla sıkabiliyor insanları şahsen beni çok sıkıyor hele birden 10 20 tane kolon olan tablolar yada 20 25 tane tablo olan bir veritabanına denk geldiğimde şöylebi duruyorum. Ama SMO kullanarak sizlerde istediğiniz gibi kendinize bir generate sistemi yapabilirsiniz. Ama ben bu konu hakkındaki ilk makalemde buna deyinmeyeceğim sadece sizl ...

Devamı ...

.net Youtube video upload Api + jQuery

Merhaba arkadaşlar bu makalemde kısaca .netde jQuery yardımı ile sunucudaki videomuzu nasıl youtube a upload yaparız kısaca onu anlatıcam. Bu işlemleri yapmak için youtube ayrıca birşey yapmaya ihtiyacımız yok sadece google hesabımız olması yeterli :) Öncelikle yeni bir website açıyoruz ve manage nuget packages  ile Google diye aratıp Google.GData.YouTube u indiriyoruz. Daha sonra yeni bir web sayfası açıyoruz. Büyütmek için resime tıklayın Burada sunucumuzdaki videolarımızı dropdownlist imize ekliyoruz. Daha sonra Upload adında bir GenericHandler ekliyoruz.Burada upload işlemlermizi ya ...

Devamı ...

Web Userları Code Behind de Kontrol Etme

Merhaba arkadaşlar asp.net projelerinizde çoğu zaman web user kullanmak zorundasınızdır. Bende admin paneli geliştirirken üyenin tipine göre webuser ı include etmek istedim uzun uğraşlar sonucunda çözdüm ve codebehind tarafındaki kontrolu sizlerle paylaşmak istedim. Sayfamıza pleaceholder'ımızı koyuyoruz <asp:PlaceHolder runat="server" ID="phUserInfoBox" /> Ardından CodeBehind Tarafına geçiyoruz phUserInfoBox.Controls.Add(LoadControl("~/UserInfoBoxControl.ascx")); ve codebehind tarafında pleaceholder controlüneekliyoruz.Üye tipine göre yapmak istersenizde Klasor açıp içlerine webuserlar ...

Devamı ...

NameValueCollection ile Dictionary arasındaki fark

NameValueCollection tested var collection = new NameValueCollection(); collection.Add("Sam", "Dot Net Perls"); collection.Add("Bill", "Microsoft"); collection.Add("Steve", "Apple"); collection.Add("Rupert", "News Corporation"); Dictionary tested var dictionary = new Dictionary<string, string>(); dictionary.Add("Sam", "Dot Net Perls"); dictionary.Add("Bill", "Microsoft"); dictionary.Add("Steve", "Apple"); dictionary.Add("Rupert", "News Corporation"); NameValueCollection statement tested string value = collection["Steve"]; Dictionary statement tested string value = dictionary["Steve ...

Devamı ...

Asp.net & Jquery Ürün hesaplama (Sepete Atma)

Merhaba Arkadaşlar. Bu makalemde kısaca ürünlerinizi sepete atma aynı zamanda tekrar  sepetten çıkarma ürünün stok sayısından fazla adette sepeta atmaya kalktığında izin vermeme gibi işlemler yaptım. Diyelimki ufak bir satın alma penceresi yapıcaksınız hemen hızlı bir şekilde yapabilirsiniz. Ben kısa olması için Dropdownlist lere doldurdum biraz daha geliştirip e ticarete bile koyabiliriz tabikide amacımız veritabanına gitmeden bunu gibi işlemlerimizi hızlı bir şekilde jquery ile hesaplayarak yapmak.Lafı uzatmadan kısaca anlatiyim. Kullanıcı ürünlerini seçtiği adet kadar sepetine ekliyor ade ...

Devamı ...

asp.net Ajax ile form gönderme

Durun aramayın artık aradığınız şey burada :) Detaylı bir şekilde anlatmaya gerek duymadım. Gereken tek şey jquery kütüphaneniz ve yazmanız gereken click function ı ;) Projeyi açtığınızda kod satırlarına yazdığım notlar size yeterince yardımcı olacaktır. Eğer biraz javascript bilginiz varsa çok rahat geliştirebilirsiniz. Kolay Gelsin Dostlarım ;) Proje Dosyası Download_Click   ...

Devamı ...

ASP.NET Compile Seçenekleri

Download Adresi http://www.west-wind.com/files/tools/WestWindAspNetCompilerUI.zip (99 KB) ASP.NET Compiler Yardımcısı Programın tüm özelliklerini tek tek anlatmaktansa yukarıdaki fotoğrafta hızlıca açıklamayı tercih ettim. Özellikle üzerinden durmamız gereken noktalardan biri "ASPX files are updateable" seçeneği. Eğer bu seçeneği işaretlerseniz projenizin ASPX dosyalarındaki HTML kodları da DLL dosyalarının içerisine yerleştirilecektir. Böylece ASPX dosyaları içerisinde sadece "This is a marker file generated by the precompilation tool, and should not be deleted!" yazısı yer alacak. ASPX d ...

Devamı ...

Asp.Net Etkinlik Takvimi Yapımı 2

Merhaba arkadaşlar çoğu kişinin sıkıntısı olan etkinlik takviminin yeni versiyonunu paylaşmak istedim. Etkinlik takvimi 1 de gayet sade ve dizayn yoktu ve etkinlik bilgileri cs tarafından takvimdeki mouse event lerine basılıyor ve orada javascript ile div'de gösteriliyordu.Etkinlik takvimi 2 nin farkı ise jquery kütüphanesi ile td title ına basılıyor.Daha fazla açıklama yapmaya gerek duymuyorum çünkü kodlarda yeterince not düştüm eğer sıkıntınız olursa mail adresi ile ulaşabilirsiniz. Hi friends I wanted to share a new version of calendar events that most people in distress. There was a ...

Devamı ...

Asp.net Etkinlik Takvimi Yapımı

Etkinlik Takvimi Yapamı Bu yazimda sizlerle etkinlik takvimi ile ilgili bir çalisma anlatıcam . Peki bu uygulama bize nasil bir fayda saglayacak? Projemizi yapmaya baslayalim. Visual Studio ile bir adet ASP.NET WebApplication projesi yaratiyoruz. İlk basta hangi eventleri kullanacagimdan bahsetmek istiyorum. Calender kontrolünün DayRenderve SelectionChanged eventlerini kullacagimin. DayRender eventi bize sayfamiz olusturulurken takvimimizin günlerine müdahale etmememizi saglayacak ve javascript kodumuza bağlayarak tarihin üserine geldiğinde etkinlikleri göstereceğim. Peki etkinlik günler ...

Devamı ...

asp.net FileFolder IUSR (WriteFullControl) Permission

Merhaba Arkadaşlar; Bu makalemde dosya veya klasörün "IUSR....." kullanıcsı altındaki yazma ve fullcontrol yetkilerinin durumunu anlatmaya çalışacağım. Normalde FileIOPermission vb. bir çok yolla yetki alabilirsiniz ama bu kontroller direk "SYSTEM" rolüne baktığı için site hep yanlış sonuç döndürecektir. :) Senarya şu şekilde : DirectorySecurity ile Dosya veya Klasörün izinlerini GetAccessControl methodu ile alıyorum. Daha sonra GetAccessRules ile bu klasörün "Security" kısmı yani günlik kısmındaki rollerini döngü içine alıyorum. Döngü içersinde ise ...

Devamı ...

ASP.NET Güvenik Açığı

Bir kaç gün önce Microsoft Security Advisory ASP.NET'in tüm version'ları etkileyebilen bir güvenlik açıklığını duyurdu. Daha önce belirlenen fakat resmi olarak tanımlanmamış bu güvenlik açığı ASP.NET'in Cryptography ile ilgili bir zayıflığından faydalanıyor. Microsoft bu güvenlik açığını kapatmak için çalışmaları halen sürdürüyor yakın zamanda Microsoft Update üzerinden dağıtılacak bir yama çıkması bekleniyor fakat arada geçen sürede geçici çözümleri bulması gereken yine kullanıcılar olacaktır. Yazının ilerleyen kısımlarında açıklıktan etkilenmemek için neler yapabileceğinizi anlatmaya çalışa ...

Devamı ...

ASP.NET ile Dynamic Data Web Site Panel Yapılması

Bütün seçtiğimiz tablolar üzerinde Edit,Insert,Delete ve Select yapabileceğiniz çok basit anlamda bir web sitesini dakikalar içerisinde yapmış oluyoruz. Tabi ki site üzerinde uyarlamalar yapmamız gerekecektir , bazı alanların görünmesini engellemek veya bazı yazıları değiştirmek vs.vsçİşin özünde baktığımızda işin büyük kısmı ve sürekli tekrar etmekten bir programcı olarak genelde sıkıldığımız kısmı klasik CRUD işlemleridir. İşte tam da bu noktada bizim sorunumuzu çözecek olarak yapı ASP.NET Dynamic Data Web Site! File->New->WebSite diyoruz ve çıkan diyalog penceresinde ASP.NET Dynamic ...

Devamı ...

Asp.net imgur resim upload api

Merhaba arkadaşlar. stackoverflow un ve benzeri sitelerinde kullandığın imgur Api yönetminden bahsedeceğim. Açıkçası çoklu paylaşım sitelerinde server da resimlerinizin yer kaplamasını istemiyorsanız sizde imgur un Api hizmeti ile kullanıcılarınızın upload larını orada tutabilirsiniz.   Senaryo nasıl çalışıyor: https://imgur.com/register/api_anon Buadrese gidiyoruz ve kayıt olarak apimizi oluşturuyoruz. Generiz Handler ımıza Api key imizi giriyoruz. File upload dan gelen byte biçiminde ContentLength değerini alıyoruz.Daha sonra bu degerimizi Base64 e çeviriyoruz ve HttpWebRequest i ...

Devamı ...

Asp.net Jquery Sayfalama

Merhaba Arkadaşlar; Aşağıdaki anlatımımda jquery ile content silder (Sayfaları jquery ile sayfalama) ' yı anlattım. StringBuilder ile while döngüsünde veriler çeker ve sayfaya html olarak basar.Function şekilde hazırladım gayet anlaşılır ve notlarda düştüm. Projeyi İndir Kolay Gelsin Saygılarımla ...

Devamı ...

Asp.net Repeater İçindeki Html Kontrolü

Design ---------------------------------- <asp:Repeater ID="Rep1" runat="server"> <HeaderTemplate>     <table id="Table1" class="data"> </HeaderTemplate> <ItemTemplate>     <tr id="Row" runat="server">         <td>Item #1</td>         <td><asp:LinkButton ID="LinkButton1" OnClick="DoSomething"              Text="Item #2" runat="server" /></td>     </tr> </ItemTemplate> <FooterTemplate>     </table> </FooterTemplate> CodeBehind ---------------------------------- foreach (RepeaterItem item in Rep1.Item ...

Devamı ...

Asp.Net Zip ve UnZip İşlemleri

ICSharpCode.SharpZipLib.dll ini kullanarak sizler için hazırladığım asp.net de zip ve unzip işlemlerini hazırladım. İşlem kısaca textbox a sitenizdeki klasörün yolunu yazıyorsunuz ziple butonuyla belirlediğiniz klasöre zipliyor Unzip i ise fileupload a bağladım isterseniz sitedeki klasörünze bağlayın onunlada pc den seçtiğiniz dosyayı geçiçi olarak upload edip yine belirlemiş olduğunuz klasöre dosyaları çıkartıyor :) Buradan Gerekli dll i indirip referenceelarınıza eklemeyi unutmayınız ve using ICSharpCode.SharpZipLib.Zip; olarak Default.cs dosyanıza yazmayı unutmayınız. Örnek Proje İndirmek ...

Devamı ...

ASP.NET'te Bulunan Güvenlik Açığı Kapatıldı

Geçtiğimiz günlerde ViewState nesnesi üzerinden yapılan bir saldırı tekniği ile uygulama içerisindeki web.config dosyasının bilgilerini ele geçirmenin bir yolu bulunmuştu. Tabi bu saldırı sadece projenizde CustomError sayfalarının kapalı olması durumunda yapılabiliyordu. Zor ve çetrefilli bir yol izlenerek yapılabilen bu saldırı için hazırlanmış bir araç olmaması, açık nedeniyle yayında olan sitelerin etkilenmesini de engelledi. Bu sırada Microsoft da çok hızlı bir şekilde önce geçici çözümü(workaround), ardından da gerekli yamayı hazırladı. Scott Guthrie tarafından yazılan bu yazıda hem ko ...

Devamı ...

ASP.NET'te FLV convert işlemi, FFMPEG kurulumu

Son çalıştığım projede kullanıcıların siteye video upload etmeleri söz konusuydu. Bu durumda upload edilen videoların flv dosya türüne de çevrilmesi gerekliydi. Bunun için nette yaptığım bütün araştırmalarda karşıma tek bir convert projesi çıkıyordu : FFMPEG. FFMPEG projesi ses ve video dosyalarının çok geniş dosya türünde birbirine dönüştürülmesine imkan vermektedir. Kaynak kodlarını indirip açtığınızda C ve C++ da hazırlanmış bir dünya dosya ile karşılaşacaksınız. Bunlar şu an işimize yaramıyor. Bize API gibi bir kullanım kılavuzu gerekli. FFMPEG'in kendi sitesinde böyle bir kaynağa ulaşamad ...

Devamı ...

c# console asal sayı bulma

//Asal sayı bulma int sayi = 0; bool bolunurmu = true; Console.WriteLine("bir sayı giriniz"); sayi = int.Parse(Console.ReadLine()); for (int i = 2; i < sayi; i++) { if (sayi %i == 0) { bolunurmu = false; Console.WriteLine("Sayı asal sayı değil"); } } if (bolunurmu == true) { Console.WriteLine("Asaldır"); } Console.ReadLine(); ...

Devamı ...

c# console Fibonatçi dizisi

Merhaba Arkadaşlar; Genelde pek bu tarz makaleler yazmam ama çevremden bir kaç yeni başlayan arkadaşlarımız için kaynak açısından başlangıç uygulamaları yaziyim dedim. Bir çok yeni başlayan arkadaşlarımızın işine yarıyacağını umuyorum. //Fibonatçi dizisi int ilksayi = 8; int ikincisayi = 13; int yenisayi = 0; Console.WriteLine(ilksayi); Console.WriteLine(ikincisayi); for (int i = 3; i <= 10; i++) { yenisayi = ilksayi + ikincisayi; Console.WriteLine(yenisayi); ilksayi = ikincisayi; ikincisayi = yenisayi; } Console.ReadLine(); ...

Devamı ...

c# Console girilen adet kadar sayıların ortalamaları

Merhaba Arkadaşlar; Genelde pek bu tarz makaleler yazmam ama çevremden bir kaç yeni başlayan arkadaşlarımız için kaynak açısından başlangıç uygulamaları yaziyim dedim. Bir çok yeni başlayan arkadaşlarımızın işine yarıyacağını umuyorum.   ///girilen adet kadar sayıların ortalamaları /// int Sayi = 0; int Top = 0; int Ort = 0; int Adet = 0; Console.WriteLine("Kaç adet sayı girmek istiyorsunuz"); Adet = int.Parse(Console.ReadLine()); for (int i = 1; i <= Adet; i++) { Console.WriteLine(i + ". sayıyı giriniz"); Sayi = int.Parse(Console.ReadLine()); Top = Top + Sayi; } Ort = Top / Adet; ...

Devamı ...

c# console sayının faktöriyelini alma

Merhaba Arkadaşlar; Genelde pek bu tarz makaleler yazmam ama çevremden bir kaç yeni başlayan arkadaşlarımız için kaynak açısından başlangıç uygulamaları yaziyim dedim. Bir çok yeni başlayan arkadaşlarımızın işine yarıyacağını umuyorum.   //sayının faktöriyelini alma int sayi = 0; int fak = 1; Console.WriteLine("Bir Sayı Giriniz"); sayi = int.Parse(Console.ReadLine()); for (int i = 1; i <= sayi; i++) { fak = fak * i; } Console.WriteLine("girdiğiniz sayıların faktoriyeli=" + fak);   Console.ReadLine(); ...

Devamı ...

c# Console Vize Final Ortalama hesaplama

Merhaba Arkadaşlar; Genelde pek bu tarz makaleler yazmam ama çevremden bir kaç yeni başlayan arkadaşlarımız için kaynak açısından başlangıç uygulamaları yaziyim dedim. Bir çok yeni başlayan arkadaşlarımızın işine yarıyacağını umuyorum.   ////ortalama hesaplama int Vize = 0; int Final = 0; double Ort = 0; Console.WriteLine("Vize notunu giriniz"); Vize = int.Parse(Console.ReadLine()); Console.WriteLine("Final notunu giriniz"); Final = int.Parse(Console.ReadLine()); Ort = Vize * 0.4 + Final * 0.6; if (Ort >= 40 && Final >= 40) { Console.WriteLine(Ort + "ile geçtiniz"); } ...

Devamı ...

c# Network Status Check (İnternet Kontrolü)

Merhaba Arkadaşlar; Bu makalemde kısaca anlık olarak internet bağlantısı kontrol etmeyi anlatacağım. Bunu yapmak için bir çok yöntem var ama ben dns test yönetmini kullanıcam. Hatta biraz daha geliştirerek programınıza entegre edip internet bağlantısı eğer gitmişse yapılacak bütün işlemleri durdurtabilirsiniz ki kullanıcıyı az hataya düşürelim. Formumuza bir tane timer , birtanede label koyuyoruz. public frmTest() { InitializeComponent();//InitializeComponent(); işleminden hemen sonra timer ımızı başlatıyoruz. Timer ımız aşağıda yazmış olduğumuz dnstest       methodunu çalıştıracak sürekl ...

Devamı ...

C# İle Belirli Bir Dosya İçin YazmaOkuma Hakkını Kontrol Etmek

Bazen bir dosyayı kaydetmeden önce o dosyaya yazma hakkımız varmı kontrol etmek durumunda kalabiliriz. Belirli bir dosyaya yazma/okuma haklarını kontrol etmek için aşağıdaki kodaları kullanıyoruz. // okuma hakkı System.Security.Permissions.FileIOPermission readPer = new System.Security.Permissions.FileIOPermission(System.Security.Permissions.FileIOPermissionAccess.Read, @"c:\test.txt"); if(System.Security.SecurityManager.IsGranted(readPer)) { // okuma hakkı var } // yazma hakkı System.Security.Permissions.FileIOPermission writePer = new System.Security.Permissions.FileIOPermission(System. ...

Devamı ...

C#,Asp.Net ' de TIMESPAN YAPISI ile IKI TARIH ARASINDAKI SÜREYI HESAPLAMA

Asp.Net private void button1_Click(object sender, EventArgs e) //"Hesapla" Butonu { DateTime ilkdeger = Convert.ToDateTime("25.09.2010"); //1 DateTime sondeger = Convert.ToDateTime("27.10.2010"); //2 int deger1 = 10; int deger2 = 12; System.TimeSpan zaman; //3 zaman = sondeger.Subtract(ilkdeger); //4 int toplamdakika = Convert.ToInt32(zaman.TotalDays); //5 } C# private void button1_Click(object sender, EventArgs e) //"Hesapla" Butonu { DateTime ilkdeger = dateTimePicker1.Value; //1 DateTime sondeger = dateTimePicker2.Value; //2 System.TimeSpan zaman; //3 zaman = sondeger.Subtract(ilkdeger); ...

Devamı ...

Codex Json Pager

Codex Json Pager açık kaynak (open source) bir kütüphanedir. Verilerinizi sayfanız yenilemeden asenkron olarak sayfalamaya yarar. Kütüphane olabildiğince stabildir. Jquery Template kütüphanesi kullanılarak esnek bir yapıya sahiptir. Html5 desteklemektedir.  Kullanımı: <head> <title>Listview Template Pager</title> <script src="Scripts/jquery-1.9.1.min.js"></script> <script src="Scripts/jquery.tmpl.min.js"></script> <script src="Scripts/CodexPager.js"></script> <link href="Css/PagerStyle.css" rel="stylesheet" /> </head> & ...

Devamı ...

Dinamik UserControl Eklerken Parametre Gönderme

Merhaba arkadaşlar; Bu makalemde dinamik olarak usercontrol eklerken aynı zamanda parametre göndermeyi anlatmaya çalıştım. İşlem çok basit  UserControl mimarisini alrak kendimiz bir class oluşturuyoruz ve get set değerleri ile ViewState de değerimizi tutuyoruz.Oluşturduğumuz class adınıda usercontrol ümüzde belirtiyoruz. Bu konu ile ilgili çok fazla kaynak bulamadım açıkçası benide çok uğraştırdı. Türkçe kaynak olmadığı için sizlerle paylaşmak istedim. İlk olarak Bir Class oluşturuyoruz ve UserControl sınıfından class ımızı yaratıyoruz. using System; using System.Collections.Generic; using ...

Devamı ...

Domain Status Reporter (Alan Adı Durumu)

Eyvah! Aradığım alan adı alınmış. Acaba ne zaman boşa çıkar? GÜNLERCE düşünüp, kurgulayıp bir web projesi ürettiniz ve artık sıra bir alan adı almaya geldi ancak istediğiniz alan adları hep alınmış. Üstelik bu adreslerde bir web sitesi de yayımlanmıyor. Siz de normalde 15 TL’ye alabileceğiniz bir alan adına daha fazla ücret ödemek istemiyorsunuz. Bu noktada devreye Domain Status Reporter giriyor. Satın almak istediğiniz alan adlarını boşa düştüğü anda size uyarı gönderen bu yazılım aynı zamanda kendi alan adlarınızın ne zaman boşa çıkacağını da hatırlamanızda yardımcı olabilir. Takibe almak i ...

Devamı ...

Entity CRUD

Projenizin CRUD(Create,Read,Update,Delete) işlemlerinizi entitycrud.com üzerinden kolayca yapabilirsiniz.Yapmanız gereken veritabanınıza bağlanmak ve CRUD için generate edilecek tablolarınızı seçmek.Generate işlemini başlattıktan sonra size BLL e DAL olarak classlar otomatik olarak generate edilecektir.Yapmanız gereken Projenizi oluşturun Modelinizi ekleyin entitycrud işlemini tamamlayın ve projenize zaman kazandırın. Entity CRUD ...

Devamı ...

geo plugin Kullanımı js location

geoplugin ne işe yarar. geoplugin bir java script kutuphanesidir webservis hizmetleri vermektedir. Çok kolay bir şekilde sitenize gelenin lokasyon bilgilerini öğrenmenizi sağlar. sitenizin head tag ları arasına yazmanız yeterli. Daha sonra aşağıdaki functionları kullanarak bilgileri elde edebilirsiniz. Örn: function () { var country = geoplugin_countryCode(); alert(country); }     geoplugin_request() function geoplugin_request() { return '88.242.126.29'; } geoplugin_status() function geoplugin_status() { return '200'; } geoplugin_city() function geoplugin_city() { return ' ...

Devamı ...

GetExtension ve EndsWith ile performans farkı

Çoğu dosya isimleri belirli bir uzantıya sahip. Bazen projelerimizde bir dosya uzantısı için test etmek gerekebilir. Bunun için Path.GetExtension idealdir. Bu yöntem basittir ama özel bir yöntemle performansını karşılaştıracağız. C #: Path.GetExtension yöntemi using System; using System.IO; sınıf Programı { static void Main () { dize p = @"C:\Users\Hasan\Documents\Test.txt"; Dize e = Path.GetExtension (p); if (e == ". txt") { Console.WriteLine (e); } } } Çıktı . Txt Burada dosya uzantılarını kontrol etmek için alternatif bir yöntem yapıcaz kendimize. Bu sayede ms bazındada olsa perfor ...

Devamı ...

Jquery Data Table & Asp.net Bölüm 1

Jqery ve asp.net kardeşliği güngeçtikçe hızla ilerliyor. Malum birde html5 olunca müşterilerinde istekleri çığ gibi büyüyor tabi. Yok sayfa niye yenileniyor yok şuraya tıklayınca neden hepsi gelmiyor illa o sayfayamı geçmem lazım vs. vs. vs hızla ilerleyip gidiyor.Peki neden Jquery Datable da generic handler kullandık normaldede zaten repeaterla yapabiliyoruz diyeceksiniz belki ? Nedeni 100 200 300 kayıtlık bi verinizi çekerken zorlanmazsınız ama 1000 2000 tane verinin birden geldiğini düşünecek olursak bi hayli bekleyeceksiniz. Ama bu şekilde 2 ci sayfaya geçtiğinizde sıradaki veriler gelec ...

Devamı ...

Jquery Data Table & Asp.net Bölüm 2 (Disable Sorting Dynamic Column)

Merhaba arkadaşlar; Bu bölümde iste jquery datateble da fnrender kullanmadan dinamik olarak nasıl kolonları istediğimiz gibi düzenleriz onu anlatmaya çalışacağım. Açıkçası ben şurdan yola çıkarak özellikle buna ihtiyaç duydum.  jQuery DataTable da her tablo için benzersiz js oluşturmak zorunda kalmadan bir satırı devre dışı edebilmek için geliştirdim.Diyelim tümüseç diye bir checkbox koyacaksınız ama datatable otomatik shortable yaptığından tıkladığınız anda işleminiz gerçekleş meyecek çünkü onuda sıralamaya başlıyacaktır. Bunu devre dışı bırakmak içinde tek tek fn render yazmak zorunda kalac ...

Devamı ...

Lin1 Where Simple 3

public void Linq3() { List<Product> products = GetProductList(); var expensiveInStockProducts = from prod in products where prod.UnitsInStock > 0 && prod.UnitPrice > 3.00M select prod; Console.WriteLine("In-stock products that cost more than 3.00:"); foreach (var product in expensiveInStockProducts) { Console.WriteLine("{0} is in stock and costs more than 3.00.", product.ProductName); } } public void Linq3() {    List<Product> products = GetProductList(); var expensiveInStockProducts =        from prod in products        where prod.UnitsInStock > 0 && prod. ...

Devamı ...

linq multi order by (birden fazla order by kullanma)

Genelde hepimiz ihtiyaç duyarız.Verilerimizin şuna göre değilse buna göre sıralasın ona göre değilse buna göre sıralanmasını. Peki bunu linq sorgumuzda nasıl yaparız   var movies = context.ICERIKLER.OrderBy(f => f.AKTIF).ThenBy(f => f.SIRA).ThenByDescending(f => f.OLUSTURULMA); Then By kullanmamızın nedeni ikisinide ascending olarak yaptım sonuncusunda'da descendig yapmak istedğim içinde  ThenByDescending kullandım tabi bu işlem tam terside olabilirdi. Kolay Gelsin Bol Klavye Tıkırtılı Günler ;) ...

Devamı ...

Linq Reverse

public void Linq39() { string[] digits = { "zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine" }; var reversedIDigits = ( from digit in digits where digit[1] == 'i' select digit) .Reverse(); Console.WriteLine("A backwards list of the digits with a second character of 'i':"); foreach (var d in reversedIDigits) { Console.WriteLine(d); } } Sonuç : Sadece ikinci harfi 'i' olanları çekmiş olduk. A backwards list of the digits with a second character of 'i': nine eight six five ...

Devamı ...

Linq Select Transformation

public void Linq8() { int[] numbers = { 5, 4, 1, 3, 9, 8, 6, 7, 2, 0 }; string[] strings = { "zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine" }; var textNums = from num in numbers select strings[num]; Console.WriteLine("Number strings:"); foreach (var str in textNums) { Console.WriteLine(str); } } Sonuç : Number strings: five four one three nine eight six seven two zero ...

Devamı ...

Linq Union İşlemi

public void Linq48() { int[] numbersA = { 0, 2, 4, 5, 6, 8, 9 }; int[] numbersB = { 1, 3, 5, 7, 8 }; var uniqueNumbers = numbersA.Union(numbersB); Console.WriteLine("Unique numbers from both arrays:"); foreach (var n in uniqueNumbers) { Console.WriteLine(n); } } Sonuç : Unique numbers from both arrays: 0 2 4 5 6 8 9 1 3 7 ...

Devamı ...

Linq Where - DrillDown

public void Linq4() { List<Customer> customers = GetCustomerList(); var waCustomers = from cust in customers where cust.Region == "WA" select cust; Console.WriteLine("Customers from Washington and their orders:"); foreach (var customer in waCustomers) { Console.WriteLine("Customer {0}: {1}", customer.CustomerID, customer.CompanyName); foreach (var order in customer.Orders) { Console.WriteLine("  Order {0}: {1}", order.OrderID, order.OrderDate); } } } public void Linq4() {    List<Customer> customers = GetCustomerList(); var waCustomers =        from cust in customers        where c ...

Devamı ...

Linq Where Indexed

public void Linq5() { string[] digits = { "zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine" }; var shortDigits = digits.Where((digit, index) => digit.Length < index); Console.WriteLine("Short digits:"); foreach (var d in shortDigits) { Console.WriteLine("The word {0} is shorter than its value.", d); } } public void Linq5() {    string[] digits = { "zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine" }; var shortDigits = digits.Where((digit, index) => digit.Length < index); Console.WriteLine("Short digits:");    foreach (var d i ...

Devamı ...

Linq Where Simple 1

public void Linq1() { int[] numbers = { 5, 4, 1, 3, 9, 8, 6, 7, 2, 0 }; var lowNums = from num in numbers where num < 5 select num; Console.WriteLine("Numbers < 5:"); foreach (var x in lowNums) { Console.WriteLine(x); } } SONUÇ: Numbers < 5: 4 1 3 2 0 ...

Devamı ...

Linq Where Simple 2

public void Linq2() { List<Product> products = GetProductList(); var soldOutProducts = from prod in products where prod.UnitsInStock == 0 select prod; Console.WriteLine("Sold out products:"); foreach (var product in soldOutProducts) { Console.WriteLine("{0} is sold out!", product.ProductName); } } public void Linq2() {    List<Product> products = GetProductList(); var soldOutProducts =        from prod in products        where prod.UnitsInStock == 0        select prod;        Console.WriteLine("Sold out products:");    foreach (var product in soldOutProducts) {        Console.Write ...

Devamı ...

Linq Where Smiple 2

public void Linq2() { List products = GetProductList(); var soldOutProducts = from prod in products where prod.UnitsInStock == 0 select prod; Console.WriteLine("Sold out products:"); foreach (var product in soldOutProducts) { Console.WriteLine("{0} is sold out!", product.ProductName); } } SONUÇ: Sold out products: Chef Anton's Gumbo Mix is sold out! Alice Mutton is sold out! Thüringer Rostbratwurst is sold out! Gorgonzola Telino is sold out! Perth Pasties is sold out! ...

Devamı ...

LinQ İf Kullanımı

from p in db.products if p.price>0 select new {   Owner=from q in db.Users         select q.Name } else select new {    Owner = from r in db.ExternalUsers             select r.Name } ...

Devamı ...

Sql veri tipi = C# Veri tipi

Merhaba arkadaşlar; Çoğu yeni başlayan arkadaşlarımın işini kolaylaştıracağını düşündüğüm için Sql veri tiplerinin C# da karşılığını paylaşmak istedir.Umarım aşağıdaki tablo yeterince açıklayıcı olmuştur. bigint Long Binary(50) image byte[] varbinary bit bool char(10) nchar ntext string nvarchar(max) varchar nvarchar(50) Datetime datetime smalldatetime decimal decimal numeric float float int int money decimal ...

Devamı ...

String Format for DateTime (Tarih Format'ları)

// create date time 2008-03-09 16:05:07.123 DateTime dt = new DateTime(2008, 3, 9, 16, 5, 7, 123); String.Format("{0:y yy yyy yyyy}", dt); // "8 08 008 2008" year String.Format("{0:M MM MMM MMMM}", dt); // "3 03 Mar March" month String.Format("{0:d dd ddd dddd}", dt); // "9 09 Sun Sunday" day String.Format("{0:h hh H HH}", dt); // "4 04 16 16" hour 12/24 String.Format("{0:m mm}", dt); // "5 05" minute String.Format("{0:s ss}", dt); // "7 07" second String.Format("{0:f ff fff ffff}", dt); // "1 12 123 1230" sec.fraction String.Format("{0:F FF FFF FFFF}", dt); // "1 12 123 123" without zeroes S ...

Devamı ...

Ado.Net 2.0 – Connection Pooling in Onemi

Connectilon Pooling veritabanı programcılığında, uygulamaların performansını doğrudan etkiliyen unsurlardan birisidir. Bağlantıların bir havuza atılarak buradan kullanılmalarını sağlamaktaki en büyük amaç, çok sayıda kullanıcının bağlı olduğu veri tabanlı uygulamalarda, aynı özelliklere sahip bağlantı bilgilerinin defalarca oluşturulmasınının önüne geçmek bu sayede var olan açık bağlantıların kullanılabilmesini sağlamaktır. Temel mantık son derece basittir. Bir kullanıcı uygulaması içerisinden bir verikaynağına bağlanmak istediğinde, geçerli bir Connection nesnesi oluşturmak zorundadır. Bu Con ...

Devamı ...