Example #1
0
        private void LoadToDos()
        {
            this.todos.Children.Clear();

            using (ToDos toDos = this.core.GetToDos(this.cosplan.Nummer))
            {
                int kategorie   = 0;
                int columnCount = 9;
                //hier "Tabellenkoepfe" fuer Kategorien einfuegen
                while (!toDos.EoF)
                {
                    if (kategorie != toDos.Kategorie_Nr)
                    {
                        kategorie = toDos.Kategorie_Nr;

                        Grid header = new Grid
                        {
                            Background = Brushes.Transparent,
                            Height     = 20
                        };

                        for (int i = 0; i <= columnCount; i++)
                        {
                            header.ColumnDefinitions.Add(new ColumnDefinition());
                        }
                        this.CreateTableHeader(header, kategorie);
                        this.todos.Children.Add(header);
                    }
                    GridExtended grid = new GridExtended
                    {
                        Background = Brushes.Transparent,
                        Height     = 50
                    };
                    grid.MouseEnter    += Grid_MouseEnter;
                    grid.MouseLeave    += Grid_MouseLeave;
                    grid.MouseUp       += Grid_MouseUp;
                    grid.EditCompleted += Grid_EditCompleted;

                    for (int i = 0; i <= columnCount; i++)
                    {
                        grid.ColumnDefinitions.Add(new ColumnDefinition());
                    }

                    this.ActualizeSingleToDoRow(grid, toDos);

                    this.todos.Children.Add(grid);
                    toDos.Skip();
                }
            }
        }
Example #2
0
        private void Grid_EditCompleted(object sender, EventArgs e)
        {
            GridExtended grid = ((GridExtended)sender);

            if (grid.Edit)
            {
                string  bezeichnung = grid.FindVisualChildren <TextBox>().ElementAt(0).Text;
                int     erledigt    = 0;
                decimal kosten      = 0;
                Time    zeit        = null;

                ToDos4Grid toDos4Grid = (ToDos4Grid)grid.DataObject;
                if (this.core.GetKategorie(toDos4Grid.Kategorie_Nr) == "Kaufen")
                {
                    kosten = grid.FindVisualChildren <TextBox>().ElementAt(1).Text.Replace(" €", "").ToDecimal();
                }
                else if (this.core.GetKategorie(toDos4Grid.Kategorie_Nr) == "Machen")
                {
                    zeit = new Time(grid.FindVisualChildren <TextBox>().ElementAt(1).Text);
                }

                this.core.SaveToDo(bezeichnung, toDos4Grid.Cosplan_Nr, erledigt, kosten, zeit, toDos4Grid.Nummer);
            }
        }
Example #3
0
        private void ActualizeSingleToDoRow(GridExtended grid, ToDos toDos)
        {
            grid.Children.Clear();
            grid.DataObject             = new ToDos4Grid(toDos);
            grid.FocusElementInEditMode = 2;

            TextBlock labelNummer = new TextBlock
            {
                Text       = toDos.Nummer.ToString(),
                Visibility = Visibility.Collapsed
            };

            grid.Add2Children(labelNummer, true);

            TextBlock labelBezeichnung = new TextBlock
            {
                Text = toDos.Bezeichnung,
                HorizontalAlignment = HorizontalAlignment.Stretch,
                VerticalAlignment   = VerticalAlignment.Center,
                Foreground          = Layout.WindowForeground
            };

            Grid.SetColumn(labelBezeichnung, 0);
            Grid.SetColumnSpan(labelBezeichnung, 5);
            grid.Add2Children(labelBezeichnung);

            if (this.core.GetKategorie(toDos.Kategorie_Nr) == "Kaufen")
            {
                TextBlock labelKosten = new TextBlock
                {
                    Text = toDos.Kosten.ToString("C"),
                    HorizontalAlignment = HorizontalAlignment.Stretch,
                    VerticalAlignment   = VerticalAlignment.Center,
                    Foreground          = Layout.WindowForeground
                };

                Grid.SetColumn(labelKosten, 5);
                Grid.SetColumnSpan(labelKosten, 2);
                grid.Add2Children(labelKosten);

                BaseCheckBox chkErledigt = new BaseCheckBox
                {
                    IsChecked           = toDos.ProzentErledigt == 100,
                    HorizontalAlignment = HorizontalAlignment.Center,
                    VerticalAlignment   = VerticalAlignment.Center
                };
                chkErledigt.CheckedChanged += ChkErledigt_CheckedChanged;

                Grid.SetColumn(chkErledigt, 7);
                Grid.SetColumnSpan(chkErledigt, 2);
                grid.Add2Children(chkErledigt);
            }
            else if (this.core.GetKategorie(toDos.Kategorie_Nr) == "Machen")
            {
                //TODO: create custom user control to handle custom type Time properly
                TextBlock labelZeit = new TextBlock
                {
                    Text = toDos.Zeit.ToString(),
                    HorizontalAlignment = HorizontalAlignment.Stretch,
                    VerticalAlignment   = VerticalAlignment.Center,
                    Foreground          = Layout.WindowForeground
                };

                Grid.SetColumn(labelZeit, 5);
                Grid.SetColumnSpan(labelZeit, 2);
                grid.Add2Children(labelZeit);

                ComboBox comboProzentErledigt = new ComboBox
                {
                    HorizontalAlignment = HorizontalAlignment.Stretch,
                    VerticalAlignment   = VerticalAlignment.Center,
                    Foreground          = Layout.WindowForeground
                };
                comboProzentErledigt.SelectionChanged += ComboProzentErledigt_SelectionChanged;

                for (int i = 0; i <= 100; i = i + 5)
                {
                    comboProzentErledigt.Items.Add(new ComboBoxItem {
                        Content = i + "%"
                    });
                    if (i == toDos.ProzentErledigt)
                    {
                        comboProzentErledigt.SelectedIndex = comboProzentErledigt.Items.Count - 1;
                    }
                }

                Grid.SetColumn(comboProzentErledigt, 7);
                Grid.SetColumnSpan(comboProzentErledigt, 2);
                grid.Add2Children(comboProzentErledigt);
            }

            CustomButton buttonDelToDo = new CustomButton
            {
                Text                = "",
                ImageSource         = ResourceConstants.DelIcon,
                HorizontalAlignment = HorizontalAlignment.Center,
                VerticalAlignment   = VerticalAlignment.Center
            };

            buttonDelToDo.Click += DelTodo_Click;
            Grid.SetColumn(buttonDelToDo, 9);
            grid.Children.Add(buttonDelToDo);
        }