Beispiel #1
0
 public async Task <Setting> GetSettingsAsync()
 {
     using (var db = new CarRentalDatabase())
     {
         return(await db.Settings.FirstOrDefaultAsync());
     }
 }
Beispiel #2
0
        public async Task <string> GetHealthAsync()
        {
            using (var db = new CarRentalDatabase())
            {
                await db.Database.ExecuteSqlCommandAsync("select GETDATE()");
            }

            return("OK");
        }
Beispiel #3
0
        public async Task UpdateSettingsAsync([FromBody] Setting newSetting)
        {
            using (var db = new CarRentalDatabase())
            {
                var setting = await db.Settings.FirstOrDefaultAsync();

                setting.DayPrice       = newSetting.DayPrice;
                setting.KilometerPrice = newSetting.KilometerPrice;

                await db.SaveChangesAsync();
            }
        }
Beispiel #4
0
        public async Task <decimal> CalculateFinalPriceAsync()
        {
            if (_carType == null || _settings == null)
            {
                using (var db = new CarRentalDatabase())
                {
                    _carType = _carType ?? await db.CarTypes.FirstOrDefaultAsync(x => x.Id == CarTypeId);

                    _settings = _settings ?? await db.Settings.FirstOrDefaultAsync();
                }
            }

            var days    = (int)Math.Ceiling(DateTo.Subtract(DateFrom).TotalDays) + 1;
            var mileage = FinalMileage - InitialMileage;

            return(_carType.DayMultiplier * days * _settings.DayPrice
                   + _carType.KilometerMultiplier * mileage * _settings.KilometerPrice);
        }