public static List <ClientTestingStage> Create(Encounter testingEncounter, SubscriberSystem subscriber, Guid?pretestEncounterId) { var clientTestingStages = new List <ClientTestingStage>(); if (testingEncounter.ObsTestResults.Any()) { foreach (var testResult in testingEncounter.ObsTestResults) { var clientTestingStage = new ClientTestingStage(); clientTestingStage.UserId = subscriber.GetEmrUserId(testingEncounter.UserId); clientTestingStage.Id = testResult.Id; clientTestingStage.PretestEncounterId = pretestEncounterId.IsNullOrEmpty() ? testResult.Id : pretestEncounterId.Value; clientTestingStage.HtsTestType = GetTestType(testResult.TestName); clientTestingStage.KitType = subscriber.GetTranslation(testResult.Kit, "HIVTestKits", "ObsTestResult.Kit", "0").SafeConvert <int>(); clientTestingStage.KitOther = testResult.KitOther; clientTestingStage.LotNumber = testResult.LotNumber; clientTestingStage.ExpiryDate = testResult.Expiry.ToIqDateOnly(); clientTestingStage.Result = subscriber.GetTranslation(testResult.Result, "HIVResults", "ObsTestResult.Result", "0").SafeConvert <int>(); clientTestingStage.TestRound = (int)clientTestingStage.HtsTestType; clientTestingStage.ClientId = testingEncounter.ClientId; clientTestingStages.Add(clientTestingStage); } } return(clientTestingStages); }
private static string GetValue(object obj, SubscriberMap subscriberMap, SubscriberSystem subscriberSystem = null, int group = 0) { var propname = subscriberMap.Field; var val = obj.GetPropValue(propname); if (null == val) { return($"NULL"); } if (subscriberMap.Type == "Date") { DateTime vall = obj.GetPropValue <DateTime>(propname); return($"'{vall:yyyy MMM dd}'"); } else { if (null != subscriberSystem) { val = GetTranslation($"{subscriberMap.Name}.{subscriberMap.Field}", val.ToString(), subscriberSystem, group); } } return($"'{val}'"); }
public static Patient Create(ClientInfo client, int locationId, SubscriberSystem subscriberSystem) { var ids = null != client.Identifiers && client.Identifiers.Count > 0 ? client.Identifiers.First().Identifier : ""; var regDate = string.IsNullOrWhiteSpace(ids) ? DateTime.Now.Date : client.Identifiers.First().RegistrationDate; var patient = new Patient( client.Person.FirstName, client.Person.MiddleName, client.Person.LastName, Convert.ToInt32(GetTranslation("Sex", client.Person.Gender, subscriberSystem, "0")), client.Person.BirthDate.Value, GetDobPrecion(client.Person.BirthDateEstimated.Value), ids, locationId, regDate, client.Id, client.Person.Addresses.FirstOrDefault().Landmark, client.Person.Contacts.FirstOrDefault().Phone.ToString(), Convert.ToInt32(GetTranslation("MaritalStatus", client.MaritalStatus, subscriberSystem, "0")) ); return(patient); }
public static List <ClientFinalTestStage> Create(Encounter testingEncounter, SubscriberSystem subscriber, Guid?pretestEncounterId) { var stages = new List <ClientFinalTestStage>(); if (testingEncounter.ObsFinalTestResults.Any()) { var clientStage = new ClientFinalTestStage(); clientStage.UserId = subscriber.GetEmrUserId(testingEncounter.UserId); var testResult = testingEncounter.ObsFinalTestResults.First(); clientStage.Id = testResult.Id; clientStage.PretestEncounterId = pretestEncounterId.IsNullOrEmpty() ? testResult.Id : pretestEncounterId.Value; clientStage.ScreeningResult = subscriber.GetTranslation(testResult.FirstTestResult, "HIVResults", "ObsFinalTestResult.FirstTestResult", "0").SafeConvert <int>(); clientStage.ConfirmatoryResult = subscriber.GetTranslation(testResult.SecondTestResult, "HIVResults", "ObsFinalTestResult.SecondTestResult", "0").SafeConvert <int>(); clientStage.FinalResult = subscriber.GetTranslation(testResult.FinalResult, "HIVFinalResults", "ObsFinalTestResult.FinalResult", "0").SafeConvert <int>(); clientStage.FinalResultGiven = subscriber.GetTranslation(testResult.ResultGiven, "YesNo", "ObsFinalTestResult.ResultGiven", "0").SafeConvert <int>(); clientStage.CoupleDiscordant = subscriber.GetTranslation(testResult.CoupleDiscordant, "YesNoNA", "ObsFinalTestResult.CoupleDiscordant", "0").SafeConvert <int>(); clientStage.PnsAccepted = subscriber.GetTranslation(testResult.SelfTestOption, "YesNo", "ObsFinalTestResult.SelfTestOptions", "0").SafeConvert <int>(); clientStage.PnsDeclineReason = subscriber.GetTranslation(testResult.PnsDeclined, "ReasonsPartner", "ObsFinalTestResult.PnsDeclineds", "0").SafeConvert <int>(); clientStage.Remarks = testResult.Remarks; clientStage.ClientId = testingEncounter.ClientId; stages.Add(clientStage); } return(stages); }
public void SetUp() { var config = new ConfigurationBuilder() .AddJsonFile("appsettings.json") .Build(); //var connectionString = config["connectionStrings:hAPIConnection"].Replace("#dir#", TestContext.CurrentContext.TestDirectory.HasToEndWith(@"\")); var connectionString = config["connectionStrings:livehAPIConnection"]; var options = new DbContextOptionsBuilder <LiveHAPIContext>() .UseSqlServer(connectionString) .Options; _context = new LiveHAPIContext(options); _personRepository = new PersonRepository(_context); _clientStageRepository = new ClientStageRepository(_context); _subscriberSystemRepository = new SubscriberSystemRepository(_context); _clientStageExtractor = new ClientStageExtractor(_personRepository, _clientStageRepository, _subscriberSystemRepository, new ClientRepository(_context), new PracticeRepository(_context)); subscriber = Builder <SubscriberSystem> .CreateNew() .With(x => x.Id = new Guid("16E23877-9D69-11E7-ABC4-CEC278B6B50A")) .With(x => x.Translations = TestData.TestTranslations()) .Build(); person = Builder <Person> .CreateNew().With(x => x.Gender = "F").Build(); var client = Builder <Client> .CreateNew() .With(x => x.KeyPop = "O") .With(x => x.MaritalStatus = "S") .Build(); person.Clients.Add(client); }
public static List <ClientPartnerScreeningStage> Create(Encounter encounter, SubscriberSystem subscriber) { var clientStages = new List <ClientPartnerScreeningStage>(); if (encounter.ObsPartnerScreenings.Any()) { foreach (var screening in encounter.ObsPartnerScreenings) { var clientStage = new ClientPartnerScreeningStage(); clientStage.Id = screening.Id; clientStage.UserId = subscriber.GetEmrUserId(encounter.UserId); clientStage.ScreeningDate = screening.ScreeningDate; clientStage.PnsAccepted = subscriber.GetTranslation(screening.PnsAccepted, "YesNo", "ObsPartnerScreening.PnsAccepted", "0").SafeConvert <int>(); clientStage.IpvScreeningDone = subscriber.GetTranslation(screening.IPVScreening, "YesNoNA", "ObsPartnerScreening.IPVScreening", "0").SafeConvert <int>(); clientStage.HurtByPartner = subscriber.GetTranslation(screening.PhysicalAssult, "YesNo", "ObsPartnerScreening.PhysicalAssult", "0").SafeConvert <int>(); clientStage.ThreatByPartner = subscriber.GetTranslation(screening.Threatened, "YesNo", "ObsPartnerScreening.Threatened", "0").SafeConvert <int>(); clientStage.SexualAbuseByPartner = subscriber.GetTranslation(screening.SexuallyUncomfortable, "YesNo", "ObsPartnerScreening.SexuallyUncomfortable", "0").SafeConvert <int>(); clientStage.IpvOutcome = subscriber.GetTranslation(screening.IPVOutcome, "IpvOutcome", "ObsPartnerScreening.IPVOutcome", "0").SafeConvert <int>(); clientStage.PartnerOccupation = screening.Occupation; clientStage.PartnerRelationship = subscriber.GetTranslation(screening.PNSRealtionship, "PNSRelationship", "ObsPartnerScreening.PNSRealtionship", "0").SafeConvert <int>(); clientStage.LivingWithClient = subscriber.GetTranslation(screening.LivingWithClient, "YesNoDeclined", "ObsPartnerScreening.LivingWithClient", "0").SafeConvert <int>(); clientStage.HivStatus = subscriber.GetTranslation(screening.HivStatus, "HivStatus", "ObsPartnerScreening.HivStatus", "0").SafeConvert <int>(); clientStage.EligibleForHts = subscriber.GetTranslation(screening.Eligibility, "YesNo", "ObsPartnerScreening.Eligibility", "0").SafeConvert <int>(); clientStage.PnsApproach = subscriber.GetTranslation(screening.PNSApproach, "PnsApproach", "ObsPartnerScreening.PNSApproach", "0").SafeConvert <int>(); clientStage.BookingDate = screening.BookingDate; clientStage.ClientId = encounter.ClientId; clientStages.Add(clientStage); } } return(clientStages); }
public static string GetTranslation(string tref, string tval, SubscriberSystem subscriberSystem, string def) { var translatio = subscriberSystem.Translations.FirstOrDefault(x => x.Ref == tref && x.Code == tval); if (null == translatio) { return(def); } return(translatio.SubCode); }
public static string GetTranslation(string tref, string tval, SubscriberSystem subscriberSystem, int group = 0) { var translatio = subscriberSystem.Translations.FirstOrDefault(x => x.Ref.ToLower() == tref.ToLower() && x.Code.ToLower() == tval.ToLower() && x.HasSub() && x.Group == group); if (null == translatio) { return(tval); } return(translatio.SubCode); }
private static string GetObsValue(List <Obs> obses, string field, SubscriberSystem subscriber, string question, bool coded = true, string defaultValue = "0") { var obs = obses.FirstOrDefault(x => x.QuestionId == new Guid(question)); if (null != obs && coded) { return(subscriber.GetTranslation(obs.ValueCoded, field, obs.QuestionId.ToString(), "0")); } return(string.IsNullOrWhiteSpace(defaultValue) ? string.Empty : defaultValue); }
public void Sync(IEnumerable <SubscriberTranslation> translations) { _defaultSystem = GetDbConnection().GetAll <SubscriberSystem>().FirstOrDefault(x => x.IsDefault); var updateList = new List <SubscriberTranslation>(); foreach (var translation in translations) { var exisitngTranslation = GetByLookupItem(translation.SubRef, translation.SubDisplay); foreach (var subscriberTranslation in exisitngTranslation) { subscriberTranslation.UpdateTo(translation); updateList.Add(subscriberTranslation); } } GetDbConnection().BulkUpdate(updateList); }
public static List <ClientReferralStage> Create(Encounter linkageEncounter, SubscriberSystem subscriber) { var clientStages = new List <ClientReferralStage>(); if (linkageEncounter.ObsLinkages.Any()) { foreach (var linkage in linkageEncounter.ObsLinkages) { var clientStage = new ClientReferralStage(); clientStage.Id = linkage.Id; clientStage.ReferredTo = linkage.ReferredTo; clientStage.DateToBeEnrolled = linkage.DatePromised; clientStage.ClientId = linkageEncounter.ClientId; clientStages.Add(clientStage); } } return(clientStages); }
public void SetUp() { var config = new ConfigurationBuilder() .AddJsonFile("appsettings.json") .Build(); var connectionString = config["connectionStrings:hAPIConnection"]; var options = new DbContextOptionsBuilder <LiveHAPIContext>() .UseSqlServer(connectionString) .Options; _context = new LiveHAPIContext(options); TestData.Init(); TestDataCreator.Init(_context); _subscriberSystems = _context.SubscriberSystems.ToList(); _subscriberSystem = _subscriberSystems.First(x => x.IsDefault); _subscriberTranslationRepository = new SubscriberTranslationRepository(_context); }
public static ClientLinkageStage Create(Encounter linkageEncounter, SubscriberSystem subscriber) { var clientStage = new ClientLinkageStage(); if (linkageEncounter.ObsLinkages.Any()) { var linkage = linkageEncounter.ObsLinkages.First(); clientStage.Id = linkage.Id; clientStage.Facility = linkage.FacilityHandedTo; clientStage.HealthWorker = linkage.HandedTo; clientStage.Carde = linkage.WorkerCarde; clientStage.DateEnrolled = linkage.DateEnrolled; clientStage.CccNumber = linkage.EnrollmentId; clientStage.Remarks = linkage.Remarks; clientStage.ClientId = linkageEncounter.ClientId; } return(clientStage); }
public static List <ClientTracingStage> Create(Encounter tracingEncounter, SubscriberSystem subscriber) { var stages = new List <ClientTracingStage>(); if (tracingEncounter.ObsTraceResults.Any()) { foreach (var traceResult in tracingEncounter.ObsTraceResults) { var clientStage = new ClientTracingStage(); clientStage.Id = traceResult.Id; clientStage.TracingDate = traceResult.Date; clientStage.TracingMode = subscriber.GetTranslation(traceResult.Mode, "TracingMode", "ObsTraceResult.Mode", "0").SafeConvert <int>(); clientStage.TracingOutcome = subscriber.GetTranslation(traceResult.Outcome, "TracingOutcome", "ObsTraceResult.Outcome", "0").SafeConvert <int>(); clientStage.ClientId = tracingEncounter.ClientId; stages.Add(clientStage); } } return(stages); }
public void SetUp() { var config = new ConfigurationBuilder() .AddJsonFile("appsettings.json") .Build(); var connectionString = config["connectionStrings:livehAPIConnection"]; var options = new DbContextOptionsBuilder <LiveHAPIContext>() .UseSqlServer(connectionString) .Options; _reader = new ClientLookupReader(new RestClient(_baseUrl)); _context = new LiveHAPIContext(options); _repository = new SubscriberTranslationRepository(_context); _subscriberSystemRepository = new SubscriberSystemRepository(_context); _service = new SyncLookupService(_reader, _repository); _emr = _subscriberSystemRepository.GetDefault(); }
private string GenerateSqlActionsPsmart(List <PSmartStoreInfo> storeInfos, SubscriberSystem subscriberSystem, Location location) { decimal rank = 0; _sqlActions = new List <SqlAction>(); _sqlActions.Add(new SqlAction(rank, GetSqlDecrptyion())); rank++; if (storeInfos.Count > 0) { _sqlActions.AddRange(InsertPSmart(rank, storeInfos, subscriberSystem, location)); } rank++; StringBuilder sqlBuilder = new StringBuilder(" "); foreach (var action in _sqlActions.OrderBy(x => x.Rank)) { sqlBuilder.AppendLine(action.Action); } return(sqlBuilder.ToString()); }
public void CreateOrUpdate(List <PSmartStoreInfo> storeInfos, SubscriberSystem subscriberSystem, Location location) { var sql5 = GenerateSqlActionsPsmart(storeInfos, subscriberSystem, location); using (SqlConnection conn = new SqlConnection(Context.Database.GetDbConnection().ConnectionString)) { using (SqlCommand cmd = new SqlCommand(sql5, conn)) { try { conn.Open(); cmd.ExecuteNonQuery(); } catch (Exception e) { Log.Error($"{e}"); throw; } } } }
public static List <ClientFamilyScreeningStage> Create(Encounter encounter, SubscriberSystem subscriber) { var clientStages = new List <ClientFamilyScreeningStage>(); if (encounter.ObsMemberScreenings.Any()) { foreach (var screening in encounter.ObsMemberScreenings) { var clientStage = new ClientFamilyScreeningStage(); clientStage.Id = screening.Id; clientStage.UserId = subscriber.GetEmrUserId(encounter.UserId); clientStage.ScreeningDate = screening.ScreeningDate; clientStage.HivStatus = subscriber.GetTranslation(screening.HivStatus, "ScreeningHivStatus", "ObsMemberScreening.HivStatus", "0").SafeConvert <int>(); clientStage.EligibleForHts = subscriber.GetTranslation(screening.Eligibility, "YesNo", "ObsMemberScreening.Eligibility", "0").SafeConvert <int>(); clientStage.BookingDate = screening.BookingDate; clientStage.Remarks = screening.Remarks; clientStage.ClientId = encounter.ClientId; clientStages.Add(clientStage); } } return(clientStages); }
public CohortsController(ISubscriberSystemRepository subscriberSystemRepository, IClientService clientService) { _subscriberSystemRepository = subscriberSystemRepository; _clientService = clientService; _subscriberSystem = _subscriberSystemRepository.GetDefault(); }
public static void Raise <T>(T args, IHandler <T> handler, SubscriberSystem subscriberSystem) where T : IhEvent { handler.Handle(args, subscriberSystem); }
public static ClientStageRelationship Create(ClientRelationship relationship, SubscriberSystem subscriber) { var clientStage = new ClientStageRelationship(); if (null != relationship) { clientStage.IndexClientId = relationship.ClientId; clientStage.IsPartner = relationship.IsPartner; clientStage.SecondaryClientId = relationship.RelatedClientId; clientStage.Relation = subscriber.GetTranslation(relationship.RelationshipTypeId, "Relationship", "0").SafeConvert <int>();; } return(clientStage); }
public static List <ClientPartnerTracingStage> Create(Encounter tracingEncounter, SubscriberSystem subscriber) { var stages = new List <ClientPartnerTracingStage>(); if (tracingEncounter.ObsPartnerTraceResults.Any()) { foreach (var traceResult in tracingEncounter.ObsPartnerTraceResults) { var tracingStage = new ClientPartnerTracingStage(); tracingStage.Id = traceResult.Id; tracingStage.UserId = subscriber.GetEmrUserId(tracingEncounter.UserId); tracingStage.TracingDate = traceResult.Date; tracingStage.TracingMode = subscriber.GetTranslation(traceResult.Mode, "TracingMode", "ObsPartnerTraceResult.Mode", "0").SafeConvert <int>(); tracingStage.TracingOutcome = subscriber.GetTranslation(traceResult.Outcome, "PnsTracingOutcome", "ObsPartnerTraceResult.Outcomee", "0").SafeConvert <int>(); tracingStage.Consent = subscriber.GetTranslation(traceResult.Consent, "YesNo", "ObsPartnerTraceResult.Consent", "0").SafeConvert <int>(); tracingStage.BookingDate = traceResult.BookingDate; tracingStage.ClientId = tracingEncounter.ClientId; stages.Add(tracingStage); } } return(stages); }
public static ClientPretestStage Create(HtsEncounterType encounterType, Encounter obsEncounter, SubscriberSystem subscriber) { ClientPretestStage clientStage = null; if (obsEncounter.Obses.Any()) { clientStage = new ClientPretestStage(); clientStage.UserId = subscriber.GetEmrUserId(obsEncounter.UserId); var obses = obsEncounter.Obses.ToList(); clientStage.Id = obsEncounter.Id; clientStage.EncounterDate = obsEncounter.EncounterDate; clientStage.EncounterType = encounterType; clientStage.TestedAs = GetObsValue(obses, "TestedAs", subscriber, "B260401E-852F-11E7-BB31-BE2E44B06B34", true, "0").SafeConvert <int>(); clientStage.TbScreening = GetObsValue(obses, "TbScreening", subscriber, "B2605F54-852F-11E7-BB31-BE2E44B06B34", true, "0").SafeConvert <int>(); clientStage.Remarks = GetObsValue(obses, "B260665C-852F-11E7-BB31-BE2E44B06B34"); clientStage.DisabilityIndicator = GetObsValue(obses, "YesNo", subscriber, "B260695C-852F-11E7-BB31-BE2E44B06B34", true, "0").SafeConvert <int>(); clientStage.Disabilities = GetDisabilityStages(obses, "B2603C5E-852F-11E7-BB31-BE2E44B06B34", subscriber, clientStage.Id); clientStage.EverTested = GetObsValue(obses, "YesNo", subscriber, "B2603772-852F-11E7-BB31-BE2E44B06B34", true, "0").SafeConvert <int>(); clientStage.SelfTest12Months = GetObsValue(obses, "YesNo", subscriber, "B2603773-852F-11E7-BB31-BE2E44B06B34", true, "0").SafeConvert <int>(); clientStage.Strategy = GetObsValue(obses, "Strategy", subscriber, "B260417C-852F-11E7-BB31-BE2E44B06B34", true, "0").SafeConvert <int>(); clientStage.ServicePoint = GetObsValue(obses, "HTSEntryPoints", subscriber, "B26039A1-852F-11E7-BB31-BE2E44B06B34", true, "0").SafeConvert <int>(); clientStage.MonthsSinceLastTest = GetObsValue(obses, "B26039A2-852F-11E7-BB31-BE2E44B06B34", true, "0").SafeConvert <decimal>(); clientStage.Consent = GetObsValue(obses, "YesNo", subscriber, "B2603DC6-852F-11E7-BB31-BE2E44B06B34", true, "0").SafeConvert <int>(); clientStage.ClientId = obsEncounter.ClientId; } return(clientStage); }
private static List <ClientPretestDisabilityStage> GetDisabilityStages(List <Obs> obses, string question, SubscriberSystem subscriber, Guid id) { var list = new List <ClientPretestDisabilityStage>(); var obs = obses.FirstOrDefault(x => x.QuestionId == new Guid(question)); if (null != obs) { var codes = obs.ValueMultiCoded.Split(','); foreach (var code in codes) { var codeId = subscriber.GetTranslation(code, "Disabilities", question, "0").SafeConvert <int>(); list.Add(new ClientPretestDisabilityStage(codeId, id)); } } return(list); }
public void Handle(PSmartStoreSaved args, SubscriberSystem subscriberSystem) { var location = _configRepository.GetLocations().FirstOrDefault(); _encounterRepository.CreateOrUpdate(args.Encounters, subscriberSystem, location); }
public static ClientStage Create(Person person, SubscriberSystem subscriber) { var clientStage = new ClientStage(); if (null != person.PersonClient) { clientStage.Id = person.PersonClient.Id; clientStage.ClientId = person.PersonClient.Id; } else { clientStage.Id = LiveGuid.NewGuid(); } if (null != person.PersonName) { clientStage.FirstName = person.PersonName.FirstName; clientStage.MiddleName = person.PersonName.MiddleName; clientStage.LastName = person.PersonName.LastName; clientStage.NickName = person.PersonName.NickName; if (person.Addresses.Any()) { clientStage.Landmark = person.Addresses.First().Landmark; clientStage.County = person.Addresses.First().CountyId; clientStage.SubCounty = person.Addresses.First().SubCountyId; clientStage.Ward = person.Addresses.First().WardId; } if (person.Contacts.Any()) { clientStage.Phone = !string.IsNullOrEmpty(person.Contacts.First().Phone) ? person.Contacts.First().Phone : string.Empty; } } clientStage.DateOfBirth = person.HasDOB() ? person.BirthDate.Value : new DateTime(1900, 1, 1); clientStage.DateOfBirthPrecision = person.HasDOBEstimate() ? (person.BirthDateEstimated.Value ? "EXACT" : "ESTIMATED") : "ESTIMATED"; clientStage.Sex = subscriber.GetTranslation(person.Gender, "Gender", "0").SafeConvert <int>(); var clientt = person.PersonClient; if (null != clientt) { clientStage.PracticeId = clientt.PracticeId; clientStage.KeyPop = subscriber.GetTranslation(clientt.KeyPop, "HTSKeyPopulation", "0").SafeConvert <int>(); clientStage.MaritalStatus = subscriber.GetTranslation(clientt.MaritalStatus, "HTSMaritalStatus", "0") .SafeConvert <int>(); clientStage.UserId = subscriber.GetEmrUserId(clientt.UserId); } //Education clientStage.Education = subscriber.GetTranslation(clientt.Education, "EducationalLevel", "0") .SafeConvert <int>(); clientStage.Completion = subscriber.GetTranslation(clientt.Completion, "EducationOutcome", "0") .SafeConvert <int>(); //Occupation clientStage.Occupation = subscriber.GetTranslation(clientt.Occupation, "HTSOccupation", "0") .SafeConvert <int>(); clientStage.IsIndex = person.IsHtsClient; if (clientStage.IsIndex) { var client = person.PersonClient; if (null != client.HtsEnrollment) { clientStage.Serial = client.HtsEnrollment.Identifier; clientStage.RegistrationDate = client.HtsEnrollment.RegistrationDate; } } else { clientStage.RegistrationDate = person.ContactRegDate; } return(clientStage); }
private List <SqlAction> InsertPSmart(decimal rank, List <PSmartStoreInfo> storeInfos, SubscriberSystem subscriberSystem, Location location) { var actions = new List <SqlAction>(); var maps = subscriberSystem.Maps.Where(x => x.Name == nameof(PSmartStore) && x.HasSubName()).ToList(); if (maps.Count > 0) { var mapTbl = maps.FirstOrDefault(x => x.Mode == "Single"); foreach (var result in storeInfos) { Guid mAfyId; mAfyId = result.Uuid; string sqlInitial = $@" UPDATE [{mapTbl.SubName}] SET [uuid]='{mAfyId}' WHERE uuid='{mAfyId}' IF @@ROWCOUNT=0 INSERT INTO [{mapTbl.SubName}](uuid) VALUES('{mAfyId}'); "; actions.Add(new SqlAction(rank, sqlInitial)); rank++; foreach (var subscriberMap in maps.Where(x => x.Group == 3 && x.HasSubName())) { string sql = $@" UPDATE [{mapTbl.SubName}] SET [{subscriberMap.SubField}]={GetValue(result, subscriberMap, subscriberSystem, 3)} WHERE uuid='{mAfyId}'; "; actions.Add(new SqlAction(rank, sql)); rank++; } } } return(actions); }