コード例 #1
0
        public RegisterPageViewModel()
        {
            try
            {
                UpdateViewCommand     = new UpdateViewCommand(this);
                Message               = "Придумайте логин(от 5 до 20 символов) и пароль(от 8 до 20 символов). Логин и пароль могут содержать латинские символы и цифры";
                usersDatum            = new UsersDatum();
                usersParam            = new UsersParam();
                usersParam.ParamsDate = DateTime.Now;
                usersDatum.Birthday   = DateTime.Now;

                UserLastname = "";
                UserSurname  = "";
                UserName     = "";

                UserWeight = 10;
                UserHeight = 50;
            }
            catch (Exception exception)
            {
                MessageBox.Show("Сообщение ошибки: " + exception.Message, "Произошла ошибка");
            }
        }
コード例 #2
0
        public void refreshStatistic()
        {
            if (DateToChoose.Date.CompareTo(DateTime.Today.Date) != 1)
            {
                using (UnitOfWork unit = new UnitOfWork())
                {
                    UsersParam    userParam          = unit.UserParamRepository.Get(x => x.IdParams == DeserializedUser.deserializedUser.Id && x.ParamsDate.Date.Equals(DateToChoose.Date)).LastOrDefault();
                    UsersDatum    usersDatum         = unit.UserDatumRepository.Get(x => x.IdData == DeserializedUser.deserializedUser.Id).LastOrDefault();
                    List <Report> reports            = (List <Report>)unit.ReportRepository.Get(x => x.IdReport == DeserializedUser.deserializedUser.Id && DateToChoose.Equals(x.ReportDate.Date));
                    List <Report> mostReportCategory = (List <Report>)unit.ReportRepository.Get(x => x.IdReport == DeserializedUser.deserializedUser.Id && DateToChoose.Date.Date.Equals(x.ReportDate.Date));
                    List <Report> lastReports        = (List <Report>)unit.ReportRepository.Get(x => x.IdReport == DeserializedUser.deserializedUser.Id);

                    if (lastReports.Capacity != 0)
                    {
                        LastReport = lastReports.Last().ReportDate.ToString();
                    }
                    else
                    {
                        LastReport = "---";
                    }

                    if (mostReportCategory.Capacity != 0)
                    {
                        MostCategory = mostReportCategory.GroupBy(i => i.MostCategory).OrderByDescending(grp => grp.Count()).Select(grp => grp.Key).First();
                    }
                    else
                    {
                        MostCategory = "---";
                    }

                    if (userParam != null)
                    {
                        CaloriesNeeded = Math.Round((10M * userParam.UserWeight) + (6.25M * userParam.UserHeight) - (5 * (DateTime.Now.Year - usersDatum.Birthday.Year)) + 78);
                        UserWeight     = userParam.UserWeight;
                        UserHeight     = userParam.UserHeight;
                    }
                    else
                    {
                        UsersParam userParamChanged = unit.UserParamRepository.Get(x => x.IdParams == DeserializedUser.deserializedUser.Id).LastOrDefault();
                        CaloriesNeeded = Math.Round((10M * userParamChanged.UserWeight) + (6.25M * userParamChanged.UserHeight) - (5 * (DateTime.Now.Year - usersDatum.Birthday.Year)) + 78);
                        UserWeight     = userParamChanged.UserWeight;
                        UserHeight     = userParamChanged.UserHeight;
                    }
                    ProteinsNeeded      = Math.Round(CaloriesNeeded * 0.3M / 4);
                    FatsNeeded          = Math.Round(CaloriesNeeded * 0.2M / 9);
                    CarbohydratesNeeded = Math.Round(CaloriesNeeded * 0.5M / 4);

                    if (ProteinsNeeded <= 1)
                    {
                        ProteinsNeeded = 1;
                    }
                    if (FatsNeeded <= 1)
                    {
                        FatsNeeded = 1;
                    }
                    if (CarbohydratesNeeded <= 1)
                    {
                        CarbohydratesNeeded = 1;
                    }
                    if (CaloriesNeeded <= 1)
                    {
                        CaloriesNeeded = 1;
                    }

                    CaloriesEaten      = Math.Round(reports.Sum(x => x.DayCalories), 2) % 100000;
                    ProteinsEaten      = Math.Round(reports.Sum(x => x.DayProteins), 2) % 100000;
                    FatsEaten          = Math.Round(reports.Sum(x => x.DayFats), 2) % 100000;
                    CarbohydratesEaten = Math.Round(reports.Sum(x => x.DayCarbohydrates), 2) % 100000;

                    if ((int)(CaloriesEaten / (CaloriesNeeded / 100)) > 100)
                    {
                        CaloriesPercent = 100;
                    }
                    else
                    {
                        CaloriesPercent = (int)(CaloriesEaten / (CaloriesNeeded / 100));
                    }

                    if ((int)(ProteinsEaten / (ProteinsNeeded / 100)) > 100)
                    {
                        ProteinsPercent = 100;
                    }
                    else
                    {
                        ProteinsPercent = (int)(ProteinsEaten / (ProteinsNeeded / 100));
                    }

                    if ((int)(FatsEaten / (FatsNeeded / 100)) > 100)
                    {
                        FatsPercent = 100;
                    }
                    else
                    {
                        FatsPercent = (int)(FatsEaten / (FatsNeeded / 100));
                    }

                    if ((int)(CarbohydratesEaten / (CarbohydratesNeeded / 100)) > 100)
                    {
                        CarbohydratesPercent = 100;
                    }
                    else
                    {
                        CarbohydratesPercent = (int)(CarbohydratesEaten / (CarbohydratesNeeded / 100));
                    }
                }
            }
            else
            {
                using (UnitOfWork unit = new UnitOfWork())
                {
                    UsersParam    userParam   = unit.UserParamRepository.Get(x => x.IdParams == DeserializedUser.deserializedUser.Id && x.ParamsDate.Date.Equals(DateTime.Today.Date)).LastOrDefault();
                    UsersDatum    usersDatum  = unit.UserDatumRepository.Get(x => x.IdData == DeserializedUser.deserializedUser.Id).LastOrDefault();
                    List <Report> reports     = (List <Report>)unit.ReportRepository.Get(x => x.IdReport == DeserializedUser.deserializedUser.Id && DateToChoose.Equals(x.ReportDate.Date));
                    List <Report> lastReports = (List <Report>)unit.ReportRepository.Get(x => x.IdReport == DeserializedUser.deserializedUser.Id);

                    if (lastReports.Capacity != 0)
                    {
                        LastReport = lastReports.Last().ReportDate.ToString();
                    }
                    else
                    {
                        LastReport = "---";
                    }
                    MostCategory = "---";
                    if (userParam != null)
                    {
                        CaloriesNeeded = Math.Round((10M * userParam.UserWeight) + (6.25M * userParam.UserHeight) - (5 * (DateTime.Now.Year - usersDatum.Birthday.Year)) + 78);
                        UserWeight     = userParam.UserWeight;
                        UserHeight     = userParam.UserHeight;
                    }
                    else
                    {
                        UsersParam userParamChanged = unit.UserParamRepository.Get(x => x.IdParams == DeserializedUser.deserializedUser.Id).LastOrDefault();
                        CaloriesNeeded = Math.Round((10M * userParamChanged.UserWeight) + (6.25M * userParamChanged.UserHeight) - (5 * (DateTime.Now.Year - usersDatum.Birthday.Year)) + 78);
                        UserWeight     = userParamChanged.UserWeight;
                        UserHeight     = userParamChanged.UserHeight;
                    }
                    ProteinsNeeded      = Math.Round(CaloriesNeeded * 0.3M / 4);
                    FatsNeeded          = Math.Round(CaloriesNeeded * 0.2M / 9);
                    CarbohydratesNeeded = Math.Round(CaloriesNeeded * 0.5M / 4);

                    if (ProteinsNeeded <= 1)
                    {
                        ProteinsNeeded = 1;
                    }
                    if (FatsNeeded <= 1)
                    {
                        FatsNeeded = 1;
                    }
                    if (CarbohydratesNeeded <= 1)
                    {
                        CarbohydratesNeeded = 1;
                    }
                    if (CaloriesNeeded <= 1)
                    {
                        CaloriesNeeded = 1;
                    }

                    CaloriesEaten      = Math.Round(reports.Sum(x => x.DayCalories), 2) % 100000;
                    ProteinsEaten      = Math.Round(reports.Sum(x => x.DayProteins), 2) % 100000;
                    FatsEaten          = Math.Round(reports.Sum(x => x.DayFats), 2) % 100000;
                    CarbohydratesEaten = Math.Round(reports.Sum(x => x.DayCarbohydrates), 2) % 100000;

                    CaloriesPercent      = (int)(CaloriesEaten / (CaloriesNeeded / 100));
                    ProteinsPercent      = (int)(ProteinsEaten / (ProteinsNeeded / 100));
                    FatsPercent          = (int)(FatsEaten / (FatsNeeded / 100));
                    CarbohydratesPercent = (int)(CarbohydratesEaten / (CarbohydratesNeeded / 100));
                }
            }
        }