Ejemplo n.º 1
0
        public async Task <IActionResult> Create([FromBody] CalculationModel calculationModel, string expression)
        {
            _logger.LogInformation($"Create {calculationModel} calculation API call.");

            calculationModel.CreateDate = DateTime.Now;
            calculationModel.Type       = _calculator.OperationType(expression);
            calculationModel.Expression = expression;
            calculationModel.Result     = _calculator.Calculate(expression);

            // Validation check model
            if (!ModelState.IsValid)
            {
                _logger.LogError("Calculation model is not valid.");
                return(UnprocessableEntity());
            }

            await _calculationRepository.CreateAsync(_mapper.Map <Calculation>(calculationModel));

            return(CreatedAtAction(nameof(GetById), new { id = calculationModel.Id }, calculationModel));
        }