public async Task <RefuelEntryDto> AddRefuel(RefuelEntryDto refuelEntry) { try { if (refuelEntry.CarId == Guid.Empty || refuelEntry.Distance == 0 || refuelEntry.TotalDistance == 0) { return(null); } using var transaction = _unitOfWork.BeginTransaction(); var entity = _mapper.Map <RefuelEntry>(refuelEntry); await _unitOfWork.RefuelEntryRepository.Add(entity); await _unitOfWork.Save(); transaction.Commit(); _mapper.Map(entity, refuelEntry); return(refuelEntry); } catch (Exception ex) { _logger.LogError(ex, "Error adding new refuel entry"); throw; } }
public async Task <IActionResult> AddRefuel([FromBody] RefuelEntryDto refuelEntry) { var added = await _entryLogic.AddRefuel(refuelEntry); if (added == null) { return(BadRequest()); } return(Ok(added)); }