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));
        }