public Raps SaveRaps(Raps domainObject) { using (var adapter = PersistenceLayer.GetDataAccessAdapter()) { var entity = Mapper.Map <Raps, RapsEntity>(domainObject); if (!adapter.SaveEntity(entity, true)) { throw new PersistenceFailureException("Could not save Raps"); } return(Mapper.Map <RapsEntity, Raps>(entity)); } }
private void ParseRapsUploaded(IEnumerable <DataRow> rows, List <RapsUploadLog> failedRapsList, long rapsUploadId, out long successCount) { var rapsUploadLogs = rows.Select(row => _rapsUploadHelper.GetUploadLog(row, rapsUploadId)); successCount = 0; if (rapsUploadLogs.IsNullOrEmpty()) { _logger.Info("No Record Found For Parsing in file"); return; } foreach (var rapsUploadLog in rapsUploadLogs) { try { if (!rapsUploadLog.IsSuccessFull) { _rapsUploadLogRepository.SaveRapsUploadLog(rapsUploadLog); failedRapsList.Add(rapsUploadLog); continue; } var customerIds = new List <long>(); if (!string.IsNullOrEmpty(rapsUploadLog.CmsHicn)) { customerIds = _customerRepository.GetCustomerIdForRaps(rapsUploadLog.CmsHicn, rapsUploadLog.FirstName, rapsUploadLog.SecondName, rapsUploadLog.MemberDob).ToList(); } if (!customerIds.Any()) { rapsUploadLog.IsSuccessFull = false; rapsUploadLog.ErrorMessage = "Customer Not found for this HICN,First Name,Last Name and Date combination"; _rapsUploadLogRepository.SaveRapsUploadLog(rapsUploadLog); failedRapsList.Add(rapsUploadLog); continue; //if (!string.IsNullOrEmpty(rapsUploadLog.MemberId)) //{ // customerIds = _customerRepository.GetCustomerIdByInsuranceId(rapsUploadLog.MemberId).ToList(); // if (!customerIds.Any()) // { // rapsUploadLog.IsSuccessFull = false; // rapsUploadLog.ErrorMessage = "Customer Not found for this CMSHICN Or MemberId"; // _rapsUploadLogRepository.SaveRapsUploadLog(rapsUploadLog); // failedRapsList.Add(rapsUploadLog); // continue; // } //} } foreach (var customerId in customerIds) { var savedRaps = _rapsRepository.GetByCustomerId(customerId).ToArray(); var isExisting = savedRaps.FirstOrDefault(x => x.IcdCode == rapsUploadLog.IcdCode && x.ServiceDate == rapsUploadLog.ServiceDate ) != null; if (!isExisting) { var rapDomain = new Raps { CmsHicn = rapsUploadLog.CmsHicn, CustomerId = customerId, ServiceDate = rapsUploadLog.ServiceDate, IcdCode = rapsUploadLog.IcdCode, MemberDob = rapsUploadLog.MemberDob, RapsUploadId = rapsUploadId, MemberId = rapsUploadLog.MemberId, IcdVersion = rapsUploadLog.IcdVersion, FirstName = rapsUploadLog.FirstName, SecondName = rapsUploadLog.SecondName, }; _rapsRepository.SaveRaps(rapDomain); } } successCount++; } catch (Exception exception) { _logger.Error(string.Format("Error on Message: {0} \n Stack Trace: {1}", exception.Message, exception.StackTrace)); } } }