public void GetMedicationRepositoryTest()
        {
            var contract = "InHealth001";
            var userid   = "123";
            var version  = 1;

            var repo =
                MedicationRepositoryFactory.GetMedicationRepository(
                    new DomainRequest {
                Context = "NG", ContractNumber = contract, UserId = userid, Version = version
            },
                    RepositoryType.MedicationMapping);

            Assert.AreEqual(repo.GetType(), typeof(MongoMedicationMappingRepository <MedicationMongoContext>));
        }
        private List <MedicationMapData> InsertMedicationMappings(List <MedicationMapData> medmaps)
        {
            Mapper.CreateMap <MEMedicationMapping, DTO.MedicationMapData>()
            .ForMember(d => d.Id, opt => opt.MapFrom(src => src.Id.ToString()))
            .ForMember(dest => dest.RecordCreatedOn, opt => opt.MapFrom(src => src.RecordCreatedOn))
            .ForMember(dest => dest.RecordCreatedBy, opt => opt.MapFrom(src => src.RecordCreatedBy.ToString()))
            .ForMember(dest => dest.LastUpdatedOn, opt => opt.MapFrom(src => src.LastUpdatedOn))
            .ForMember(dest => dest.UpdatedBy, opt => opt.MapFrom(src => src.UpdatedBy.ToString()));
            var req = new DomainRequest {
                Context = "NG", ContractNumber = "InHealth001"
            };
            var repo  = MedicationRepositoryFactory.GetMedicationRepository(req, RepositoryType.MedicationMapping);
            var MedMp = (List <MedicationMapData>)repo.InsertAll(medmaps.ToList <object>());

            return(MedMp);
        }
Beispiel #3
0
        public void BulkInsertMedicationsTest()
        {
            PutBulkInsertMedicationsRequest request = new PutBulkInsertMedicationsRequest
            {
                Context        = "NG",
                ContractNumber = "InHealth001",
                UserId         = "1234",
                Version        = 1.0,
                Medications    = GetMedDtoList()
            };
            var repo = MedicationRepositoryFactory.GetMedicationRepository(request, RepositoryType.Medication);
//            var dm = new MedicationDataManager(repo);
            var dm = new MedicationDataManager();

            dm.BulkInsertMedications(request.Medications, request);
        }
        private List <MedicationData> GetMedicationMongoList()
        {
            Mapper.CreateMap <MEMedication, DTO.MedicationData>()
            .ForMember(d => d.Id, opt => opt.MapFrom(src => src.Id.ToString()))
            .ForMember(dest => dest.RecordCreatedOn, opt => opt.MapFrom(src => src.RecordCreatedOn))
            .ForMember(dest => dest.RecordCreatedBy, opt => opt.MapFrom(src => src.RecordCreatedBy.ToString()))
            .ForMember(dest => dest.LastUpdatedOn, opt => opt.MapFrom(src => src.LastUpdatedOn))
            .ForMember(dest => dest.UpdatedBy, opt => opt.MapFrom(src => src.UpdatedBy.ToString()));

            var req = new GetAllMedicationsRequest {
                Context = "NG", ContractNumber = "InHealth001"
            };
            var repo = MedicationRepositoryFactory.GetMedicationRepository(req, RepositoryType.Medication);

            var result = repo.SelectAll().Cast <DTO.MedicationData>().Where(r => r.SubstanceName != null && r.FullName != null && r.Id != null).ToList <DTO.MedicationData>();

            return(result);
        }
        public void InitializeMedicationMappingData()
        {
            var medlist = GetMedicationMongoList();

            var medGrouping = new Dictionary <MedicationKey, List <MedicationData> >();

            //var m = new MedicationKey{  Form = "", FullName="", Route ="", Strength="", SubstanceName=""};

            // create key registrations for each med
            InitializeKeyValueMedList(medlist, medGrouping);

            // hydrate key value list.
            HydrateMedGroupings(medlist, medGrouping);

            // create a flat list of medicationmapping
            var medmaps = HydrateMedMappingList(medGrouping);

            // insert medmaps into mongo
            var smap = InsertMedicationMappings(medmaps);

            var smapKeyList = new Dictionary <MedicationKey, string>();

            smap.ForEach(mk => { smapKeyList.Add(CreateMedicationMappingKey(mk), mk.Id); });

            foreach (MedicationKey k in medGrouping.Keys)
            {
                var tKey = smapKeyList[k];
                var med  = medGrouping[k];
                med.ForEach(m => m.FamilyId = tKey);
            }

            var list = medGrouping.Values.SelectMany(x => x).ToList();

            var req = new PutMedicationMapDataRequest {
                Context = "NG", ContractNumber = "InHealth001", UserId = "5325c81f072ef705080d347e", Version = 1
            };
            var repo = MedicationRepositoryFactory.GetMedicationRepository(req, RepositoryType.Medication);

            repo.Update(list);
        }