using System.Collections.Generic;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
public class CalculationController : Controller
private readonly ICalculationService calculationService;
public CalculationController(ICalculationService calculationService)
this.calculationService = calculationService;
[Route("{baseValue}/add")]
public async Task<ActionResult<int>> Add(int baseValue, [FromBody] InputObject input)
var result = await calculationService.AddValues(baseValue, input.Values);
public class MyCalculationService : ICalculationService
public Task<int> AddValues(int value, IEnumerable<int> valuesToAdd)
foreach(var i in valuesToAdd)
return Task.FromResult(value);
public interface ICalculationService
Task<int> AddValues(int value, IEnumerable<int> valuesToAdd);
public IEnumerable<int> Values { get; set;}