Esempio n. 1
0
        public void UpdateMedicationMap_Test()
        {
            MedicationMapData data = new MedicationMapData
            {
                Id            = "54b82870d433262acc525a17",
                FullName      = "testname123",
                SubstanceName = "67894",
                Verified      = true
            };

            PutMedicationMapDataRequest request = new PutMedicationMapDataRequest
            {
                Context           = context,
                ContractNumber    = contractNumber,
                MedicationMapData = data,
                UserId            = userId,
                Version           = version
            };

            //[Route("/{Context}/{Version}/{ContractNumber}/MedicationMap/Update", "PUT")]
            PutMedicationMapDataResponse response = client.Put <PutMedicationMapDataResponse>(
                string.Format("{0}/{1}/{2}/{3}/MedicationMap/Update", url, context, version, contractNumber), request);

            Assert.IsNotNull(response);
        }
        public MedicationMapData UpdateMedicationMap(PutMedicationMapDataRequest request)
        {
            MedicationMapData result = null;
            var  repo   = StubRepositoryFactory.GetMedicationRepository(request, RepositoryType.MedicationMapping);
            bool status = (bool)repo.Update(request);

            if (status)
            {
                result = (MedicationMapData)repo.FindByID(request.MedicationMapData.Id);
            }
            return(result);
        }
Esempio n. 3
0
        public void UpdateMedicationMap_Test()
        {
            PutMedicationMapDataRequest request = new PutMedicationMapDataRequest
            {
                Context           = context,
                ContractNumber    = contractNumber,
                UserId            = userId,
                Version           = version,
                MedicationMapData = new MedicationMapData {
                    Id = "532371e4072ef721b8b05b97", FullName = "TESLA1", Verified = false, Custom = true
                }
            };
            MedicationMapData data = cm.UpdateMedicationMap(request);

            Assert.IsNull(data.TTLDate);
        }
Esempio n. 4
0
        public PutMedicationMapDataResponse Put(PutMedicationMapDataRequest request)
        {
            PutMedicationMapDataResponse response = new PutMedicationMapDataResponse {
                Version = request.Version
            };

            try
            {
                RequireUserId(request);
                response.MedicationMappingData = Manager.UpdateMedicationMap(request);
            }
            catch (Exception ex)
            {
                RaiseException(response, ex);
            }
            return(response);
        }
Esempio n. 5
0
        public MedicationMapData UpdateMedicationMap(PutMedicationMapDataRequest request)
        {
            try
            {
                MedicationMapData result = null;
                var repo = MedicationRepositoryFactory.GetMedicationRepository(request, RepositoryType.MedicationMapping);

                if (request.MedicationMapData != null)
                {
                    bool status = (bool)repo.Update(request);
                    if (status)
                    {
                        result = (MedicationMapData)repo.FindByID(request.MedicationMapData.Id);
                    }
                }
                return(result);
            }
            catch (Exception ex) { throw ex; }
        }
        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);
        }
Esempio n. 7
0
        public object Update(object entity)
        {
            bool result = false;
            PutMedicationMapDataRequest pa   = (PutMedicationMapDataRequest)entity;
            MedicationMapData           data = pa.MedicationMapData;

            try
            {
                using (MedicationMongoContext ctx = new MedicationMongoContext(ContractDBName))
                {
                    var q = MB.Query <MEMedicationMapping> .EQ(b => b.Id, ObjectId.Parse(data.Id));

                    var uv = new List <MB.UpdateBuilder>();
                    uv.Add(MB.Update.Set(MEMedicationMapping.UpdatedByProperty, ObjectId.Parse(this.UserId)));
                    uv.Add(MB.Update.Set(MEMedicationMapping.VersionProperty, pa.Version));
                    uv.Add(MB.Update.Set(MEMedicationMapping.LastUpdatedOnProperty, System.DateTime.UtcNow));
                    if (!string.IsNullOrEmpty(data.FullName))
                    {
                        uv.Add(MB.Update.Set(MEMedicationMapping.FullNameProperty, data.FullName.ToUpper()));
                    }
                    else
                    {
                        uv.Add(MB.Update.Set(MEMedicationMapping.FullNameProperty, BsonNull.Value));
                    }
                    if (!string.IsNullOrEmpty(data.SubstanceName))
                    {
                        uv.Add(MB.Update.Set(MEMedicationMapping.SubstanceNameProperty, data.SubstanceName));
                    }
                    else
                    {
                        uv.Add(MB.Update.Set(MEMedicationMapping.SubstanceNameProperty, BsonNull.Value));
                    }
                    if (!string.IsNullOrEmpty(data.Strength))
                    {
                        uv.Add(MB.Update.Set(MEMedicationMapping.StrengthProperty, data.Strength));
                    }
                    else
                    {
                        uv.Add(MB.Update.Set(MEMedicationMapping.StrengthProperty, BsonNull.Value));
                    }
                    if (!string.IsNullOrEmpty(data.Form))
                    {
                        uv.Add(MB.Update.Set(MEMedicationMapping.FormProperty, data.Form.ToUpper()));
                    }
                    else
                    {
                        uv.Add(MB.Update.Set(MEMedicationMapping.FormProperty, BsonNull.Value));
                    }
                    if (!string.IsNullOrEmpty(data.Route))
                    {
                        uv.Add(MB.Update.Set(MEMedicationMapping.RouteProperty, data.Route.ToUpper()));
                    }
                    else
                    {
                        uv.Add(MB.Update.Set(MEMedicationMapping.RouteProperty, BsonNull.Value));
                    }
                    uv.Add(MB.Update.Set(MEMedicationMapping.CustomProperty, data.Custom));
                    uv.Add(MB.Update.Set(MEMedicationMapping.VerifiedProperty, data.Verified));
                    uv.Add(MB.Update.Set(MEMedicationMapping.DeleteFlagProperty, data.DeleteFlag));
                    DataAuditType type;
                    if (data.DeleteFlag)
                    {
                        uv.Add(MB.Update.Set(MEMedicationMapping.TTLDateProperty, System.DateTime.UtcNow.AddDays(_expireDays)));
                        type = DataAuditType.Delete;
                    }
                    else
                    {
                        uv.Add(MB.Update.Set(MEMedicationMapping.TTLDateProperty, BsonNull.Value));
                        type = DataAuditType.Update;
                    }
                    IMongoUpdate update = MB.Update.Combine(uv);
                    ctx.MedicationMaps.Collection.Update(q, update);

                    AuditHelper.LogDataAudit(this.UserId,
                                             MongoCollectionName.MedicationMap.ToString(),
                                             data.Id,
                                             type,
                                             pa.ContractNumber);

                    result = true;
                }
                return(result as object);
            }
            catch (Exception) { throw; }
        }