- IEntity: Tüm entitylerimizde yer alan ID'yi T tipine verdim, böylece dışardan herhangi bir tip alabilecek.
- CoreEntity: Tüm etitylerimizde yer alacak özellikler (Genel Durum vs.) tanımladım. Burda ID'yi Guid tipini verdim. Bu class ilk tetiklendiğinde otomatik olarak: Genel Durum(GenerelStatus) = Aktif. Oluşturma tarihi, Uuşturan kişinin çeşitli bilgileri burada otomatik olarak ctor metotuyla doldurulacak.
- GeneralStatus(Genel Durumlar): Aktif, Update ve Deleted. Enum listesi olarak tanımlanıp 1.1 Entity içerisindeki CoreEntity içerisine verilmiştir.
- CoreMap: CoreEntity içerisindeki özelliklere çeşitli isimledirmeler ve sınırlandırılmalar verilmiştir.
- ICoreService: Tüm service'lerde bulunan ortak eylemler tanımlandı.
- 2.1.1 AppUser
- 2.1.2 Category
- 2.1.3 Order
- 2.1.4 OrderDetail
- 2.1.5 Product
- 2.1.6 SubCategory
- Role
- BloodType
- Gender
- MaritalState
- AppUserMap:
- CategoryMap:
- OrderDetailMap:
- OrderMap:
- ProductMap:
- SubCategoryMap:
- ProjectContext: Context nesnemizdir.
- SampleData: Örnek verilerimizin bulunduğu classtır.
- Configuration içerisine 2.4 Context içerisinde yer alan SampleData instance alınarak Seed metotun içerisine verilmiştir.
- Cart
- CartItem
- BaseSerice: Tüm Etitylerde bulunan belli başlı CRUD ve Listeleme işlemleri tanımlanmıştır.
- AppUserService:
- CategoryService:
- OrderDetailService:
- OrderService:
- ProductService:
- SubCategoryService:
- AuthorizationFilters/CustomerAuthFilter:
- AuthorizationFilters/ManegementAuthFilter:
- AuthorizationFilters/SellerAuthFilter:
- Home: Index, About ve Contact.
- Product: Index, Details, FindCategoryProducts, FindSubCategoryProducts ve FindSellerProducts.
- Sellers: Index, Find, Products ve TableProducts.
- Buy: Index ve SepeteEkle.
NOT: "Hemen Satın Al" işleminde ürün bilgisi Customer Area'yasına eklenecek.
- _Layout:
- Error:
- PartialViews/Sidebar: _Sidebar, _ContactAboutSidebar, _ProductsSellersSidebar, _LoginSidebar ve _LogoutSidebar.
- PartialViews/TopNavbar: _TopNavbar, _MyCart, _Alerts ve _SpecialDays.
- PartialViews/Messages: _ErrorMsg ve _SuccessMsg.
- PartialViews/_About:
- PartialViews/_Contact:
- PartialViews/_Footer:
- PartialViews/_PageTop:
NOT: _SpecialDays için resim veya fotoğraf yolları ayarlanacak.
- Account: Register, Login, ForgotPassword, Index ve Edit.
- Home: Index, About ve Contact.
- Product: Index, Details, FindCategoryProducts, FindSubCategoryProducts, FindSellerProducts ve CustomerProducts.
- Seller: Index, Find, Products ve TableProducts.
- Buy: Index, SepeteEkle ve Create.
- Order: Index ve OrderDetails.
- _Layout:
- PartialViews/Sidebar: _Sidebar, _OthersMenusSidebar ve _ProductsSellersSidebar.
- PartialViews/TopNavbar: _TopNavbar ve _MyMsg.
- PartialViews/_Footer:
- Account: Login, ForgotPassword, Index ve Edit.
- Home: Index, About ve Contact.
- Product: Index, Create, Edit ve Delete.
- Category: Index.
- _Layout:
- PartialViews/Sidebar: _Sidebar ve _SellerOthersMenusSidebar.
- PartialViews/TopNavbar: _TopNavbar.
- PartialViews/_Footer:
- Account: Login, ForgotPassword, Index ve Edit.
- Home: Index, About ve Contact.
- Customer: Index, Create, Details, Edit, Delete ve ResetPassword.
- Seller: Index, Create, Details, Edit, Delete ve ResetPassword.
- Product: Index, Create, Details, Edit, Delete, FindCategoryProducts, FindSubCategoryProducts ve FindSellerProducts.
- Category: Index, Create, Details, Edit ve Delete.
- SubCategory: Index, Create, Details, Edit ve Delete.
- _Layout:
- PartialViews/Sidebar: _Sidebar ve _ManegementOthersMenusSidebar.
- PartialViews/TopNavbar: _TopNavbar.
- PartialViews/_Footer:
- ImagesUploader/Resim Yükleyicisi
- MailSender/E-Posta Göndericisi
-
1.) MVCECommerceProject.MVC'nin ilk etapta başlangıç projesi yapılması gerekiyor: Çözüm Gezgini'de (Solution Explorer'da) MVCECommerceProject.MVC’a Sağ tıklayıp. “Set as StartUp Project/Başlangıç Projesi Olarak Ayarla” ya tıkla.
-
2.) SQL Database Server'ın yolu varsayılan olarak ayarlıdır ("server=.;database=MVCECommerceProjectDB;uid=sa;pwd=123"). Bu yolu, MVCECommerceProject.MODEL/Context/ProjectContext.cs dosyası içerisinde değiştirebilirsiniz.
-
3.) NuGet Paket Konsol Yöneticisini kullanarak veritabanını basılması gerekiyor.
-
4.) Bu programın e-posta gönderebilmesi (gönderici) için, MVCECommerceProject.COMMON/MyTools/MailSender.cs dosyasının ayarlanması gerekiyor.
-
5.) SampleData içerisindeki veriler kullanıcaksa, sahte (fake) e-posta adreslerine, e-posta gönderecektir. Bu e-posta adresleri gerçek kişi/kurumlara ait olabilir. Bunu engellemek için, MVCECommerceProject.COMMON/MyTools/MailSender.cs dosyası içerisindeki //email = ""; yorum satırından çıkarılıp, içerisine alcı e-posta adresi olarak kendi e-posta adresinizi eklemek zorundasınız.
-
6.) Proje, ilk kez çalıştırılmasında "...\MVCECommerceProject\MVCECommerceProject.MVC\bin\roslyn\csc.exe' yolunun bir parçası bulunamadı." hata verirse, "bin" klasörünü silin.
-
1.) Kargo bilgisi eklenmediği için, satış işlemleri tamamlanmıştır.
-
2.) Sipariş Detay sayfası düzenlenecek.
-
3.) Giriş yapılmadan, "Hemen Satın Al" işleminde ürün bilgisi Customer Area'yasına taşınmalı.
-
4.) SpecialDays (Özel Günler) için, resim veya fotoğraf bulunacak.