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(); }