示例#1
0
        public MedicationUploadLog SaveMedicationUploadLog(MedicationUploadLog domainObject)
        {
            using (var adapter = PersistenceLayer.GetDataAccessAdapter())
            {
                var entity = AutoMapper.Mapper.Map <MedicationUploadLog, MedicationUploadLogEntity>(domainObject);
                if (!adapter.SaveEntity(entity, true))
                {
                    throw new PersistenceFailureException("Could not save Medication Upload ");
                }

                return(AutoMapper.Mapper.Map <MedicationUploadLogEntity, MedicationUploadLog>(entity));
            }
        }
        public MedicationUploadLog GetUploadLog(DataRow row, long medicationUploadId)
        {
            var serviceDate = CovertToDate(GetRowValue(row, MedicationUploadColumn.DateOfService));
            var memberDob   = CovertToDate(GetRowValue(row, MedicationUploadColumn.MemberDob));

            var medicationUploadLog = new MedicationUploadLog
            {
                CmsHicn     = GetRowValue(row, MedicationUploadColumn.Hicn).Trim(),
                ServiceDate = serviceDate == null?GetRowValue(row, MedicationUploadColumn.DateOfService) : serviceDate.Value.ToString("MM/dd/yyyy"),
                                  MemberDob = memberDob == null?GetRowValue(row, MedicationUploadColumn.MemberDob) : memberDob.Value.ToString("MM/dd/yyyy"),
                                                  IsSuccessFull      = false,
                                                  MemberId           = GetRowValue(row, MedicationUploadColumn.MemberId).Trim(),
                                                  NdcProductCode     = GetRowValue(row, MedicationUploadColumn.NdcText).Trim(),
                                                  MedicationUploadId = medicationUploadId,
                                                  ErrorMessage       = null
            };

            if (serviceDate != null && !string.IsNullOrEmpty(medicationUploadLog.NdcProductCode) &&
                !(string.IsNullOrEmpty(medicationUploadLog.MemberId) && string.IsNullOrEmpty(medicationUploadLog.CmsHicn)) &&
                memberDob != null)
            {
                medicationUploadLog.IsSuccessFull = true;
            }
            else
            {
                var error = new StringBuilder();
                if (serviceDate == null)
                {
                    error.Append(MedicationUploadColumn.DateOfService + ", ");
                }
                if (string.IsNullOrEmpty(medicationUploadLog.NdcProductCode))
                {
                    error.Append(MedicationUploadColumn.NdcText + ", ");
                }
                if (memberDob == null)
                {
                    error.Append(MedicationUploadColumn.MemberDob + " ");
                }
                error.Append("not provided or invalid");
                medicationUploadLog.ErrorMessage = error.ToString();
            }

            return(medicationUploadLog);
        }
示例#3
0
        private void SaveDataForCustomer(long customerId, MedicationUploadLog medicationUploadLog, long uploadedBy, Ndc ndcData,
                                         string unitAlias, DateTime memberDob, DateTime serviceDate)
        {
            //no medication present for customer , so save what we get
            var medicationNew = new Medication
            {
                CustomerId = customerId,

                CreatedBy   = uploadedBy,
                DateCreated = DateTime.Now,

                MemberDob      = memberDob,
                MemberId       = medicationUploadLog.MemberId,
                ServiceDate    = serviceDate,
                Hicn           = medicationUploadLog.CmsHicn,
                NdcProductCode = medicationUploadLog.NdcProductCode,

                ProprietaryName = ndcData.ProductName,
                Unit            = unitAlias,
                IsActive        = true,
            };

            _medicationRepository.SaveMedication(medicationNew);
        }