using Npgsql; using System.Windows; namespace SportsTrainingApp.Nutrition { /// /// Interaction logic for fromNutrition.xaml /// public partial class formNutrition : Window { int user_id = -1; public formNutrition(int _user_id) { InitializeComponent(); user_id = _user_id; FillDataGrid(user_id); } public class Nutrition { public int ID { get; set; } public int User_id { get; set; } public DateTime Date { get; set; } public int Calories { get; set; } public double Protein { get; set; } public double Carbs { get; set; } public double Fats { get; set; } } public void FillDataGrid(int _user_id) { using (var conn = new NpgsqlConnection(formMain.connectionString)) { conn.Open(); using (var cmd = new NpgsqlCommand($@"SELECT ID, USER_ID, DATE, CALORIES, PROTEIN, CARBS, FATS FROM DBO.NUTRITION WHERE USER_ID = {_user_id} ORDER BY DATE", conn)) { var reader = cmd.ExecuteReader(); var nutrition = new List(); while (reader.Read()) { nutrition.Add(new Nutrition { ID = reader.GetInt32(0), User_id = reader.GetInt32(1), Date = reader.GetDateTime(2), Calories = reader.GetInt32(3), Protein = reader.GetDouble(4), Carbs = reader.GetDouble(5), Fats = reader.GetDouble(6) }); } gridNutrition.ItemsSource = nutrition; } } } private void btAddNutrition_Click(object sender, RoutedEventArgs e) { new formAddNutrition(user_id).ShowDialog(); FillDataGrid(user_id); } private void btDelNutrition_Click(object sender, RoutedEventArgs e) { var selectedItem = (Nutrition)gridNutrition.SelectedItem; if (selectedItem == null) return; using (var conn = new NpgsqlConnection(formMain.connectionString)) { conn.Open(); using (var cmd = new NpgsqlCommand(@$"DELETE FROM DBO.NUTRITION WHERE ID = {selectedItem.ID}", conn)) { cmd.ExecuteNonQuery(); } } FillDataGrid(user_id); } private void btUpdNutrution_Click(object sender, RoutedEventArgs e) { var selectedItem = (Nutrition)gridNutrition.SelectedItem; if (selectedItem == null) return; new formUpdNutrition(selectedItem).ShowDialog(); FillDataGrid(user_id); } } }