public async Task <CustomerDto> GetCurrentCustomer(string customerId) { Customer customerResponse = await communicationService.AskForCustomer(customerId); CustomerDto customerDto = new CustomerDto(); await Task.Factory.StartNew(() => { lock (m_SyncObject) { _dataRepository.RefreshCurrentCustomer(customerResponse); customerDto = _dataRepository.GetCurrentCustomer().ToDto(); } }); return(customerDto); }