private void UpateCustomerPreApprovedTest(CorporateCustomerEditModel model, long createdByOrgRoleUserId, long customerId) { if (model.PreApprovedTest != null && model.PreApprovedTest.Any()) { var pairs = TestType.A1C.GetNameValuePairs(); var preApprovedTestIds = pairs.Where(x => model.PreApprovedTest.Contains(x.SecondValue.ToLower())).Select(x => (long)x.FirstValue); if (preApprovedTestIds != null && preApprovedTestIds.Any()) { _preApprovedTestRepository.SavePreApprovedTests(customerId, preApprovedTestIds, createdByOrgRoleUserId); } } }
public void PollForUpdate() { var files = DirectoryOperationsHelper.GetFiles(_settings.MediaLocation + "\\PreAppprovedTest", "*PreAppprovedTest*.csv"); var createdBy = _organizationRoleUserRepository.GetOrganizationRoleUser(1); foreach (var file in files) { _logger.Info("Parsing file : " + file); DataTable table = _csvReader.ReadWithTextQualifier(file); if (table.Rows.Count <= 0) { _logger.Info("No records found."); continue; } foreach (DataRow row in table.Rows) { var clientId = GetRowValue(row, "Client_Id"); //var contractNumber = GetRowValue(row, "Contract_Number"); var preApprovedTests = GetPreApprovedTests(row, "Pre-approved tests"); if (string.IsNullOrEmpty(clientId)) // || string.IsNullOrEmpty(contractNumber) { _logger.Info("Skipping row : Client Id blank."); //or Contract Number continue; } var chaseOutbound = _chaseOutboundRepository.GetByClientId(clientId); if (chaseOutbound == null) { _logger.Info(string.Format("Chase data not found for Client Id : {0}", clientId)); continue; } if (preApprovedTests != null && preApprovedTests.Any()) { var pairs = TestType.A1C.GetNameValuePairs(); var preApprovedTestExists = pairs.Where(x => preApprovedTests.Contains(x.SecondValue.ToLower())).Select(x => x.SecondValue.ToLower()); var testNotExist = string.Empty; if (preApprovedTestExists != null && preApprovedTestExists.Any() && (preApprovedTestExists.Count() != preApprovedTests.Count())) { var testNotExistInSystem = preApprovedTests.Where(x => !preApprovedTestExists.Contains(x.ToLower())).Select(x => x).ToArray(); testNotExist = string.Join(",", testNotExistInSystem); } else if (preApprovedTestExists == null || !preApprovedTestExists.Any()) { testNotExist = string.Join(",", preApprovedTests); } if (!string.IsNullOrEmpty(testNotExist)) { _logger.Info(testNotExist + " test alias name does not exist in HIP"); continue; } var preApprovedTestIds = pairs.Where(x => preApprovedTests.Contains(x.SecondValue.ToLower())).Select(x => (long)x.FirstValue); if (preApprovedTestIds != null && preApprovedTestIds.Any()) { _preApprovedTestRepository.SavePreApprovedTests(chaseOutbound.CustomerId, preApprovedTestIds, createdBy.Id); _logger.Info(string.Format("Pre-approved tests updated for Client Id : {0}", clientId)); } } } _logger.Info("Parsed file : " + file); } }