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