Verilen bir Fatura ve Müşteri bilgilerine göre indirim hesaplar.
Bu uygulama, bir API proje ve onu çalıştıran bir Console projeden oluşur. Her iki projde de Asp.Net Core 6.0 kullanılarak oluşturulmuştur.
-
API projesi, DiscountCalculator adlı bir class içerir. Bu class, toplam fatura tutarını 'Invoice' isimli bir model üzerinden alır. Müşterinin mağaza çalışanı olup olmadığı, mağaza üyesi olup olmadığı ve 2 yıldan fazladır müşteri mi değil mi gibi bilgiler ise 'Customer' modelinden alınır. Bu class, indirim miktarını ve nihai fatura tutarını hesaplar ve bunları JSON nesnesi olarak döndürür.Bu class, RESTful API'nin POST yöntemiyle çağrılır.
-
API, indirim hesaplamalarını gerçekleştirirken gelen faturanın bakkaliye ürünleri içerip içermediği kontrol eder ve buna göre öncelikle yüzdeye dayalı indirimleri hesaplar. Daha sonra, fatura tutarı üzerinden sabit tutarda indirimi hesaplar. Son olarak, nihai fatura tutarı hesaplanır.
-
Projeyi test etmek için Postman gibi bir araç kullanarak HTTP POST isteklerini http://localhost:port/api/invoice/discount adresindeki API uç noktasına 'Invoice' ve 'Customer' model parametreleriyle gönderebilirsiniz. Console projesi de bu API yi test etmek için kullanabileceğiniz istek kodlarını içerir. Önce API projesini çalıştırıp, Console projesindeki 'Invoice' ve 'Customer' modellerinin verilerini istediğiniz gibi düzenleyip çalıştırsanız sonucu görebilirsiniz.
-
API uygulamasını ayrıca Swagger ile de test edebilirsiniz.
Bu API, web veya mobil uygulamasına entegre edilebilir ve müşterilerin indirimli fatura tutarlarını görmelerini sağlanabilir.