public async Task <IActionResult> GetSumOfIncomesByOwner(string ownerId, int numberOfDaysToShow) { IncomesByOwnerDTO data = new IncomesByOwnerDTO { ownerId = ownerId, numberOfDaysToShow = numberOfDaysToShow }; return(Ok(await Task.Run(() => inp.GetSumOfIncomesByOwner(data)))); }
public async Task <List <IncomeSumByOwnerDTO> > GetSumOfIncomesByOwner(IncomesByOwnerDTO data) { GetAllDTO data2 = new GetAllDTO(); data2.ownerId = data.ownerId; data2.numberOfDaysToShow = data.numberOfDaysToShow; data2.maxNumberOfIncomesToShow = -1; List <Income> listOfIncomes = await Task.Run(() => GetAllIncomes(data2)); List <IncomeSumByOwnerDTO> modifiedIncomes = (await Task.WhenAll(listOfIncomes. GroupBy(e => e.Userid). Select(async ce => new IncomeSumByOwnerDTO { userName = (await Task.Run(() => usp.GetUserById(new UserIdDTO { userId = ce.First().Userid }))).Username, sum = ce.Sum(e => e.Moneyrecieved) }))).ToList(); return(modifiedIncomes); }