コード例 #1
0
ファイル: DayControl.xaml.cs プロジェクト: lszyszka/Dieter
 private void InitMealsList()
 {
     dieterDBM = new DieterDBM();
     meals     = from meal in dieterDBM.Meals where meal.Day.Id == dayId select meal;
     mealsListBox.ItemsSource = meals;
     dieterDBM.Dispose();
 }
コード例 #2
0
        private void InitDaysList()
        {
            double carboSum = 0;
            double protSum  = 0;
            double fatSum   = 0;
            int    kcalSum  = 0;

            dieterDBM = new DieterDBM();
            days      = from day in dieterDBM.Days select day;
            foreach (Day d in days)
            {
                carboSum = carboSum + d.Carbohydrate;
                protSum  = protSum + d.Protein;
                fatSum   = fatSum + d.Fat;
                kcalSum  = kcalSum + d.Kcal;
            }
            dayListBox.ItemsSource = days;
            if (days.Count() > 0)
            {
                carboTB.Text = String.Format("{0:0.00}", carboSum / days.Count());
                protTB.Text  = String.Format("{0:0.00}", protSum / days.Count());
                kcalTB.Text  = kcalSum / days.Count() + "";
                fatTB.Text   = String.Format("{0:0.00}", fatSum / days.Count());
            }
            else
            {
                carboTB.Text = null;
                protTB.Text  = null;
                kcalTB.Text  = null;
                fatTB.Text   = null;
            }
            dieterDBM.Dispose();
        }
コード例 #3
0
ファイル: ProductDialog.xaml.cs プロジェクト: lszyszka/Dieter
 private void SaveButtonClick(object sender, RoutedEventArgs e)
 {
     if (!HasValidationErrors)
     {
         if (HasNull)
         {
             BindingExpression bindingExpression = NameTB.GetBindingExpression(TextBox.TextProperty);
             bindingExpression.UpdateSource();
             bindingExpression = KcalTB.GetBindingExpression(TextBox.TextProperty);
             bindingExpression.UpdateSource();
             bindingExpression = CarboTB.GetBindingExpression(TextBox.TextProperty);
             bindingExpression.UpdateSource();
             bindingExpression = ProteinTB.GetBindingExpression(TextBox.TextProperty);
             bindingExpression.UpdateSource();
             bindingExpression = FatTB.GetBindingExpression(TextBox.TextProperty);
             bindingExpression.UpdateSource();
         }
         else
         {
             dieterDBM = new DieterDBM();
             dieterDBM.Products.InsertOnSubmit(newProduct);
             dieterDBM.SubmitChanges();
             dieterDBM.Dispose();
             MessageBox.Show("Dodano produkt.");
             DialogResult = true;
         }
     }
     else
     {
         MessageBox.Show("Błędne dane.");
     }
 }
コード例 #4
0
ファイル: DayControl.xaml.cs プロジェクト: lszyszka/Dieter
        private void InitTitleLabel()
        {
            dieterDBM = new DieterDBM();
            var currentDay = (from dbDay in dieterDBM.Days where dbDay.Id == dayId select dbDay).First();

            titleLabel.DataContext = currentDay;
            dieterDBM.Dispose();
        }
コード例 #5
0
 private void AddDay(object sender, RoutedEventArgs e)
 {
     dieterDBM = new DieterDBM();
     dieterDBM.Days.InsertOnSubmit(new Day());
     dieterDBM.SubmitChanges();
     dieterDBM.Dispose();
     InitDaysList();
 }
コード例 #6
0
ファイル: MealControl.xaml.cs プロジェクト: lszyszka/Dieter
        private void InitCombo()
        {
            dieterDBM = new DieterDBM();
            var products = from product in dieterDBM.Products orderby product.Name select product;

            productsComboBox.ItemsSource = products;
            dieterDBM.Dispose();
        }
コード例 #7
0
ファイル: DayControl.xaml.cs プロジェクト: lszyszka/Dieter
        public void RefreshDayNutritionalContents()
        {
            dieterDBM = new DieterDBM();
            var currentDay = (from dbDay in dieterDBM.Days where dbDay.Id == dayId select dbDay).First();

            SumNutritionalContents(currentDay);
            dieterDBM.SubmitChanges();
            dieterDBM.Dispose();
            InitMealsList();
        }
コード例 #8
0
ファイル: DayControl.xaml.cs プロジェクト: lszyszka/Dieter
        private void AddMeal(object sender, RoutedEventArgs e)
        {
            dieterDBM = new DieterDBM();
            var currentDay = (from dbDay in dieterDBM.Days where dbDay.Id == dayId select dbDay).First();

            currentDay.Meals.Add(new Meal());
            dieterDBM.SubmitChanges();
            dieterDBM.Dispose();
            InitMealsList();
        }
コード例 #9
0
        private void DeleteDayClick(object sender, RoutedEventArgs e)
        {
            int id = Utils.GetIdFromUGrid((UniformGrid)((Button)sender).Parent);

            dieterDBM = new DieterDBM();
            var day = (from d in dieterDBM.Days where d.Id == id select d).Single();

            dieterDBM.Days.DeleteOnSubmit(day);
            dieterDBM.SubmitChanges();
            dieterDBM.Dispose();
            InitDaysList();
        }
コード例 #10
0
ファイル: MealControl.xaml.cs プロジェクト: lszyszka/Dieter
        private void InitProductMealsList()
        {
            dieterDBM = new DieterDBM();
            DataLoadOptions loadOptions = new DataLoadOptions();

            loadOptions.LoadWith <ProductMeal>(PM => PM.Product);
            dieterDBM.LoadOptions = loadOptions;
            var productMeals = from productMeal in dieterDBM.ProductMeal where productMeal.Meal.Id == mealId select productMeal;

            productListBox.ItemsSource = productMeals;
            dieterDBM.Dispose();
        }
コード例 #11
0
ファイル: MealControl.xaml.cs プロジェクト: lszyszka/Dieter
        private void AddProductToMeal(double amount)
        {
            dieterDBM = new DieterDBM();
            ProductMeal productMeal = MakeProductMeal(amount);
            var         currentMeal = (from meal in dieterDBM.Meals where meal.Id == mealId select meal).First();

            currentMeal.ProductMeals.Add(productMeal);
            SumNutritionalContents(currentMeal);
            dieterDBM.SubmitChanges();
            dieterDBM.Dispose();
            Clear();
            InitProductMealsList();
        }
コード例 #12
0
ファイル: DayControl.xaml.cs プロジェクト: lszyszka/Dieter
        private void DeleteMealClick(object sender, RoutedEventArgs e)
        {
            dieterDBM = new DieterDBM();
            int id          = Utils.GetIdFromUGrid((UniformGrid)((Button)sender).Parent);
            var removedMeal = dieterDBM.Meals.Single(m => m.Id == id);

            dieterDBM.Meals.DeleteOnSubmit(removedMeal);
            dieterDBM.SubmitChanges();

            var currentDay = dieterDBM.Days.Single(d => d.Id == dayId);

            SumNutritionalContents(currentDay);
            dieterDBM.SubmitChanges();
            dieterDBM.Dispose();
            InitMealsList();
        }
コード例 #13
0
ファイル: MealControl.xaml.cs プロジェクト: lszyszka/Dieter
        private void DeleteProductFromMealClick(object sender, RoutedEventArgs e)
        {
            int id = Utils.GetIdFromUGrid((UniformGrid)((Button)sender).Parent);

            dieterDBM = new DieterDBM();
            ProductMeal removedProductMeal = (from productMeal in dieterDBM.ProductMeal where productMeal.Id == id select productMeal).Single();

            dieterDBM.ProductMeal.DeleteOnSubmit(removedProductMeal);
            dieterDBM.SubmitChanges();

            var currentMeal = (from meal in dieterDBM.Meals where meal.Id == mealId select meal).First();

            SumNutritionalContents(currentMeal);
            dieterDBM.SubmitChanges();
            dieterDBM.Dispose();
            InitProductMealsList();
        }
コード例 #14
0
ファイル: MealControl.xaml.cs プロジェクト: lszyszka/Dieter
        private void DeleteProductClick(object sender, RoutedEventArgs e)
        {
            dieterDBM = new DieterDBM();
            Product product        = (Product)productsComboBox.SelectedItem;
            var     deletedProduct = (from p in dieterDBM.Products where p.Id == product.Id select p).Single();

            try
            {
                dieterDBM.Products.DeleteOnSubmit(deletedProduct);
                dieterDBM.SubmitChanges();
                dieterDBM.Dispose();
                InitCombo();
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
                MessageBox.Show("Produkt jest używany nie można usunąć");
            }
        }