/// <summary> /// Copies list of elements from CI customer to specified customer. /// </summary> /// <param name="customerId"></param> /// <returns></returns> public async Task <IList <AssessmentElement> > InitDefaultAssessmentElements(int customerId) { var ciAssessments = await this.GetAll(Settings.CICustomerId); var result = new List <AssessmentElement>(); foreach (var assessment in ciAssessments.Results) { var entity = new AssessmentElement { Type = ElementType.Assessment, AssessmentType = assessment.AssessmentType, Name = assessment.Name, CustomerId = customerId }; this.assessmentElementsRepository.Insert(entity); result.Add(entity); } await this.unitOfWork.SaveAsync(); return(result); }
/// <summary> /// Seeds the measurement elements. /// </summary> /// <param name="context">The context.</param> private void SeedMeasurementElements(HealthLibraryServiceDbContext context) { #region Measurements var measurementElement1 = new MeasurementElement { Id = SequentialGuidGenerator.Generate(), MeasurementType = MeasurementType.BloodGlucose, Name = "Glucose Meter", Type = ElementType.Measurement, CustomerId = Settings.CICustomerId }; var measurementElement2 = new MeasurementElement { Id = SequentialGuidGenerator.Generate(), MeasurementType = MeasurementType.OxygenSaturation, Name = "Pulse Oximeter", Type = ElementType.Measurement, CustomerId = Settings.CICustomerId }; var measurementElement3 = new MeasurementElement { Id = SequentialGuidGenerator.Generate(), MeasurementType = MeasurementType.Temperature, Name = "Thermometer", Type = ElementType.Measurement, CustomerId = Settings.CICustomerId }; var measurementElement4 = new MeasurementElement { Id = SequentialGuidGenerator.Generate(), MeasurementType = MeasurementType.BloodPressure, Name = "Blood Pressure Monitor", Type = ElementType.Measurement, CustomerId = Settings.CICustomerId }; var measurementElement5 = new MeasurementElement { Id = SequentialGuidGenerator.Generate(), MeasurementType = MeasurementType.PeakFlow, Name = "Peak Flow Meter", Type = ElementType.Measurement, CustomerId = Settings.CICustomerId }; var measurementElement6 = new MeasurementElement { Id = SequentialGuidGenerator.Generate(), MeasurementType = MeasurementType.Weight, Name = "Weight Scale", Type = ElementType.Measurement, CustomerId = Settings.CICustomerId }; var measurementElement7 = new MeasurementElement { Id = SequentialGuidGenerator.Generate(), MeasurementType = MeasurementType.Pedometer, Name = "Pedometer", Type = ElementType.Measurement, CustomerId = Settings.CICustomerId }; if (!IsMeasurementExists(context, measurementElement1)) { context.MeasurementElements.AddOrUpdate(measurementElement1); } if (!IsMeasurementExists(context, measurementElement2)) { context.MeasurementElements.AddOrUpdate(measurementElement2); } if (!IsMeasurementExists(context, measurementElement3)) { context.MeasurementElements.AddOrUpdate(measurementElement3); } if (!IsMeasurementExists(context, measurementElement4)) { context.MeasurementElements.AddOrUpdate(measurementElement4); } if (!IsMeasurementExists(context, measurementElement5)) { context.MeasurementElements.AddOrUpdate(measurementElement5); } if (!IsMeasurementExists(context, measurementElement6)) { context.MeasurementElements.AddOrUpdate(measurementElement6); } if (!IsMeasurementExists(context, measurementElement7)) { context.MeasurementElements.AddOrUpdate(measurementElement7); } #endregion #region Assessments var assessmentElement1 = new AssessmentElement { Id = SequentialGuidGenerator.Generate(), AssessmentType = AssessmentType.Stethoscope, Name = "Stethoscope", Type = ElementType.Assessment, CustomerId = Settings.CICustomerId }; if (!IsAssessmentExists(context, assessmentElement1)) { context.AssessmentElements.AddOrUpdate(assessmentElement1); } #endregion #region Answer Sets if (!IsOpenEndedAnswerSetExists(context, Settings.CICustomerId)) { var openEndedAnswerSet = new AnswerSet { CustomerId = Settings.CICustomerId, IsDeleted = false, Name = "Open Ended Answer Set", Type = AnswerSetType.OpenEnded }; context.AnswerSets.Add(openEndedAnswerSet); } #endregion context.SaveChanges(); }
/// <summary> /// Determines if Assessment already exists in context. /// </summary> /// <param name="context"></param> /// <param name="element"></param> /// <returns></returns> public bool IsAssessmentExists(HealthLibraryServiceDbContext context, AssessmentElement element) { return (context.AssessmentElements.Any( e => e.CustomerId == element.CustomerId && e.AssessmentTypeString.Equals(element.AssessmentTypeString))); }