Exemplo n.º 1
0
        /// <summary>
        /// edit current user's workout
        /// </summary>
        private void EditWorkout(object obj)
        {
            PhysicalActivity activity = new PhysicalActivity();

            activity = null;
            SetProgressBar(activity);

            RightUserControl = null;

            if (RightUserControl == null)
            {
                EditWorkoutViewModel editWorkoutViewModel = new EditWorkoutViewModel(CurrentUser, this);
                EditWorkout          editWorkout          = new EditWorkout
                {
                    DataContext = editWorkoutViewModel
                };

                RightUserControl = editWorkout;
                WelcomeMessage   = null;
            }
            else
            {
                RightUserControl = null;
            }
        }
Exemplo n.º 2
0
        public Profile(
            int age,
            int weight,
            int height,
            byte sex,
            PhysicalActivity physicalActivityType)
        {
            if (age <= 0)
            {
                throw new ArgumentException($"{nameof(age)} can't be lass than 0");
            }
            if (weight <= 0)
            {
                throw new ArgumentException($"{nameof(weight)} can't be lass than 0");
            }
            if (height <= 0)
            {
                throw new ArgumentException($"{nameof(height)} can't be lass than 0");
            }

            Age    = age;
            Weight = weight;
            Height = height;
            Sex    = sex;
            PhysicalActivityType = physicalActivityType;
        }
Exemplo n.º 3
0
        /// <summary>
        /// deletes PhysicalACtivity from user
        /// </summary>
        public void DeletePhysicalActivity(PhysicalActivity activity)
        {
            string connectionString = SqlDataSettings.ConnectionString;

            var sb = new StringBuilder("DELETE FROM PhysicalActivities");

            sb.Append(" WHERE ID = ").Append(activity.ID);
            string commandString = sb.ToString();

            using (SqlConnection sqlConnection = new SqlConnection(connectionString))
            {
                try
                {
                    SqlDataAdapter sqlAdapter = new SqlDataAdapter();
                    sqlConnection.Open();
                    sqlAdapter.InsertCommand = new SqlCommand(commandString, sqlConnection);
                    sqlAdapter.InsertCommand.ExecuteNonQuery();
                }
                catch (Exception msg)
                {
                    var exceptionMessage = msg.Message;
                    throw;
                }
            }
        }
Exemplo n.º 4
0
        /// <summary>
        /// adds a workout to user
        /// </summary>
        private void AddWorkout(object obj)
        {
            Message      = null;
            ErrorMessage = null;
            AddWorkout addWorkout = new AddWorkout
            {
                DataContext = this
            };

            try
            {
                if (!String.IsNullOrEmpty(NameToAdd) && CategoryToAdd != null)
                {
                    PhysicalActivity physicalActivity = CreatePhysicalActivity();
                    _myWellnessAppBusiness.AddExerciseToUser(CurrentUser, physicalActivity);
                    _currentUser.PhysicalActivities = _myWellnessAppBusiness.GetCurrentUserPhysicalActivities(CurrentUser);
                    ResetInputBoxes();
                    ErrorMessage = null;
                    Message      = "Success!";
                    if (obj is System.Windows.Controls.UserControl)
                    {
                        (obj as System.Windows.Controls.UserControl).Content = addWorkout;
                    }
                }
                else
                {
                    ErrorMessage = "NAME AND CATEGORY MUST BE FILLED IN";
                }
            }
            catch (Exception e)
            {
                string m = e.Message;
                throw;
            }
        }
Exemplo n.º 5
0
        /// <summary>
        /// add Physical Activity to database
        /// </summary>
        public void AddPhysicalActivity(PhysicalActivity activity)
        {
            string connectionString = SqlDataSettings.ConnectionString;

            var sb = new StringBuilder("INSERT INTO PhysicalActivities");

            sb.Append("([UserID], [ExcersiseName], [Reps], [Sets], [Weight], [Duration], [Goal], [ExcersiseType])");
            sb.Append("VALUES (");
            sb.Append("'").Append(activity.UserID).Append("',");
            sb.Append("'").Append(activity.ExcerciseName).Append("',");
            sb.Append("'").Append(activity.Repetitions).Append("',");
            sb.Append("'").Append(activity.Sets).Append("',");
            sb.Append("'").Append(activity.Weight).Append("',");
            sb.Append("'").Append(activity.Duration).Append("',");
            sb.Append("'").Append(activity.Goal).Append("',");
            sb.Append("'").Append(activity.TypeOfExercise.ToString()).Append("')");

            string commandString = sb.ToString();

            using (SqlConnection sqlConnection = new SqlConnection(connectionString))
            {
                try
                {
                    SqlDataAdapter sqlAdapter = new SqlDataAdapter();
                    sqlConnection.Open();
                    sqlAdapter.InsertCommand = new SqlCommand(commandString, sqlConnection);
                    sqlAdapter.InsertCommand.ExecuteNonQuery();
                }
                catch (Exception msg)
                {
                    var exceptionMessage = msg.Message;
                    throw;
                }
            }
        }
Exemplo n.º 6
0
        /// <summary>
        /// updates Physical Activity
        /// </summary>
        public void UpdatePhysicalActivity(PhysicalActivity activity)
        {
            string connectionString = SqlDataSettings.ConnectionString;

            var sb = new StringBuilder("UPDATE PhysicalActivities SET ");

            sb.Append("ExcersiseName = '").Append(activity.ExcerciseName).Append("', ");
            sb.Append("Reps = '").Append(activity.Repetitions).Append("', ");
            sb.Append("Sets = '").Append(activity.Sets).Append("', ");
            sb.Append("Weight = '").Append(activity.Weight).Append("', ");
            sb.Append("Duration = '").Append(activity.Duration).Append("', ");
            sb.Append("Goal = '").Append(activity.Goal).Append("', ");
            sb.Append("ExcersiseType = '").Append(activity.Repetitions.ToString()).Append("' ");
            sb.Append(" WHERE ID = ").Append(activity.ID);

            string commandString = sb.ToString();

            using (SqlConnection sqlConnection = new SqlConnection(connectionString))
            {
                try
                {
                    SqlDataAdapter sqlAdapter = new SqlDataAdapter();
                    sqlConnection.Open();
                    sqlAdapter.InsertCommand = new SqlCommand(commandString, sqlConnection);
                    sqlAdapter.InsertCommand.ExecuteNonQuery();
                }
                catch (Exception msg)
                {
                    var exceptionMessage = msg.Message;
                    throw;
                }
            }
        }
Exemplo n.º 7
0
        public ProductTypeAggregate(PhysicalActivity physicalActivity, Product[] products)
        {
            if (products == null || !products.Any())
            {
                throw new ArgumentException($"{nameof(products)} can't be empty or null");
            }

            PhysicalActivity = physicalActivity;
            Products         = products;
        }
        public void SetCyclingToPhysicalActivitySuccessfully()
        {
            PhysicalActivity physicalActivity = new PhysicalActivity();

            physicalActivity.Date            = DateTime.Now;
            physicalActivity.Name            = "Cycling";
            physicalActivity.DistanceCovered = 10.9;

            Assert.Equal("Cycling", physicalActivity.Name);
            Assert.Equal(10.9, physicalActivity.DistanceCovered);
        }
        public void SetSwimmingToPhysicalActivitySuccessfully()
        {
            PhysicalActivity physicalActivity = new PhysicalActivity();

            physicalActivity.Date            = DateTime.Now;
            physicalActivity.Name            = "Swimming";
            physicalActivity.DistanceCovered = 1.5;

            Assert.Equal("Swimming", physicalActivity.Name);
            Assert.Equal(1.5, physicalActivity.DistanceCovered);
        }
Exemplo n.º 10
0
        public void SetRunningToPhysicalActivitySuccessfully()
        {
            PhysicalActivity physicalActivity = new PhysicalActivity();

            physicalActivity.Date            = DateTime.Now;
            physicalActivity.Name            = "Run";
            physicalActivity.DistanceCovered = 5.5;

            Assert.Equal("Run", physicalActivity.Name);
            Assert.Equal(5.5, physicalActivity.DistanceCovered);
        }
Exemplo n.º 11
0
        public void SetWalkingToPhysicalActivitySuccessfully()
        {
            PhysicalActivity physicalActivity = new PhysicalActivity();

            physicalActivity.Date            = DateTime.Now;
            physicalActivity.Name            = "Walk";
            physicalActivity.DistanceCovered = 2.5;

            Assert.Equal("Walk", physicalActivity.Name);
            Assert.Equal(2.5, physicalActivity.DistanceCovered);
        }
Exemplo n.º 12
0
 /// <summary>
 /// updates a physical activity
 /// </summary>
 public void UpdatePhysicalActivity(PhysicalActivity activity)
 {
     try
     {
         _dataService.UpdatePhysicalActivity(activity);
     }
     catch (Exception e)
     {
         string m = e.Message;
         throw;
     }
 }
        public PhysicalActivity GetPhysicalActivity(PhysicalActivityViewModel viewModel)
        {
            var result = new PhysicalActivity
            {
                Name            = viewModel.Name,
                Date            = DateTime.Now,
                DistanceCovered = viewModel.DistanceCovered,
                TimeEnded       = viewModel.TimeEnded,
                TimeStarted     = viewModel.TimeStarted,
            };

            return(result);
        }
        public PhysicalActivityViewModel GetPhysicalActivityViewModel(PhysicalActivity physicalActivity)
        {
            var result = new PhysicalActivityViewModel
            {
                Name            = physicalActivity.Name,
                Date            = DateTime.Now,
                DistanceCovered = physicalActivity.DistanceCovered,
                TimeEnded       = physicalActivity.TimeEnded,
                TimeStarted     = physicalActivity.TimeStarted,
            };

            return(result);
        }
Exemplo n.º 15
0
        public static double TotalCaloricDemand(UserProfile userProfile, PhysicalActivity physicalActivity, Goal goal)
        {
            double totalBmr = BmrCalculate(userProfile);

            switch (physicalActivity)
            {
            case PhysicalActivity.ExtremelyInactive:
                break;

            case PhysicalActivity.Inactive:
                totalBmr = totalBmr * 1.2;
                break;

            case PhysicalActivity.ModeratelyActive:
                totalBmr = totalBmr * 1.4;
                break;

            case PhysicalActivity.Active:
                totalBmr = totalBmr * 1.6;
                break;

            case PhysicalActivity.VigorouslyActive:
                totalBmr = totalBmr * 1.8;
                break;

            case PhysicalActivity.ExtremelyActive:
                totalBmr = totalBmr * 2.0;
                break;
            }


            switch (goal)
            {
            case Goal.LoseWeight:
                totalBmr = totalBmr - 300;
                break;

            case Goal.KeepWeight:
                break;

            case Goal.GetMuscles:
                totalBmr = totalBmr + 300;
                break;
            }
            return(totalBmr);
        }
Exemplo n.º 16
0
        protected override void ExecuteRequest(HttpContext context)
        {
            (bool isOk, User user) = CheckClaimsForUser(Request, context, _userRepository);
            if (!isOk || user == null)
            {
                return;
            }

            PhysicalActivity PA = _physicalActivitiesRepository.GetPhysicalActivity(Request.Name);

            if (PA == null)
            {
                context.Response.StatusCode = StatusCodes.Status204NoContent;
                return;
            }

            PhysicalActivityEntry PAEntry = _physicalActivitiesEntryRepository.Insert(new PhysicalActivityEntry()
            {
                UserId = user.Id,
                PhysicalActivitiesId = PA.Id,
                DatetimeStart        = DateTime.Parse(Request.DateTimeStart),
                DatetimeEnd          = DateTime.Parse(Request.DateTimeEnd)
            }).GetAwaiter().GetResult();

            if (PAEntry != null)
            {
                // update all quests based on datas
                var quests = _questRepository.Get(user, _questTypeRepository, QuestState.InProgress).GetAwaiter().GetResult();
                foreach (var quest in quests)
                {
                    var questHandler = QuestHandlers.Create(quest, user, _questTypeRepository);
                    questHandler.Update(PhysicalActivityQuestHandler.PHYSICAL_ACTIVTY_KEY, "1");
                    _questRepository.Update(quest).GetAwaiter().GetResult();
                }

                string PAEntryJson = JsonSerializer.Serialize(PAEntry);
                context.Response.StatusCode = StatusCodes.Status200OK;
                context.Response.WriteAsync(PAEntryJson).GetAwaiter().GetResult();
            }
            else
            {
                context.Response.StatusCode = StatusCodes.Status204NoContent;
            }
        }
Exemplo n.º 17
0
        private double GetPhysicalActivityRate(PhysicalActivity activity)
        {
            switch (activity)
            {
            case PhysicalActivity.Low:
                return(1.2);

            case PhysicalActivity.Small:
                return(1.4);

            case PhysicalActivity.Average:
                return(1.6);

            case PhysicalActivity.Tall:
                return(1.7);
            }

            throw new ArgumentException($"{nameof(activity)} haven't found any type");
        }
Exemplo n.º 18
0
        /// <summary>
        /// Определяет все принятные параметры и вычисляет конечные значения суточного потребления калорий
        /// </summary>
        /// <returns>суточное потребление</returns>
        public static string GetCalculateCalories(bool sex, double age, double weight, double height, Activity activity, Plan plan, EFormula formula)
        {
            var coef          = PhysicalActivity.GetCoefficient(activity);
            int preplanResult = formula switch
            {
                EFormula.HarrisBenedict => (int)Formula.HarrisBenedict(sex, weight, height, age, coef),
                EFormula.MifflinSanGeora => (int)Formula.MifflinSanGeora(sex, weight, height, age, coef),
                _ => throw new Exception("Formula wasn't chosen"),
            };

            var result = plan switch
            {
                Plan.loss => $"{(int)(preplanResult * 0.85)}-{preplanResult}",
                Plan.maintaining => $"{preplanResult}",
                Plan.gain => $"{preplanResult}-{(int)(preplanResult * 1.15)}",
                _ => throw new Exception("Plan wasn't chosen"),
            };

            return(result);
        }
Exemplo n.º 19
0
 /// <summary>
 /// adds a workout to the user
 /// </summary>
 public void AddExerciseToUser(User user, PhysicalActivity physicalActivity)
 {
     try
     {
         if (physicalActivity != null)
         {
             using (UserRepository userRepository = new UserRepository())
             {
                 userRepository.AddPhysicalActivity(physicalActivity);
             }
             FileIOStatus = FileIoMessage.Complete;
         }
     }
     catch (Exception e)
     {
         string m = e.Message;
         FileIOStatus = FileIoMessage.FileAccessError;
         throw;
     }
     //user.PhysicalActivities.Add(physicalActivity);
 }
Exemplo n.º 20
0
        protected override void ExecuteRequest(HttpContext context)
        {
            if (string.IsNullOrWhiteSpace(Request.Name) || Request.CalPerKgPerHour == null)
            {
                context.Response.StatusCode = StatusCodes.Status204NoContent;
            }

            PhysicalActivity physicalActivity = _physicalActivitiesRepository.Insert(new PhysicalActivity()
            {
                Name            = Request.Name,
                CalPerKgPerHour = (decimal)Request.CalPerKgPerHour
            }).GetAwaiter().GetResult();

            if (physicalActivity != null)
            {
                string physicalActivityJson = JsonSerializer.Serialize(physicalActivity);
                context.Response.StatusCode = StatusCodes.Status200OK;
                context.Response.WriteAsync(physicalActivityJson).GetAwaiter().GetResult();
            }
            else
            {
                context.Response.StatusCode = StatusCodes.Status400BadRequest;
            }
        }
Exemplo n.º 21
0
        /// <summary>
        /// sets the progress bar user control
        /// </summary>
        public void SetProgressBar(PhysicalActivity activity)
        {
            LeftUserControl = null;

            if (LeftUserControl == null && activity != null)
            {
                WorkoutProgressBarViewModel workoutProgressBar = new WorkoutProgressBarViewModel(CurrentUser, activity);
                WorkoutProgressBar          progressBar        = new WorkoutProgressBar()
                {
                    DataContext = workoutProgressBar
                };

                LeftUserControl = progressBar;
                WelcomeMessage  = null;
            }
            else if (activity == null)
            {
                LeftUserControl = null;
            }
            else
            {
                LeftUserControl = null;
            }
        }
Exemplo n.º 22
0
 public static decimal TotalConsumption(Entry entry, UserProfile userProfile, PhysicalActivity physicalActivity, Goal goal)
 {
     return(1);
 }
 public WorkoutProgressBarViewModel(User user, PhysicalActivity activity)
 {
     _currentUser      = user;
     _physicalActivity = activity;
     SetProgress();
 }