Spontaneous.WebApp.Services.CarbohydratesVerification.UserMealProfileFactory.CreaeteFromMealAndUserData C# (CSharp) Метод

CreaeteFromMealAndUserData() публичный Метод

public CreaeteFromMealAndUserData ( Meal userMeal, string userName, SpontaneousUserModel userData ) : UserMealProfile
userMeal Spontaneous.DataModel.Meal
userName string
userData Spontaneous.DataModel.SpontaneousUserModel
Результат Spontaneous.DataModel.UserMealProfile
        public UserMealProfile CreaeteFromMealAndUserData(Meal userMeal, string userName, SpontaneousUserModel userData)
        {
            log.InfoFormat("[CreaeteFromMealAndUserData] userMeal.Id={0}, userName={1}.", userMeal.Id.ToString(), userName);
            UserMealProfile mealProfile = new UserMealProfile()
            {
                MealId = userMeal.Id,
                UserName = userName,
                ExpectedCarbsAmount = userMeal.CarbAmount
            };

            if (userData.BaseInsulinCalcProfile != null)
            {
                mealProfile.UserInsulinProfile = userData.BaseInsulinCalcProfile;
                AlgorithmCalculations.AlgorithmResult algResult =  AlgorithmCalculations.CalcMealCarbsDeviation(userMeal, mealProfile.UserInsulinProfile);
                if (algResult.Status == "Success")
                {
                    mealProfile.CalculatedCarbsDeviation = algResult.Result;
                    mealProfile.MealCarbsAmount = mealProfile.ExpectedCarbsAmount + mealProfile.CalculatedCarbsDeviation;
                }
            }
            return mealProfile;
        }

Usage Example

        public void CreaeteFromMealAndUserDataTest_ShouldCreateUserMealProfileObjectWithAllRelevantDataOfInputParameters()
        {
            Meal userMeal = new Meal()
            {
                Id = Guid.NewGuid(),
                PreMealSugarLevel = 290,
                PostMealSugarLevel = 170
            };
            string userName = "******";
            UserBaseInsulinCalcProfile insulineProfile = new RapidInsulinProfile()
            {
                UnitReductionValue = 40,
                InsulinCarbohydrateRatio = 12.5,
                MaxSugarRange = 150
            };
            SpontaneousUserModel userData = new SpontaneousUserModel()
            {
                BaseInsulinCalcProfile = insulineProfile,
            };

            //act
            UserMealProfileFactory mealFactory = new UserMealProfileFactory();
            UserMealProfile mealProfile = mealFactory.CreaeteFromMealAndUserData(userMeal, userName, userData);

            //assert
            Assert.IsNotNull(mealProfile);
            Assert.AreEqual(mealProfile.MealId, userMeal.Id);
            Assert.AreEqual(mealProfile.UserName, userName);
            Assert.AreEqual(mealProfile.UserInsulinProfile, insulineProfile);
        }
All Usage Examples Of Spontaneous.WebApp.Services.CarbohydratesVerification.UserMealProfileFactory::CreaeteFromMealAndUserData