Sayfalar

11 Aralık 2013 Çarşamba

ASP.NET MVC - KOMPLE BİR PROJE YAPISI OLUŞTURMAK - 4

Bu makalede üyelik işlemlerini yapacağız. Üyelik işlemlerini, kendi yazdığımızı üyelik ve rol sağlayıcılar ile yapacağız. Ayrıca üye olan kullanıcılara bir onay linki yollayıp, bu onay linkini tıkladıktan sonra üyeliklerini aktif etmesini sağlayacağız.

19 Kasım 2013 Salı

ASP.NET MVC - KOMPLE BİR PROJE YAPISI OLUŞTURMAK - 3

Önceki yazılarda, projemizin altyapısını nasıl oluşturacağımıza bakmıştık. Proje artık veritabanı ile ileşime geçmiş haldedir. Bu yazıdada, uygulama tarafının iskeletini oluşturacağız.

2 Ekim 2013 Çarşamba

ASP.NET MVC - KOMPLE BİR PROJE YAPISI OLUŞTURMAK - 2

Repository, Service, Unit of Work, Unit Testing

Bu yazıda repository ve unit of work desenlerini ve service katmanını oluşturacağız. Önceki makalede,

19 Eylül 2013 Perşembe

ASP.NET WEBFORMS DEPENDENCY INJECTION & UNIT TEST

Asp.Net Webforms ile dependency injection nasıl yapılır, örnek bir proje üzerinde görelim. Projede sadece tek tablo ile çalışacağız (Users tablosu). Test projesi içerisinde, bu tablo için Insert, Update, Delete işlerinin testini yapacağız. Yeni bir solution oluşturuyoruz. Bu solutiona, aşağıdaki projeleri ekliyoruz.

18 Eylül 2013 Çarşamba

ASP.NET MVC - KOMPLE BİR PROJE YAPISI OLUŞTURMAK - 1

Bu yazılarda, örneklerini vereceğimiz teknolojiler ve yazılım teknikleri :  örnek bir mvc proje yapısı, code first, repository pattern, unit of work pattern, inversion of control pattern (Unity.Mvc ile), model mapping (AutoMapper ile), code first auto migration, service layer, dependency injection, area kullanımı, twitter bootstrap, grid.mvc, jquery, jquery ajax, viewmodels, custom membership provider, custom role provider, custom html helpers, fileupload, unit testing...

16 Eylül 2013 Pazartesi

ASP.NET MVC DERSLERİ ( 8.1 ) AJAX - JQUERY NEDİR?

Günümüzde artık ajax kullanmadan yapılan uygulama neredeyse yok gibi. Teknik olarak AJAX, asenkron javascript ve XML 3 lüsünün kısaltmasıdır. Yani, web sayfası üzerinde istediğimiz alanları, parçalı olarak güncellemeyi sağlamaktadır.

8 Ağustos 2013 Perşembe

ASP.NET MVC DERSLERİ ( 7.2 ) AUTHORIZE ATTRIBUTE VE ROL YETKİLENDİRME

Internet Application şablonunda yeni bir proje oluşturduğumuzda, SimpleMembershipProvider varsayılan olarak gelmektedir. Hiçbir değişiklik yapmadan direk olarak bu üyelik sistemini kullanabilirsiniz. Ama MVC ye yeni başlayanlar bu konuda çok fazla mesai harcıyorlar. SimpleMembershipProvider, code first olarak geliştirilmiştir. Genişletilebilir bir yapısı vardır. Bu derste kendi üyelik sistemimizi nasıl yapabiliriz bu konuya değineceğim.

ASP.NET MVC DERSLERİ ( 7.1 ) AUTHORIZE ATTRIBUTE VE YETKİLENDİRME

MVC uygulamalarında, belirli bir metod ve ya controller sınıfı için üyelik gerektiğini belirlemek amaçlı olarak, AuthorizeAttribute nesnesini kullanabiliriz. Bu nesnenin hiç parametre almayan hali ile sadece kullanıcının giriş yapıp yapmadığını kontrol ederiz. Yani sistemdeki bazı yerleri, giriş yapmayan kullanıcılara kapatırız.

6 Ağustos 2013 Salı

ASP.NET MVC HABER SİTESİ V2

Haber sitesinin yeni versiyonunu github a yükledim. Yeni versiyonun adresi:

https://github.com/alirizaadiyahsi/HaberSitesiV2

Yeni versiyonu indirdikten sonra ilk yapılması gereken web.config dosyasında, aşağıdaki satırlarda ayarlama yapmak:

30 Temmuz 2013 Salı

ASP.NET MVC HABER PORTAL V2 (yakında...)

https://github.com/alirizaadiyahsi/HaberPortal

Adresinde, dersler boyunca gördüğümüz konuların uygulama olarak (kaynak kod) karşılığı var. En son derste mvc ile üyelik ve güvenlik konusuna gelmiştik. Bu konular bir web uygulaması için ana konulardır. Üyelik ve güvenlik çok geniş bir konudur. Üyeliği ve güvenliği yapılmış bir site artık bitmiş sayılır.

23 Haziran 2013 Pazar

ASP.NET MVC GHeatMap (google heat map) kullanımı

_Layout.cshtml
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width">
        <title>@ViewBag.Title</title>
        @Styles.Render("~/Content/css")
        @Scripts.Render("~/bundles/jquery")
        @Scripts.Render("~/bundles/modernizr")
        <script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?key=AIzaSyDaLyCTMxu8kuv2bHkY9EIxBMfpvNU83-Y&sensor=false&libraries=visualization">
        </script>
    </head>
    <body>
        @RenderBody()
        @RenderSection("scripts", required: false)
    </body>
</html>
Index.cstml
@{
    ViewBag.Title = "Index";
}
<script type="text/javascript">
    $(document).ready(function () {
        var map, mapProp;
        var heatmap;
        var pointArray = [];

        $.ajax({
            type: 'POST',
            url: '/Home/MapJson',
            success: function (data) {
                // pointArray dizisine gelen her datayı
                // atarak diziyi dolduruyoruz...
                $.each(data, function (index, data) {
                    pointArray.push({
                        location: new google.maps.LatLng(data.latitude, data.longtitude),
                        weight: data.weight
                    });
                });
            }
        });

        function initialize() {
            // harita ayarları yapılıyor
            // örneğin başlangıç noktası
            // ilk yakınlaşma değeri
            // ve grafigin tipi gibi ayarlar...
            mapProp = {
                center: new google.maps.LatLng(38.41, 27.22),
                zoom: 11,
                mapTypeId: google.maps.MapTypeId.ROADMAP
            };    
            map = new google.maps.Map(document.getElementById("googleMap"), mapProp);
            heatmap = new google.maps.visualization.HeatmapLayer({
                data: pointArray
            });
            // harita yukleniyor
            heatmap.setMap(map);
            heatmap.setOptions({ radius: 10, maxIntensity: 3 });
        }

        // ilk sayfa yüklemesinde harita ilkleniyor.
        google.maps.event.addDomListener(window, 'load', initialize);
    });
</script>

<div id="googleMap" style="width: 640px; height: 480px;">
</div>
HomeController.cs
public class HomeController : Controller
{
    //
    // GET: /Home/

    public ActionResult Index()
    {
        return View();
    }

    public ActionResult MapJson()
    {
        List<location> locations = new List<location>();

        locations.Add(new Location { latitude = 38.41, longtitude = 27.21, weight = 1 });
        locations.Add(new Location { latitude = 38.44, longtitude = 27.22, weight = 5 });
        locations.Add(new Location { latitude = 38.45, longtitude = 27.23, weight = 2 });
        locations.Add(new Location { latitude = 38.42, longtitude = 27.24, weight = 7 });
        locations.Add(new Location { latitude = 38.43, longtitude = 27.25, weight = 4 });
        locations.Add(new Location { latitude = 38.46, longtitude = 27.26, weight = 5 });
        locations.Add(new Location { latitude = 38.47, longtitude = 27.27, weight = 5 });
        locations.Add(new Location { latitude = 38.39, longtitude = 27.28, weight = 5 });

        return Json(locations);
    }
}
Location.cs
public class Location
{
    public double latitude { get; set; }
    public double longtitude { get; set; }
    public int weight { get; set; }
}
Çıktı:
enter image description here

10 Haziran 2013 Pazartesi

8 Haziran 2013 Cumartesi