コード例 #1
0
        public void MetricToImperialLengthTests()
        {
            Assert.AreEqual(5, MeasurementConverter.ConvertLength(12.7, MeasurementSystem.Metric, MeasurementSystem.Imperial), .001);

            Assert.AreEqual(3.5, MeasurementConverter.ConvertLength(8.89, MeasurementSystem.Metric, MeasurementSystem.Imperial), .001);

            Assert.AreEqual(4, MeasurementConverter.ConvertLength(10.16, MeasurementSystem.Metric, MeasurementSystem.Imperial), .001);
        }
コード例 #2
0
        public void ImperialToMetricLengthTests()
        {
            Assert.AreEqual(12.7, MeasurementConverter.ConvertLength(5, MeasurementSystem.Imperial, MeasurementSystem.Metric), .001);

            Assert.AreEqual(8.89, MeasurementConverter.ConvertLength(3.5, MeasurementSystem.Imperial, MeasurementSystem.Metric), .001);

            Assert.AreEqual(10.16, MeasurementConverter.ConvertLength(4, MeasurementSystem.Imperial, MeasurementSystem.Metric), .001);
        }
コード例 #3
0
        public void ConversionBetweenSameSourceAndDestinationTests()
        {
            Assert.AreEqual(18, MeasurementConverter.ConvertWeight(18, MeasurementSystem.Imperial, MeasurementSystem.Imperial), .01);

            Assert.AreEqual(6.577, MeasurementConverter.ConvertWeight(6.577, MeasurementSystem.Metric, MeasurementSystem.Metric), .01);

            Assert.AreEqual(14, MeasurementConverter.ConvertLength(14, MeasurementSystem.Imperial, MeasurementSystem.Imperial), .001);

            Assert.AreEqual(10.16, MeasurementConverter.ConvertLength(10.16, MeasurementSystem.Metric, MeasurementSystem.Metric), .001);
        }
コード例 #4
0
        public AppUserDTO Handle()
        {
            int currentUserId = _userAccessor.GetCurrentUserId();

            AppUser    appUser    = _bodyFitTrackerContext.AppUsers.Where(x => x.AppUserId == currentUserId).First();
            AppUserDTO appUserDto = _mapper.Map <AppUser, AppUserDTO>(appUser);

            appUserDto.MeasurementPreference = new MeasurementSystemDTO(appUser.MeasurementSystemPreference);
            appUserDto.Height = MeasurementConverter.ConvertLength(appUser.Height, MeasurementSystem.Imperial, appUser.MeasurementSystemPreference);
            return(appUserDto);
        }
コード例 #5
0
        public void Handle(ChangeProfileSettingsRequest changeProfileSettingsRequest)
        {
            int     currentUserId = _userAccessor.GetCurrentUserId();
            AppUser appUser       = _bodyFitTrackerContext.AppUsers.Where(x => x.AppUserId == currentUserId).First();

            appUser.Email = changeProfileSettingsRequest.Email;
            // all units must be in imperial in the database
            appUser.Height = MeasurementConverter.ConvertLength(changeProfileSettingsRequest.Height, changeProfileSettingsRequest.UnitsOfMeasure, MeasurementSystem.Imperial);
            appUser.MeasurementSystemPreference = changeProfileSettingsRequest.UnitsOfMeasure;

            _bodyFitTrackerContext.SaveChanges();
        }
コード例 #6
0
        private void TryEditingMeasurement(CreateOrEditBodyMeasurementRequest request)
        {
            int currentUserId = _userAccessor.GetCurrentUserId();
            Dictionary <string, string> errors = new Dictionary <string, string>();
            AppUser appUser = _bodyFitTrackerContext.AppUsers.Where(x => x.AppUserId == currentUserId).First();

            BodyMeasurement bodyMeasurementToEdit = appUser.BodyMeasurements.Where(x => x.BodyMeasurementId ==
                                                                                   request.IdOfBodyMeasurementToEdit).FirstOrDefault();

            if (bodyMeasurementToEdit == null)
            {
                errors.Add("", $"The bodymeasurement with id {request.IdOfBodyMeasurementToEdit} was not found");
                throw new RestException(HttpStatusCode.NotFound, errors);
            }

            // all measurements in the database should be in imperial units

            MeasurementSystem sourceUnits      = appUser.MeasurementSystemPreference;
            MeasurementSystem destinationUnits = MeasurementSystem.Imperial;

            bodyMeasurementToEdit.NeckCircumference =
                MeasurementConverter.ConvertLength(request.NeckCircumference, sourceUnits, destinationUnits);

            bodyMeasurementToEdit.WaistCircumference =
                MeasurementConverter.ConvertLength(request.WaistCircumference,
                                                   sourceUnits, destinationUnits);

            if (request.HipCircumference.HasValue)
            {
                bodyMeasurementToEdit.HipCircumference =
                    MeasurementConverter.ConvertLength((double)request.HipCircumference, sourceUnits, destinationUnits);
            }
            bodyMeasurementToEdit.Height =
                MeasurementConverter.ConvertLength(request.Height, sourceUnits, destinationUnits);

            bodyMeasurementToEdit.Weight =
                MeasurementConverter.ConvertWeight(request.Weight, sourceUnits, destinationUnits);

            bodyMeasurementToEdit.DateAdded = request.DateAdded;

            bodyMeasurementToEdit.BodyFatPercentage = BodyFatPercentageCalculator.CalculateBodyFatPercentage(bodyMeasurementToEdit);

            _bodyFitTrackerContext.SaveChanges();
        }