public async Task <IActionResult> CreatePeriodicTax([FromBody] CreatePeriodicTaxRequest request)
        {
            var userId = ((ClaimsIdentity)User.Identity).FindFirst(ClaimTypes.NameIdentifier).Value;
            await _periodicTaxService.CreatePeriodicTaxAsync(userId, request);

            return(NoContent()); //
        }
Пример #2
0
        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");
            }
        }
Пример #3
0
        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);
        }