Ejemplo n.º 1
0
        public async Task <IActionResult> Calculate([FromBody] CalculateDto calcDto)
        {
            var message = _changeService.Calc(calcDto.AmountPaid, calcDto.TotalAmountToPay);

            if (!_changeService.IsValid)
            {
                return(BadRequest(_changeService.GetErrors));
            }

            var historyEntry = new ChangeHistory(_changeService.TotalChanged());

            foreach (var(value, quantity) in _changeService.Notes)
            {
                var historyEntryItem = new ChangeHistoryItem(ECurrencyType.Note, quantity, value);
                historyEntry.AddItem(historyEntryItem);
            }

            foreach (var(value, quantity) in _changeService.Coins)
            {
                var historyEntryItem = new ChangeHistoryItem(ECurrencyType.Coin, quantity, value);
                historyEntry.AddItem(historyEntryItem);
            }

            await _context.ChangeHistories.AddAsync(historyEntry);

            await _context.SaveChangesAsync();

            return(Ok(message));
        }
Ejemplo n.º 2
0
 public int Calculate(CalculateDto dto)
 {
     return(_service.GetResult(new CalculateModel
     {
         CarType = dto.CarType,
         EngineVolume = dto.EngineVolume,
         FuelType = dto.FuelType,
         FuelWeight = dto.FuelWeight,
         Price = dto.Price,
         Year = dto.Year,
     }));
 }