public async Task <Endpoint> CreateEndpoint(string sender) { await _endpointRepository.CleanupOldestEndpoints(); var result = new Endpoint { MaxCalls = 4, Calls = new List <Call>(), CreatedAt = DateTime.Now, Identification = Guid.NewGuid(), LastCall = DateTime.MinValue, SenderAddress = sender }; var endpoints = await _endpointRepository.GetEndpointByHost(sender); if (endpoints.Count() >= 10) { throw new OutOfEndpointsPrHosts(); } return(await _endpointRepository.SaveEndpoint(result)); }