- 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.
- PersonEntity: Model katmanında yer alan Çalışan ve Müşterilerde bulunan ortak özellikler bulunur.
- GeneralStatus(Genel Durumlar): Aktif, Update ve Deleted. Enum listesi olarak tanımlanıp 1.1 Entity içerisindeki CoreEntity içerisine verilmiştir.
- Gender(Cinsiyet): Male(Erkek) ve Female(Kadın). Bu Enum listesi 1.1 Entity içerisindeki PersonEntitye verilmiştir.
- CoreMap: CoreEntity içerisindeki özelliklere çeşitli isimledirmeler ve sınırlandırılmalar verilmiştir.
- 2.1.1 Booking
- 2.1.2 CustomerBooking
- 2.1.3 Customer
- 2.1.4 Employee
- 2.1.5 Room
- 2.1.6.1 VMs
- 2.1.6.1.1 RoomBookingVM
- 2.1.6.1.2 CustomerBookingsVM
- Roles
- RoomStatus
- RoomTypes
- RoomMap:
- CustomerMap:
- EmployeeMap:
- BookingMap:
- CustomerBookingMap
- 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.
- BaseSerice: Tüm Etitylerde bulunan belli başlı CRUD ve Listeleme işlemleri tanımlanmıştır.
- RoomService:
- EmployeeService:
- CustomerService:
- CustomerBookingService
- BookingService:
- Areasız(bölgesiz) olarak tanımlanmıştır. Home Controllerin içerisinde Index, About, Contact ve ManagerIndex isimli ActionResultlar bulunuyor. ManagerIndex Hotel personline ait olan Arealarda bulunun Login sayfalarına yönlerimesini yapar.
- Views içerisinde bulunan Home Controller'ına ait olan Viewler bulununur.
- Views içerisinde bulunan Shared klasörü içersinde bulunan: _Layout, Giriş sayfasının Layout'tıdır.
- Views içerisinde bulunan Shared klasörü içersinde bulunan: PartialViews klasörü içerisinde yer alan: _Footer ve _TopNavbar parçalı viewleri tüm arealarda ve areasız kısımda görülecek Footer ve Üst menüyü bu kısımda yer alır.
- BookingC:
- BooingManagement:
- HotelBooingManagement:
- AuthorizationFilters: Personel ve Müşterilere ait sayfaların giriş yapılmamaksızın girilmesini engellemek için fiterlar uygulanmıştır.
- ImagesUploader/Resim Yükleyicisi
- MailSender/E-Posta Göndericisi
- HomeController: FullRoomsCustomers, O günkü odalarda kalan müşterileri XML formatında getirir.
-
1.) MVC_BilgeHotel.WEBUI ve MVC_BilgeHotel.API ilk etapta başlangıç projeleri olarak ayarlanması gerekiyor: Çözüm Gezgini'de (Solution Explorer'da) “Solution 'MVC_BilgeHotel'/Çözüm 'MVC_BilgeHotel' ” e Sağ tıklayıp. “Set StartUp Projects.../Başlangıç Projelarini Olarak Ayarla...” ya tıklayın. “Birden fazla başlangıç projesi:/Multiple startup projects” seçin. Ardından MVC_BilgeHotel.WEBUI ve MVC_BilgeHotel.API projelerin Action/Eylem kısmına Start/Başla yapıp “OK/Tamam” a tıklayın.
-
2.) SQL Database Server'ın yolu varsayılan olarak ayarlıdır ("server=.;database=MVCBilgeHotelDB;uid=sa;pwd=123"). Bu yolu, MVC_BilgeHotel.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, MVC_BilgeHotel.COMMON/Tools/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, MVC_BilgeHotel.COMMON/Tools/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 "...\MVC_BilgeHotel\MVC_BilgeHotel.WEBUI\bin\roslyn\csc.exe' yolunun bir parçası bulunamadı." hata verirse, "bin" klasörünü silin.
-
1.) Kampanya ve paket işlemleri ve sayfaları tamamlanacak.
-
2.) Bilet(Ticket), Ödeme PDF/Yazdırma işlemleri ve sayfaları tamamlanacak.
-
3.) SpecialDays (Özel Günler) için, resim veya fotoğraf bulunacak.
-
4.) MVC_BilgeHotel.API tarafında güvenlik için Token tanımlaması yapılacak.