private void Button_Click_Update(object sender, RoutedEventArgs e)
        {
            if (flag2)
            {
                if (flag_ch)
                {
                    this.Weight.Visibility     = Visibility.Hidden;
                    this.Add_weight.Visibility = Visibility.Visible;
                    this.Button_update.Content = "Сохранить";
                    flag2 = false;
                }
                else
                {
                    var win_er = new ERRORWin();
                    win_er.ChooseError("ERRORNotTrain");
                    win_er.Show();
                }
            }
            else
            {
                this.Weight.Visibility     = Visibility.Visible;
                this.Add_weight.Visibility = Visibility.Hidden;
                Regex           reg     = new Regex(@"^[0-9]*[,]?[0-9]+$");
                MatchCollection matches = reg.Matches(this.Add_weight.Text);
                if (matches.Count > 0)
                {
                    this.Weight.Text           = this.Add_weight.Text;
                    this.Button_update.Content = "Обновить";

                    flag2 = true;

                    using (StaticsticContext db = new StaticsticContext())
                    {
                        db.Staticstics.Load();
                        var list = db.Staticstics.Local.ToBindingList();
                        int key  = 0;
                        foreach (var item in list)
                        {
                            if (item.ID_user == user.ID_user)
                            {
                                key = item.ID_session;
                            }
                        }
                        if (key != 0)
                        {
                            var item = db.Staticstics.Find(key);
                            if (item != null)
                            {
                                item.Weight_note = this.Add_weight.Text;
                                db.SaveChanges();
                            }
                        }
                    }
                    this.Add_weight.Text = "00,0";
                    var win_stat = new Statistics_train(user);
                    this.Main_Frame.Navigate(win_stat);
                }
                else
                {
                    this.Button_update.Content = "Обновить";
                    this.Add_weight.Text       = "00,0";
                    flag2 = true;
                    var win_a = new ERRORWin();
                    win_a.ChooseError("ERRORDataEntry");
                    win_a.Show();
                }
            }
        }
        public Statistics_train(User us)
        {
            user = us;
            InitializeComponent();
            weight = user.Weight_start;
            using (ExerciseContext db = new ExerciseContext())
            {
                db.Exercises.Load();
                var list = db.Exercises.Local.ToBindingList();
                foreach (var item in list)
                {
                    list_ex.Add(item);
                }
            }

            using (ConnectionContext db = new ConnectionContext())
            {
                db.Connections.Load();
                var list = db.Connections.Local.ToBindingList();
                foreach (var item in list)
                {
                    list_con.Add(item);
                }
            }

            using (TrainingContext db = new TrainingContext())
            {
                db.Trainings.Load();
                var list = db.Trainings.Local.ToBindingList();
                foreach (var item in list)
                {
                    if (item.ID_type == 0 || item.ID_type == user.ID_user)
                    {
                        list_train.Add(item);
                    }
                }
            }

            using (StaticsticContext db = new StaticsticContext())
            {
                db.Staticstics.Load();
                var list = db.Staticstics.Local.ToBindingList();
                foreach (var item in list)
                {
                    if (item.ID_user == user.ID_user)
                    {
                        if (item.Weight_note != weight)
                        {
                            weight_up++;
                            weight = item.Weight_note;
                        }
                        bool flag = true;
                        int  id   = 0;
                        foreach (var item_con in list_con)
                        {
                            if (item.ID_training == item_con.ID_training)
                            {
                                if (flag)
                                {
                                    id = item.ID_training;
                                    foreach (var item_tr in list_train)
                                    {
                                        if (item_tr.ID_training == item_con.ID_training)
                                        {
                                            time = time + item_tr.Time;
                                        }
                                    }

                                    kol_train++;
                                    flag = false;
                                }
                                if (id != item.ID_training)
                                {
                                    flag = true;
                                }

                                foreach (var item_ex in list_ex)
                                {
                                    if (item_ex.ID_ex == item_con.ID_ex)
                                    {
                                        kol_ex++;
                                        switch (item_ex.Groupe)
                                        {
                                        case 1:
                                            kol_1++;
                                            break;

                                        case 2:
                                            kol_2++;
                                            break;

                                        case 3:
                                            kol_3++;
                                            break;

                                        case 4:
                                            kol_4++;
                                            break;
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
                Pie_Stat(kol_1, kol_2, kol_3, kol_4);
            }

            this.Kol_ex_stat.Text     = kol_ex.ToString();
            this.Kol_train_stat.Text  = kol_train.ToString();
            this.Kol_update_stat.Text = weight_up.ToString();
            Take_time();
            Progres_weight();
        }