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, "Произошла ошибка"); } }
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)); } } }