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); }
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); }
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); }
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); }
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; } }