public object FindByID(string entityID) { PatientAllergyData data = null; try { using (AllergyMongoContext ctx = new AllergyMongoContext(ContractDBName)) { List <IMongoQuery> queries = new List <IMongoQuery>(); queries.Add(Query.EQ(MEPatientAllergy.IdProperty, ObjectId.Parse(entityID))); IMongoQuery mQuery = Query.And(queries); MEPatientAllergy mePA = ctx.PatientAllergies.Collection.Find(mQuery).FirstOrDefault(); if (mePA != null) { data = AutoMapper.Mapper.Map <PatientAllergyData>(mePA); // get corresponding allergy name and type. if (data != null) { getAllergyDetails(data, ctx, mePA.AllergyId); } } } return(data); } catch (Exception) { throw; } }
public object FindByPatientId(object request) { List <PatientAllergyData> list = null; GetPatientAllergiesDataRequest dataRequest = (GetPatientAllergiesDataRequest)request; try { using (AllergyMongoContext ctx = new AllergyMongoContext(ContractDBName)) { List <IMongoQuery> queries = new List <IMongoQuery>(); queries.Add(Query.EQ(MEPatientAllergy.PatientIdProperty, ObjectId.Parse(dataRequest.PatientId))); queries.Add(Query.EQ(MEPatientAllergy.DeleteFlagProperty, false)); queries.Add(Query.EQ(MEPatientAllergy.TTLDateProperty, BsonNull.Value)); if (dataRequest.StatusIds != null && dataRequest.StatusIds.Count > 0) { queries.Add(Query.In(MEPatientAllergy.StatusProperty, new BsonArray(dataRequest.StatusIds))); } IMongoQuery mQuery = Query.And(queries); List <MEPatientAllergy> mePAs = ctx.PatientAllergies.Collection.Find(mQuery).ToList(); if (mePAs != null && mePAs.Count > 0) { list = new List <PatientAllergyData>(); List <ObjectId> aids = new List <ObjectId>(); if (dataRequest.TypeIds != null && dataRequest.TypeIds.Count > 0) { // get allergy details by typeId. List <MEAllergy> allergiesByType = ctx.Allergies.Collection.Find(Query.EQ(MEAllergy.TypeIdsProperty, new BsonArray(dataRequest.TypeIds))).ToList(); aids = allergiesByType.Select(i => i.Id).ToList(); } mePAs.ForEach(p => { MEPatientAllergy meData = null; if (dataRequest.TypeIds != null && dataRequest.TypeIds.Count > 0) { if (aids.Contains(p.AllergyId)) { meData = p; } } else { meData = p; } if (meData != null) { PatientAllergyData data = AutoMapper.Mapper.Map <PatientAllergyData>(meData); // get corresponding allergy name and type. if (data != null) { getAllergyDetails(data, ctx, p.AllergyId); } list.Add(data); } }); } } return(list); } catch (Exception) { throw; } }
public void UndoDelete(object entity) { MEPatientAllergy mePA = new MEPatientAllergy(this.UserId) { TTLDate = null, DeleteFlag = true }; }
public void Delete(object entity) { MEPatientAllergy mePA = new MEPatientAllergy(this.UserId) { TTLDate = System.DateTime.UtcNow.AddDays(7), DeleteFlag = true }; }
public object Update(object entity) { PutPatientAllergiesDataRequest pa = (PutPatientAllergiesDataRequest)entity; PatientAllergyData pt = pa.PatientAllergiesData[0]; MEPatientAllergy mePA = new MEPatientAllergy(pa.UserId); mePA.AllergyId = ObjectId.Parse(pt.AllergyId); mePA.SeverityId = ObjectId.Parse(pt.SeverityId); mePA.DeleteFlag = pt.DeleteFlag; mePA.SourceId = ObjectId.Parse(pt.SourceId); mePA.StatusId = (Status)pt.StatusId; return(true); }
public object Initialize(object newEntity) { PutInitializePatientAllergyDataRequest request = (PutInitializePatientAllergyDataRequest)newEntity; PatientAllergyData data = null; try { MEPatientAllergy mePA = new MEPatientAllergy(this.UserId) { PatientId = ObjectId.Parse(request.PatientId), AllergyId = ObjectId.Parse(request.AllergyId), TTLDate = System.DateTime.UtcNow.AddDays(_initializeDays), SystemName = request.SystemName, DeleteFlag = false }; using (AllergyMongoContext ctx = new AllergyMongoContext(ContractDBName)) { ctx.PatientAllergies.Collection.Insert(mePA); AuditHelper.LogDataAudit(this.UserId, MongoCollectionName.PatientAllergy.ToString(), mePA.Id.ToString(), DataAuditType.Insert, request.ContractNumber); data = new PatientAllergyData { Id = mePA.Id.ToString(), PatientId = mePA.PatientId.ToString(), AllergyId = mePA.AllergyId.ToString(), SystemName = mePA.SystemName }; // get corresponding allergy name and type. getAllergyDetails(data, ctx, mePA.AllergyId); } return(data); } catch (Exception) { throw; } }
public object Initialize(object newEntity) { PutInitializePatientAllergyDataRequest request = (PutInitializePatientAllergyDataRequest)newEntity; PatientAllergyData data = null; MEPatientAllergy mePA = new MEPatientAllergy(this.UserId) { PatientId = ObjectId.Parse(request.PatientId), AllergyId = ObjectId.Parse(request.AllergyId), TTLDate = System.DateTime.UtcNow.AddDays(1), SystemName = request.SystemName, DeleteFlag = false }; data = new PatientAllergyData { Id = mePA.Id.ToString(), PatientId = mePA.PatientId.ToString(), AllergyId = mePA.AllergyId.ToString(), SystemName = mePA.SystemName }; return(data); }