Skip to content

MusabAkan/ReCapProject

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ReCapProject

Ödev 2 Kampımızla beraber paralelde geliştireceğimiz bir projemiz daha olacak. Araba kiralama sistemi yazıyoruz. Yepyeni bir proje oluşturunuz. Adı ReCapProject olacak. (Tekrar ve geliştirme projesi) Entities, DataAccess, Business ve Console katmanlarını oluşturunuz. Bir araba nesnesi oluşturunuz. "Car" Özellik olarak : Id, BrandId, ColorId, ModelYear, DailyPrice, Description alanlarını ekleyiniz. (Brand = Marka) InMemory formatta GetById, GetAll, Add, Update, Delete oprasyonlarını yazınız. Consolda test ediniz. Önemli: Copy-Paste yasak fakat kamp projesinden destek almak serbest. Kodlarınızı Github'a aktarıp paylaşınız. İncelediğiniz arkadaşlarınıza yıldız vermeyi unutmayınız.

Ödev 3 Araba Kiralama projemiz üzerinde çalışmaya devam edeceğiz. Car nesnesine ek olarak;

  1. Brand ve Color nesneleri ekleyiniz(Entity) Brand-->Id,Name Color-->Id,Name
  2. Sql Server tarafında yeni bir veritabanı kurunuz. Cars,Brands,Colors tablolarını oluşturunuz. (Araştırma)
  3. Sisteme Generic IEntityRepository altyapısı yazınız.
  4. Car, Brand ve Color nesneleri için Entity Framework altyapısını yazınız.
  5. GetCarsByBrandId , GetCarsByColorId servislerini yazınız.
  6. Sisteme yeni araba eklendiğinde aşağıdaki kuralları çalıştırınız. Araba ismi minimum 2 karakter olmalıdır Araba günlük fiyatı 0'dan büyük olmalıdır.ü4567 Ödevinize ait github linkini paylaşınız.

Ödev 4 Not : İsteyenler Northwind projesindeki Core katmanını da ekleyebilir ama pekiştirmek için yeniden yazmanızı öneririm. Bu şekilde yapmak isteyenler CarRental/Solution Explorer Sağ Tık / Add /Existing Project/ Northwind içindeki Core klasöründe Core.csproj dosyasını ekleyebilirler. Bu şekilde yapanlar aşağıdaki 3. adımdan devam edebilirler. Önerim aşağıdaki gibi yeniden yapmanızdır. CarRental Projenizde Core katmanı oluşturunuz. IEntity, IDto, IEntityRepository, EfEntityRepositoryBase dosyalarınızı 9. gün dersindeki gibi oluşturup ekleyiniz. Car, Brand, Color sınıflarınız için tüm CRUD operasyonlarını hazır hale getiriniz. Console'da Tüm CRUD operasyonlarınızı Car, Brand, Model nesneleriniz için test ediniz. GetAll, GetById, Insert, Update, Delete. Arabaları şu bilgiler olacak şekilde listeleyiniz. CarName, BrandName, ColorName, DailyPrice. (İpucu : IDto oluşturup 3 tabloya join yazınız) Kodlarınızı Github hesabınızda paylaşıp link veriniz. Başkalarının kodlarını inceleyiniz. Beğenirseniz yıldız veriniz.

Ödev -5 Core katmanında Results yapılandırması yapınız. Daha önce geliştirdiğiniz tüm Business sınıflarını bu yapıya göre refactor (kodu iyileştirme) ediniz

Ödev -6

Kullanıcılar tablosu oluşturunuz. Users-->Id,FirstName,LastName,Email,Password Müşteriler tablosu oluşturunuz. Customers-->UserId,CompanyName *****Kullanıcılar ve müşteriler ilişkilidir. Arabanın kiralanma bilgisini tutan tablo oluşturunuz. Rentals-->Id, CarId, CustomerId, RentDate(Kiralama Tarihi), ReturnDate(Teslim Tarihi). Araba teslim edilmemişse ReturnDate null'dır. Projenizde bu entity'leri oluşturunuz. CRUD operasyonlarını yazınız. Yeni müşteriler ekleyiniz. Arabayı kiralama imkanını kodlayınız. Rental-->Add Arabanın kiralanabilmesi için arabanın teslim edilmesi gerekmektedir.

Ödev -7

Car Rental Projenize Autofac, FluentValidation ve AOP desteği ekleyiniz.

Ödev-8 Artık araştırma yapıp, yeni işlemleri projeye ekleyebilmemiz gerekiyor. RentACar projenizde; CarImages (Araba Resimleri) tablosu oluşturunuz. (Id,CarId,ImagePath,Date) Bir arabanın birden fazla resmi olabilir. Api üzerinden arabaya resim ekleyecek sistemi yazınız. Resimler projeniz içerisinde bir klasörde tutulacaktır. Resimler yüklendiği isimle değil, kendi vereceğiniz GUID ile dosyalanacaktır. Resim silme, güncelleme yetenekleri ekleyiniz. Bir arabanın en fazla 5 resmi olabilir. Resmin eklendiği tarih sistem tarafından atanacaktır. Bir arabaya ait resimleri listeleme imkanı oluşturunuz. (Liste) Eğer bir arabaya ait resim yoksa, default bir resim gösteriniz. Bu resim şirket logonuz olabilir. (Tek elemanlı liste) Github linkinizi paylaşınız.

About

Özel Proje

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages