public async Task <IActionResult> CreatePeriodicTax([FromBody] CreatePeriodicTaxRequest request) { var userId = ((ClaimsIdentity)User.Identity).FindFirst(ClaimTypes.NameIdentifier).Value; await _periodicTaxService.CreatePeriodicTaxAsync(userId, request); return(NoContent()); // }
private async Task validatePeriodicTaxMeasurementAsync(CreatePeriodicTaxRequest request) { var taxType = await _taxTypeRepository.GetTaxTypeByIdAsync(request.TaxTypeId); if ((taxType.UnitOfMeasurement != null && request.Measurement == null) || (taxType.UnitOfMeasurement == null && request.Cost == null)) { throw new PeriodicTaxMeasurementException("Tax type and periodic tax measurement units don't match"); } }
public async Task CreatePeriodicTaxAsync(string userId, CreatePeriodicTaxRequest request) { new CreatePeriodicTaxRequestValidator().ValidateAndThrow(request); await validatePeriodicTaxMeasurementAsync(request); var periodicTax = _mapper.Map <PeriodicTax>(request); periodicTax.UserId = userId; await _periodicTaxRepository.CreatePeriodicTaxAsync(periodicTax); }