/// <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);
        }
Exemplo n.º 2
0
        /// <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();
        }
Exemplo n.º 3
0
 /// <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)));
 }