Пример #1
0
        public string GetUsersParam(UsersParam param)
        {
            StringBuilder sb = new StringBuilder();

            sb.AppendFormat("where 1=1 and IsDelete=0");

            if (!string.IsNullOrEmpty(param.UserName))
            {
                sb.AppendFormat(" and UserName like '%{0}%' ", Utils.SqlSafe(param.UserName));
            }

            if (!string.IsNullOrEmpty(param.UserAcount))
            {
                sb.AppendFormat(" and UserAcount like '%{0}%' ", Utils.SqlSafe(param.UserAcount));
            }

            if (!string.IsNullOrEmpty(param.IdCard))
            {
                sb.AppendFormat(" and IdCard like '%{0}%' ", Utils.SqlSafe(param.IdCard));
            }
            if (param.UserGroupId > 0)
            {
                sb.Append(string.Format(" and UserGroupId ={0}", param.UserGroupId));
            }

            return(sb.ToString());
        }
Пример #2
0
            /// <summary>
            /// 获取用户列表
            /// </summary>
            /// <param name="page">当前页数,默认为 1</param>
            /// <param name="limit">每页最大数量,默认为 10</param>
            /// <param name="cancellationToken"></param>
            /// <returns></returns>
            /// TODO: 缺少 customData 配置参数
            public async Task <PaginatedUsers> List(
                int page  = 1,
                int limit = 10,
                CancellationToken cancellationToken = default)
            {
                var param = new UsersParam()
                {
                    Page  = page,
                    Limit = limit,
                };

                var res = await client.Request <UsersResponse>(param.CreateRequest(), cancellationToken);

                return(res.Result);
            }
Пример #3
0
 private void deleteUserParam()
 {
     try
     {
         using (UnitOfWork unit = new UnitOfWork())
         {
             unit.UserParamRepository.Remove(LastSelectedUserParam);
             unit.Save();
         }
         LastSelectedUserParam = new UsersParam();
     }
     catch (Exception exception)
     {
         MessageBox.Show("Сообщение ошибки: " + exception.Message, "Произошла ошибка");
     }
     refreshTables();
 }
Пример #4
0
        private void deleteWeightRow()
        {
            try
            {
                if (LastSelected != null)
                {
                    using (UnitOfWork unit = new UnitOfWork())
                    {
                        UsersParam toDelete = unit.UserParamRepository.Get(x => x.ParamsDate == lastSelected.ParamsDate && x.IdParams == DeserializedUser.deserializedUser.Id).First();
                        unit.UserParamRepository.Remove(toDelete);
                        unit.Save();

                        StatisticCollection = unit.UserParamRepository.Get(x => x.IdParams == DeserializedUser.deserializedUser.Id);
                    }

                    SeriesCollection.Clear();

                    ChartValues <decimal> weights = new ChartValues <decimal>(StatisticCollection.Select(x => x.UserWeight));
                    List <string>         labels  = new List <string>();

                    foreach (DateTime x in StatisticCollection.Select(x => x.ParamsDate))
                    {
                        labels.Add(x.ToString("d"));
                    }

                    Labels = labels.ToArray();
                    SeriesCollection.Add(new LineSeries
                    {
                        Title             = "Вес",
                        Values            = weights,
                        LineSmoothness    = 0,
                        PointGeometrySize = 15,
                        PointForeground   = Brushes.Coral,
                        Stroke            = Brushes.Coral,
                        Fill = Brushes.Transparent
                    });
                }
            }
            catch (Exception exception)
            {
                MessageBox.Show("Сообщение ошибки: " + exception.Message, "Произошла ошибка");
            }
        }
Пример #5
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, "Произошла ошибка");
            }
        }
Пример #6
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));
                }
            }
        }