Easy Db Tool ile veritabanı işlemlerini kolayca halledin.

Epey bir zaman kullandığım veritabanı aracımı sizlerle paylaşmak istedim. Bu vesileyle üzerimde büyük emeği ve desteği bulunan sevgili arkadaşım, kardeşim Yunus Emre Çavuşoğlu‘ na teşekkürlerimi sunmak istiyorum.

Bu araçla birlikte;

  1. Açık kaynak olduğu için, istediğiniz gibi şekillendirebilirsiniz.
  2. Veritabanına ekleme, silme ve güncelleme işlemlerini kolaylıkla yapabilirsiniz.
  3. Veritabanında ki bilgileri kolayca DataTable ye kolayca aktarabilirsiniz.
  4. Oluşturduğunuz formdaki eleman isimlerinin veritabanındaki isimlerle aynı olması şartıyla bir kerede formdaki tüm bilgileri ekleyebilir veya güncelleyebilirsiniz. (* alan adlarının başına 3 karakterli kontrollerin kısaltılmış ön ekinin girilmesi gereklidir. Örneğin; txtsoyadi, ddlsehir, rblcinsiyet gibi..)
  5. Veritabanında ki bilgileri DataTable ye aktarırken bilgiyi önbellekte (cache) tutma ve bu belleği basit bir şekilde yönetme.

Kullanımı, öncelikle veritabanında ki tablomuza karşılık gelen bir sınıf yazıyoruz. Bu sınıfta id alanını belirtmiyoruz , zamanında böyle yapmışım böyle kalmış :)

    // Poco Class
    public class testTable
    {
        public string name { get; set; }
        public string email { get; set; }
        public DateTime? createDate { get; set; }
        public int? age { get; set; }
    }

Normal ekleme işlemi

            testTable tt = new testTable
            {
                name = "test",
                email = "mail@mail.com",
                age = 18,
                createDate = DateTime.Now
            };

            db.Insert(tt, true);

Formda ki bilgileri ekleme işlemi;

<div runat="server" id="divForm">
 name <asp:TextBox runat="server" ID="txtname" /> <br />
 email <asp:TextBox runat="server" ID="txtemail" /> <br />
 age <asp:TextBox runat="server" ID="txtage" /> <br />
 <asp:Button Text="Add" runat="server" ID="add" onclick="add_Click" />
</div>
db.Insert(new testTable(),divForm,false);

Örneklerde ki true, false olarak ifade ettiğimiz değer, eklenilen kaydın id sinin geriye integer olarak dönüp dönmeyeceğini ifade ediyor. Diğer örnekler ve EasyDbTool için gitHub sayfasını ziyaret edebilirsiniz https://github.com/apoStyLEE/easy-Db-Tools

DataAnnotationsExtensions ile form doğrulama (validation)

Asp.Net Mvc’ de doğrulama (validation) işlemleri için modelimizdeki alanlara açıklamalar (Annotations) yazıyoruz. Bu alan zorunludur yada en fazla 10 karakter girilebilir gibi en temel doğrulama kuralları varsayılan olarak gelirken, e-posta yada adres doğrulama gibi işlemler için kendi doğrulama fonksiyonlarımızı yazıyoruz. Nuget Gallery deki DataAnnotationsExtensions.MVC3 paketiyle bu ekstra yükten kurtulabiliyoruz. İlk göze çarpanlar; e-posta doğrulama, en az uzunluk, adres doğrulama, şifre uyumu ve dosya uzantısı kontrolü. Daha fazlası için projenin ana sayfasına bakabilirsiniz.

Paketleri projemize nasıl eklediğimizi şurada yazmıştım. Örnek kullanım şu şekilde.

    public class modelim
    {
        public int id { get; set; }

        [Email]
        [Required]
        public string eposta { get; set; }

        [FileExtensions("png|jpg|jpeg|gif")]
        public string dosyaAdi { get; set; }

        [Min(2,ErrorMessage="en az uzunluk 2")]
        public int sayi { get; set; }

        [Required]
        public string sifre { get; set; }
        [Required]
        [EqualTo("sifre",ErrorMessage="Şifreler aynı değil")]
        public string sifreTekrar { get; set; }

        [Url]
        public string adres { get; set; }
    }

aSanalPos kullanıma hazır.

Sanal posun lazım olduğu yerlerde kullandığım basit bir sınıfım vardı. Biraz düzenleyip sizlerle paylaşmak istedim. Esasında benim yaptığım bir şey yok, sadece bankaların verdiği kodları bir araya topladım. Projenize basitçe ekleyebilir ve kullanabilirsiniz. Şimdilik şu bankaların posları bulunuyor;

  1. İş Bankası
  2. Garanti Bankası
  3. Vakıfbank
  4. Akbank
  5. Yapı Kredi
  6. FinansBank
  7. DenizBank

Projenin Git sayfası https://github.com/apoStyLEE/aSanalPos

Örnek Kullanım;

public void Cekim() {

            // kullanıcıdan kart bilgilerini alıyoruz.
            PosForm pf = new PosForm {
                ay = 1,
                yil=2011,
                guvenlikKodu = 123,
                kartNumarasi = 1234567891234568,
                kartSahibi = "kart sahibi",
                taksit = 3,
                tutar = 1.00
            };

            // Poslarımıza yukarıdaki bilgileri gönderiyoruz.
            Pos p = new Pos();

            // Örnek gönderim;
            p.Akbank(pf);
            //p.GarantiBankasi(pf);
            //p.VakifBank(pf);
            //p.YapiKredi(pf);
            //p.IsBankasi(pf);

            // Poslardan geriye dönen bilgileri alıyoruz.

            if (p.sonuc)
            {
                // Çekim işlemi başarılı ise, geri dönen bilgileri alıyoruz.
                // Genellikle bu bilgiler veritabanında saklanır.
                // Bankadan bankaya değişiklik göstereceği için, alanlardan bazıları boş gelebilir.
                Response.Write(p.referansNo);
                Response.Write(p.groupId);
                Response.Write(p.transId);
                Response.Write(p.code);
            }
            else
            {
                // Çekim işlemi herhangi bir sebepden dolayı olumsuz sonuçlanmışsa, bankadan dönen hatayı alıyoruz.
                // Hata kodlarının açıklamaları ilgili banka dökümantasyonunda belirtilmiştir.
                Response.Write(p.sonuc);
                Response.Write(p.hataMesaji);
                Response.Write(p.hataKodu);
            }

        }

jQuery ile Laz İşi Ajax Push

Özellikle Friendfeed, Twitter, FaceBook gibi sosyal ağlarda sayfa yenilenmeden verilerin güncellendiğini biliyoruz. Bu tür bir durumu gerçekleştirmek için akla ilk gelen yöntem ajax ile verinin bulunduğu yeri belirli zaman aralıklarında yenilemek geliyor, fakat veri trafiğinin çok üst düzey olduğu bu sistemlerde sürekli yenileme yapmak aşırı kaynak tüketimine hatta sistemin durmasına sebep olur. Bu işi şüphesiz en iyi yapan site FriendFeed, o kadar iyi yaptılar ki FaceBook bu siteyi ve geliştiricilerini satın aldı :) Neyse oralara daha fazla girmeden konumuza dönelim.

Okumaya devam et jQuery ile Laz İşi Ajax Push

Mvc 3 Jquery Ui – Autocomplete Kullanmak

Uzun zaman önce jQueryUi AutoComplete kullanımı ve Asp.Net ile jQuery Autocomplete kullanmak adında yazılar yazmıştım. Geçtiğimiz günlerde Fehmi Can abi de bir video çekerek Play framework ile autocomplete kullanımını anlatmış. Bende kıskandım aynı olayın mvc3 de nasıl yapıldığını videosuz yazarak anlatmaya çalışacağım :) Bu arada MVC3 ve jQuery kullanımı ile ilgili videolara buradan ve buradan ulaşabilirsiniz.

Okumaya devam et Mvc 3 Jquery Ui – Autocomplete Kullanmak

Mvc 3 Tools Update ve Getirdikleri

Bu konuyu nasıl atladım, bu kadar zamandır nasıl bahsetmedim bilmiyorum :S Öncelikle ASP.NET MVC 3 Tools Update yi indirip kuralım. Bu araç, Scaffolding templatelerini kullanma işini paket yönetim konsoluna komut ile yapmak yerine bir iki tıkta yapmamıza olanak sağlıyor. Hemen kullanıma bakalım.

Yeni bir Mvc3 projesi açıyoruz. Sonrasında urun adında bir model oluşturuyoruz.

    public class urun
    {
        public int id { get; set; }
        public string adi { get; set; }
        public int stok { get; set; }
    }

Modelimizi yazdıktan sonra ctrl+shift+b ile projemizi derliyoruz. Solution Explorer da bulunan Controllers klasörüne sağ tıklayıp Add / Controller diyoruz. İşte bu açılan ekran yüklediğimiz Mvc3 Tools ekranı.


Okumaya devam et Mvc 3 Tools Update ve Getirdikleri

EF Power Tools CTP1 Hazır !

Code-first bir model oluşturduğumuzda modeli görsel olarak göremediğimiz için, model büyüdükçe neyin ne olduğunu görsel olarak görme ihtiyacı duyabiliyoruz. Yada model üzerinde tartışacağımız, analiz edeceğimiz zaman, görsellik önem kazanıyor. Bunun için Ef Power Tools adında bir araç kullanıma sunuldu. Eklentiyi buradan indirip kurabilirsiniz.

Eklentiyi kurduktan sonra Models klasörü içinde ki herhangi bir class a sağ tıkladığımızda açılan menüye Entity Framework seçeneğinin geldiğini görüyoruz.


Okumaya devam et EF Power Tools CTP1 Hazır !

Microsoft.Web.Helpers ve Güzellikleri

Microsoft web helpers ile birlikte o kadar fazla güzellik geliyor ki saymakla bitmez. Öncelikle oluşturduğumuz projemize Paket Yöneticisinden Install-Package microsoft-web-helpers komutuyla ilgili paketi yüklüyoruz. Şimdi yardımcımızı kullanmaya başlayabiliriz.

Facebook, Twitter, Gravatar, Analiytics, LinkShare, GameCard, ReCaptcha, Bing vb.. gibi sitelerin servislerini kolaylıkla kullanabiliyoruz. İstediğiniz gibi kişiselleştirmenizde mümkün. ReCaptcha için burada ki makaleye göz atabilirsiniz. Diğer servislerin detayları içinde küçük araştırmalarla istediğiniz sonuca ulaşabilirsiniz.

Kullanım örnekleri;

@Bing.SearchBox()

@Gravatar.GetHtml("mail@adresi.com")

@Gravatar.GetUrl("mail@adresi.com")

@LinkShare.GetHtml("Microsoft Web Helpers")

@GamerCard.GetHtml("apostylee")

Aşağıda ekran görüntülerini gördüğünüz projeyi buradan indirebilirsiniz.

Okumaya devam et Microsoft.Web.Helpers ve Güzellikleri

Razor View Engine püf noktaları

Adı üstünde Razor (ustura) ! kodlarımızı hızlıca yazıp geçiyoruz. Uzun zamandır mvc3 ile geliştirdiğim bir projeyle uğraşıyorum haliyle razor ile kodlarımı yazıyorum. Geçen gün web forms ile geliştirdiğim bir projeye bazı özellikler eklemem gerekti, aman Allah’ ım <% %> bunlardan aç kapat aç kapat iflahım söküldü meğer razor candan da öteymiş bunu bir kez daha anladım. Bu yazıda anlatacaklarımın  hepsini Scottgu abimizin bloğundan öğrendiğimide söylemek istiyorum :) Düşünüyorumda yazacaklarımla başlık biraz alakasız gibi oldu ama idare edin :)

Okumaya devam et Razor View Engine püf noktaları

Mvc 3 ile Ziyaretçi Defteri

Çok sevdiğim bir öğrenci arkadaşım, “abi ziyaretçi defteri yapar mısın bana ?” dedi,  yaparım dedim. Ne kadar sürer dedi, taş patlasa 1 saat dedim. Mvc 3 sağolsun 15 dakika da istediğimiz özelliklerdeki ziyaretçi defterini yaptık :) Yeni başlayan arkadaşların işine yarar diye bu örneği paylaşmak istedim. Bu basit defterde, code-first ile model ve doğrulama (validation), jQuery Ajax ve sql compact 4.0 kullandık. Örneği buradan indirebilirsiniz, umarım faydalı olur.

Bu görseli başka bir yazı için hazırlamıştım, sanırım bundan sonra sık sık kullanacam, çok güzel oldu yav :) Okumaya devam et Mvc 3 ile Ziyaretçi Defteri

Asp.Net Mvc 3 Semineri sonrası

Dün KTUCEC – KTU Computer Engineering Club‘ ın düzenlediği etkinlikte Asp.Net Mvc 3 üzerine uygulamalı bir anlatım yaptım. İlk tecrübem olduğundan bir hayli heyecanlandım, öyle ki kendimi tanıtmadan direk konuya girdim :) Benim için çok önemli bir tecrübe oldu. Webe ilgi duymayan arkadaşların sıkıldığı, ilgi duyanların ise zevk aldığı bir anlatım olduğunu düşünüyorum. Kendimce bir yol haritası ve katılımcılara sormak için hazırladığım sorularım vardı ama sadece vardı heyecandan bakamadım bile :) Hayalini kurduğum bir olaydı ve gerçek oldu. Devamında çok daha iyi olacağına inanıyorum. Emeği geçen 4primes Teknoloji Grubuna ve Sözenler Bilgisayar‘ a çok teşekkür ediyorum. Emeği geçenlere ve katılan herkese teşekkür ediyorum.



Visual Studio 2010 update problemi

Gün boyunca Visual Studio 2010 sp1‘ i yükleyemedim, farklı farklı problemlerle uğraştım durdum.. En sonunda burada ki .iso dosyasını indirip winrar ile açıp manüel olarak yüklemeyi başardım. Normalde burada ki bağlantıdan yada Web Platform Installer i kullanarak güncelleştirme işlemini yapabilirsiniz.