public async Task <IEnumerable <ClientStage> > Extract(Guid?htsClientId = null) { //_clientStageRepository.Clear(); var subscriber = await _subscriberSystemRepository.GetDefaultAsync(); if (null == subscriber) { throw new Exception("Default EMR NOT SET"); } var practices = _practiceRepository.GetAllDefault().ToList(); var clients = new List <ClientStage>(); var persons = _personRepository.GetAllClients(); foreach (var person in persons) { var client = ClientStage.Create(person, subscriber); var practice = practices.FirstOrDefault(x => x.Id == client.PracticeId); if (null != practice) { client.SiteCode = practice.Code; } clients.Add(client); } return(clients.Where(x => !x.ClientId.IsNullOrEmpty())); }
public void should_Extract_Translated() { var stage = ClientStage.Create(person, subscriber); Assert.AreEqual(52, stage.Sex); Assert.AreEqual(25, stage.KeyPop); Assert.AreEqual(58, stage.MaritalStatus); Console.WriteLine(stage); /* * Code|Display|SubCode|SubDisplay|SubRef * --------------------------------------------------- * O |Others |25 |Other |HTSKeyPopulation * S |Single |58 |Single |HTSMaritalStatus * F |F |52 |Female |Gender * */ }