public object FindByName(object request) { PostPatientMedFrequencyDataRequest dataRequest = (PostPatientMedFrequencyDataRequest)request; string id = null; try { using (MedicationMongoContext ctx = new MedicationMongoContext(ContractDBName)) { var query = from meFreq in ctx.PatientMedFrequencies.AsQueryable <MEPatientMedFrequency>() where meFreq.Name.ToLower() == dataRequest.PatientMedFrequencyData.Name.ToLower() && meFreq.DeleteFlag == false && meFreq.TTLDate == BsonNull.Value && meFreq.PatientId == ObjectId.Parse(dataRequest.PatientMedFrequencyData.PatientId) select meFreq; if (query.FirstOrDefault() != null) { id = query.FirstOrDefault().Id.ToString(); } } return(id); } catch (Exception) { throw; } }
public PostPatientMedFrequencyDataResponse Post(PostPatientMedFrequencyDataRequest request) { var response = new PostPatientMedFrequencyDataResponse { Version = request.Version }; try { RequireUserId(request); response.Id = Manager.InsertPatientMedFrequency(request); } catch (Exception ex) { RaiseException(response, ex); } return(response); }
public string InsertPatientMedFrequency(PostPatientMedFrequencyDataRequest request) { string id = null; try { var repo = MedicationRepositoryFactory.GetMedicationRepository(request, RepositoryType.PatientMedFrequency); if (request.PatientMedFrequencyData != null) { // Check if frequency by the same name exists before inserting the new one. id = repo.FindByName(request) as string; if (string.IsNullOrEmpty(id)) { id = repo.Insert(request) as string; } } return(id); } catch (Exception ex) { throw ex; } }
public void InsertPatientMedFrequency_Test() { PatientMedFrequencyData data = new PatientMedFrequencyData { Name = "abc", PatientId = "5325da88d6a4850adcbba68a", }; PostPatientMedFrequencyDataRequest request = new PostPatientMedFrequencyDataRequest { Context = context, ContractNumber = contractNumber, PatientMedFrequencyData = data, UserId = userId, Version = version }; //[Route("/{Context}/{Version}/{ContractNumber}/PatientMedSupp/Frequency/Insert", "POST")] PostPatientMedFrequencyDataResponse response = client.Post <PostPatientMedFrequencyDataResponse>( string.Format("{0}/{1}/{2}/{3}/PatientMedSupp/Frequency/Insert", url, context, version, contractNumber), request); Assert.IsNotNull(response); }