コード例 #1
0
ファイル: UcBasisModul.xaml.cs プロジェクト: heibik/Label
        private void UiBtLoeschen_Click(object sender, RoutedEventArgs e)
        {
            string meldung;

            if (uiDgObjekte.SelectedItems.Count > 1)
            {
                meldung = "Datensätze löschen";
            }
            else
            {
                meldung = "Datensatz löschen";
            }

            if (MessageBox.Show(meldung, "Überprüfung", MessageBoxButton.YesNo, MessageBoxImage.Exclamation) == MessageBoxResult.No)
            {
                return;
            }

            if (!Datenverwaltung.DeleteRecordFromTable(tabellenName, out string errmsg))
            {
                MessageBox.Show(errmsg, "DB-Fehler", MessageBoxButton.OK, MessageBoxImage.Error);
            }
            else
            {
                uiDgObjekte.SelectedItem = null;
                Datenverwaltung.SetSelectedObjekte(null, tabellenName);
                SelectedObjekt?.Invoke(tabellenName);
                CloseUiGrEdit();
                uiDgObjekte.Items.Refresh();
            }
        }
コード例 #2
0
ファイル: MainWindow.xaml.cs プロジェクト: heibik/Label
        private void Button_Click(object sender, RoutedEventArgs e)
        {
            WindowTest win2 = new WindowTest();

            win2.Show();

            e.Handled = true;
            Datenverwaltung.GesamteAuswahlLoeschen();
            if (status == modusSatus.easy)
            {
                _easyMod.DisplaySearchResults();
                _easyMod.RemoveDruckFromUi();
                //uiGrMain.Children.Remove(_easyMod);

                _proMod.AddDruck2Ui();
                //uiGrMain.Children.Add(_proMod);
                //uiLbModus.Content = "Pro Mode";
                status = modusSatus.pro;
            }
            else
            {
                _proMod.DisplaySearchResults();
                _proMod.RemoveDruckFromUi();
                //uiGrMain.Children.Remove(_proMod);
                _easyMod.AddDruck2Ui();
                //uiGrMain.Children.Add(_easyMod);
                //uiLbModus.Content = "Easy Mode";
                status = modusSatus.easy;
            }
        }
コード例 #3
0
ファイル: UcBasisModul.xaml.cs プロジェクト: heibik/Label
        public UcBasisModul(string modulName, string tabellenName, bool halfSize, bool resultModul)
        {
            InitializeComponent();
            _resultModul = resultModul;

            ChangeModul();



            uiLbModulName.Content = modulName;
            this.tabellenName     = tabellenName;

            _halfSize = halfSize;

            if (_halfSize)
            {
                uiLbModulName.FontSize   = 20;
                uiLbModulName.FontWeight = FontWeights.Medium;
            }

            SetVerticalGridLines();

            SetDgColumns();
            SetTextFields();
            SetComboBoxes();

            CloseUiGrEdit();
            status = OpenState.closed;


            uiDgObjekte.ItemsSource = Datenverwaltung.GetSearchResultsFromTable(tabellenName);
        }
コード例 #4
0
ファイル: MainWindow.xaml.cs プロジェクト: heibik/Label
        private void RefreshData()
        {
            Datenverwaltung.Initialize();

            // Von der Stackoverflow
            // https://stackoverflow.com/questions/11625208/accessing-ui-main-thread-safely-in-wpf
            Application.Current.Dispatcher.Invoke(new Action(() => { DialogHost.CloseDialogCommand.Execute(null, null); }));
        }
コード例 #5
0
ファイル: UcBasisModul.xaml.cs プロジェクト: heibik/Label
 private void UiBtAuswahlLoeschen_Click(object sender, RoutedEventArgs e)
 {
     uiDgObjekte.SelectedItem = null;
     Datenverwaltung.SetSelectedObjekte(null, tabellenName);
     SelectedObjekt?.Invoke(tabellenName);
     CloseUiGrEdit();
     uiDgObjekte.Items.Refresh();
 }
コード例 #6
0
        public EasyMod(UcDrucken druck)
        {
            InitializeComponent();
            SetArtikel();
            uiDruck = druck;

            uiTbModell.ItemsSource  = Datenverwaltung.GetSearchResultsFromTable("Modell_mod");
            uiTbGroesse.ItemsSource = Datenverwaltung.GetSearchResultsFromTable("Groesse_gro");
            uiTbFarbe.ItemsSource   = Datenverwaltung.GetSearchResultsFromTable("Farbe_fab");
        }
コード例 #7
0
ファイル: ModulFarbe.cs プロジェクト: heibik/Label
 internal override void CheckDeleteButton()
 {
     if (Datenverwaltung.GetSearchResultsFromTable("Artikel_art").Count == 0)
     {
         uiBtLoeschen.IsEnabled = true;
     }
     else
     {
         uiBtLoeschen.IsEnabled = false;
     }
 }
コード例 #8
0
ファイル: UcBasisModul.xaml.cs プロジェクト: heibik/Label
 private void UiBtNeu_Click(object sender, RoutedEventArgs e)
 {
     if (uiDgObjekte.SelectedItems.Count > 0)
     {
         uiDgObjekte.SelectedItem = null;
         Datenverwaltung.SetSelectedObjekte(null, tabellenName);
         SelectedObjekt?.Invoke(tabellenName);
         ChangeButton();
     }
     OpenUiGrEditNew();
 }
コード例 #9
0
ファイル: UcBasisModul.xaml.cs プロジェクト: heibik/Label
        private void SetComboBoxes()
        {
            foreach (var dataGridComboBox in dataGridComboBoxes)
            {
                dataGridComboBox.Value.ItemsSource = Datenverwaltung.GetAllRecordsFromTable(dataGridComboBox.Key);
            }

            foreach (var comboBox in comboBoxes)
            {
                comboBox.Value.ItemsSource = Datenverwaltung.GetAllRecordsFromTable(comboBox.Key);
            }
        }
コード例 #10
0
ファイル: ModulGroesse.cs プロジェクト: heibik/Label
        public override Tabelle Ui2Object(Tabelle record)
        {
            Groesse_gro g;

            if (record == null)
            {
                g = new Groesse_gro();
            }
            else
            {
                g = record as Groesse_gro;
            }


            decimal groesse;

            if (_uiTbGroesse.Text.Trim().Length == 0)
            {
                MessageBox.Show("Größe braucht einen Wert", "Eingabefehler");
                _uiTbGroesse.Focus();
                return(null);
            }
            else if (!decimal.TryParse(_uiTbGroesse.Text.Trim(), out groesse))
            {
                MessageBox.Show("Eingabe ist keine Zahl", "Eingabefehler");
                _uiTbGroesse.Focus();
                return(null);
            }
            else if ((int)Math.Round(groesse, 2, MidpointRounding.AwayFromZero) > 999)
            {
                MessageBox.Show("Groesse darf nur 3 Vorkommastellen haben", "Eingabefehler");
                _uiTbGroesse.Focus();
                return(null);
            }
            else
            {
                decimal gr = groesse;
                foreach (Groesse_gro item in Datenverwaltung.GetAllRecordsFromTable("Groesse_gro"))
                {
                    if (item.rGroesse == groesse)
                    {
                        MessageBox.Show("Diese Größe gibt es schon", "Fehlermeldung");
                        return(null);
                    }
                }
                g.rGroesse = Math.Round(groesse, 2, MidpointRounding.AwayFromZero);
            }


            return(g);
        }
コード例 #11
0
        public override void Object2Ui(Tabelle t)
        {
            _uiLiMaterial.Items.Clear();
            foreach (var record in Datenverwaltung.GetAllRecordsFromTable("Material_mat"))
            {
                _uiLiMaterial.Items.Add(new CheckBox()
                {
                    DataContext = (Material_mat)record, Content = ((Material_mat)record).sBezeichnung
                });
            }



            if (t != null)
            {
                Modell_mod modell = t as Modell_mod;
                _uiTbBezeichnung.Text         = modell.sBezeichnung;
                _uiTbGeschlecht.SelectedValue = modell.sGeschlecht;
                _uiImBildAnzeige.Source       = Byte2Pic(modell.bSymbolBild);
                _uiTbTyp.SelectedValue        = modell.typ_iId;
                _bild = modell.bSymbolBild;

                foreach (var item in _uiLiMaterial.Items)
                {
                    if (modell.Materialien.Contains(((CheckBox)item).DataContext))
                    {
                        ((CheckBox)item).IsChecked = true;
                    }
                    else
                    {
                        ((CheckBox)item).IsChecked = false;
                    }
                }
            }
            else
            {
                _uiTbBezeichnung.Clear();
                _uiTbGeschlecht.SelectedValue = null;
                _uiImBildAnzeige.Source       = null;
                _uiTbTyp.SelectedValue        = null;
                _bild = null;

                foreach (var item in _uiLiMaterial.Items)
                {
                    ((CheckBox)item).IsChecked = false;
                }
            }
        }
コード例 #12
0
ファイル: MainWindow.xaml.cs プロジェクト: heibik/Label
        public MainWindow()
        {
            Datenverwaltung.Initialize();
            InitializeComponent();

            UcDrucken druck = new UcDrucken();

            _proMod = new ProMod(druck);
            Grid.SetRow(_proMod, 1);

            _easyMod = new EasyMod(druck);
            Grid.SetRow(_easyMod, 1);
            _easyMod.AddDruck2Ui();
            uiGrMain.Children.Add(_easyMod);
            status = modusSatus.easy;
        }
コード例 #13
0
ファイル: UcBasisModul.xaml.cs プロジェクト: heibik/Label
        private void StartSearch()
        {
            // if (!_resultModul)
            //{
            Datenverwaltung.SetSelectedObjekte(uiDgObjekte.SelectedItems, tabellenName);
            SelectedObjekt?.Invoke(tabellenName);
            //}


            if (status == OpenState.editRow && uiDgObjekte.SelectedItems.Count == 1)
            {
                Object2Ui(uiDgObjekte.SelectedItem as Tabelle);
            }
            else
            {
                CloseUiGrEdit();
            }
        }
コード例 #14
0
        private void Kriterium_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            e.Handled = true;
            if (sender == uiTbModell)
            {
                if (uiTbModell.SelectedItem == null)
                {
                    return;
                }
                List <object> test = new List <object>();
                test.Add(uiTbModell.SelectedItem);
                Datenverwaltung.SetSelectedObjekte(test, "Modell_mod");
            }
            else if (sender == uiTbGroesse)
            {
                if (uiTbGroesse.SelectedItem == null)
                {
                    return;
                }
                List <object> test = new List <object>();
                test.Add(uiTbGroesse.SelectedItem);
                Datenverwaltung.SetSelectedObjekte(test, "Groesse_gro");
            }
            else if (sender == uiTbFarbe)
            {
                if (uiTbFarbe.SelectedItem == null)
                {
                    return;
                }
                List <object> test = new List <object>();
                test.Add(uiTbFarbe.SelectedItem);
                Datenverwaltung.SetSelectedObjekte(test, "Farbe_fab");
            }

            uiTbModell.Items.Refresh();
            uiTbGroesse.Items.Refresh();
            uiTbFarbe.Items.Refresh();


            foreach (var modul in _module)
            {
                modul.Value.DisplaySearchResult();
            }
        }
コード例 #15
0
ファイル: UcBasisModul.xaml.cs プロジェクト: heibik/Label
        private bool CheckDiffrentSelection()
        {
            if (Datenverwaltung.GetSelectedObjects(tabellenName).Count == uiDgObjekte.SelectedItems.Count)
            {
                if (uiDgObjekte.SelectedItems.Count == 0)
                {
                    return(false);
                }

                foreach (var oldSelectedRecord in Datenverwaltung.GetSelectedObjects(tabellenName))
                {
                    if (uiDgObjekte.SelectedItems.Contains(oldSelectedRecord))
                    {
                        return(false);
                    }
                }
            }
            return(true);
        }
コード例 #16
0
ファイル: UcBasisModul.xaml.cs プロジェクト: heibik/Label
        public void DisplaySearchResult()
        {
            foreach (var column in uiDgObjekte.Columns)
            {
                column.SortDirection = null;// System.ComponentModel.ListSortDirection.;
            }

            uiDgObjekte.ItemsSource = null;
            uiDgObjekte.ItemsSource = Datenverwaltung.GetSearchResultsFromTable(tabellenName);

            uiDgObjekte.Items.Refresh();

            uiDgObjekte.Items.Refresh();
            CloseUiGrEdit();
            uiDgObjekte.SelectedItems.Clear();
            foreach (var record in Datenverwaltung.GetSelectedObjects(tabellenName))
            {
                uiDgObjekte.SelectedItems.Add(record);
            }
        }
コード例 #17
0
ファイル: UcBasisModul.xaml.cs プロジェクト: heibik/Label
        public void Speichern()
        {
            Tabelle record = Ui2Object(uiDgObjekte.SelectedItem as Tabelle);

            if (record == null)
            {
                return;
            }


            // ---------- Hier kommt das Speichern in der DB ---------------

            if (!Datenverwaltung.SafeObjectInDb(record, tabellenName, out string fehler))
            {
                MessageBox.Show(fehler, "DB-Fehler", MessageBoxButton.OK, MessageBoxImage.Error);
                return;
            }



            if (status == OpenState.editRow)
            {
                uiDgObjekte.Items.Refresh();
                Object2Ui(uiDgObjekte.SelectedItem as Tabelle);
            }
            else
            {
                Datenverwaltung.AddRecord(record, tabellenName);
                uiDgObjekte.Items.Refresh();
                CloseUiGrEdit();
                uiDgObjekte.SelectedItem = record;
                OpenUiGrEditRow();
                Object2Ui(uiDgObjekte.SelectedItem as Tabelle);

                StartSearch();
                ChangeButton();
            }

            SelectedObjekt?.Invoke(tabellenName);
        }
コード例 #18
0
ファイル: ModulTyp.cs プロジェクト: heibik/Label
        public override Tabelle Ui2Object(Tabelle record)
        {
            Typ_typ t;

            if (record == null)
            {
                t = new Typ_typ();
            }
            else
            {
                t = record as Typ_typ;
            }


            if (_uiTbBezeichnung.Text.Length == 0)
            {
                _uiTbBezeichnung.Focus();
                MessageBox.Show("Bezeichnung darf nicht leer sein!", "Fehlermeldung");
                return(null);
            }
            else
            {
                string bez = _uiTbBezeichnung.Text;
                foreach (Typ_typ item in Datenverwaltung.GetAllRecordsFromTable("Typ_typ"))
                {
                    if (item.sBezeichnung == bez)
                    {
                        MessageBox.Show("Bezeichnung muss eindeutig sein", "Fehlermeldung");
                        return(null);
                    }
                }
                t.sBezeichnung = _uiTbBezeichnung.Text;
            }



            return(t);
        }
コード例 #19
0
ファイル: UcBasisModul.xaml.cs プロジェクト: heibik/Label
        public void ChangeButton()
        {
            if (Datenverwaltung.GetSelectedObjects(tabellenName).Count == 0 && status != OpenState.newRow)
            {
                uiBtAnzeigen.IsEnabled = false;
                uiBtLoeschen.IsEnabled = false;

                //uiStatusLeiste.Background = notSelected;
            }
            else if (Datenverwaltung.GetSelectedObjects(tabellenName).Count == 1)
            {
                CheckDeleteButton();
                uiBtAnzeigen.IsEnabled = true;

                //uiStatusLeiste.Background = selected;
            }
            else if (Datenverwaltung.GetSelectedObjects(tabellenName).Count > 1)
            {
                CheckDeleteButton();
                uiBtAnzeigen.IsEnabled = false;

                //uiStatusLeiste.Background = selected;
            }
        }
コード例 #20
0
 private void UiDeleteAuswahl_Click(object sender, RoutedEventArgs e)
 {
     Datenverwaltung.GesamteAuswahlLoeschen();
     DisplayDefault();
 }
コード例 #21
0
ファイル: MainWindow.xaml.cs プロジェクト: heibik/Label
 private void MenueRefresh(object sender, MouseButtonEventArgs e)
 {
     e.Handled = true;
     Datenverwaltung.Initialize();
     MessageBox.Show("Refreshed", "Refresh", MessageBoxButton.OK);
 }