public void OnSpeichernKlick()
        {
            if (string.IsNullOrWhiteSpace(Vorname) || string.IsNullOrWhiteSpace(Name) ||
                string.IsNullOrWhiteSpace(Kontakt) || string.IsNullOrWhiteSpace(Strasse) ||
                string.IsNullOrWhiteSpace(Hausnr) || string.IsNullOrWhiteSpace(Plz) || string.IsNullOrWhiteSpace(Ort))
            {
                MessageBox.Show("Es wurden nicht alle Werte eingegeben.", "Abbruch");
                return;
            }

            Anschrift anschrift = new Anschrift(Plz, Ort, Strasse, Hausnr);
            Konto     konto     = new Konto(100);
            //DateTime myDate = DateTime.ParseExact(Geburtsdatum, "dd.MM.yyyy", System.Globalization.CultureInfo.InvariantCulture);
            Mitglied mitglied = new Mitglied(Vorname, Name, Geburtsdatum, anschrift, Auflistung, konto, Kontakt);

            if (IstBearbeitung)
            {
                mitglied.MitgliedId = MitgliedId;
                VereinService.Instanz.AktualisiereMitglied(mitglied);
            }
            else
            {
                VereinService.Instanz.FuegeMitgliedHinzu(mitglied);
            }

            Fenster.Close();
        }
Пример #2
0
        async void OnSearchButtonClicked(object sender, EventArgs e)
        {
            viewModel.IsBusy = true;

            //inProgress.IsRunning = true;
            //inProgress.IsEnabled = true;
            //inProgress.IsVisible = true;
            try
            {
                viewModel.suche.vorname    = firstnameEntry.Text;
                viewModel.suche.nachname   = lastnameEntry.Text;
                viewModel.suche.mglWohnort = wohnortEntry.Text;
                viewModel.suche.spitzname  = nicknameEntry.Text;
                viewModel.suche.alterVon   = ageFromEntry.Text;
                viewModel.suche.alterBis   = ageToEntry.Text;
                //List<Mitglied> mitglieder = await Task.Run(async () => await viewModel.SuchDuApp());
                List <Mitglied> mitglieder = await viewModel.SuchDuApp();

                //Da wird die Reaktion gecheckt. Wenn kein Result, dann ist wird eine Meludung geschickt. Bei nur einem Mitglied als Result, wird das Mitglied direkt in der Detailsansicht geladen und bei mehreren Mitgliedern im Result wird die Mitgliedsliste geladen.
                if (mitglieder.Count() == 0)
                {
                    await DisplayAlert("Keine Mitglieder gefunden", "Bitte versuch es mit anderen Suchkriterien erneut.", "OK");
                }
                else if (mitglieder.Count() == 1)
                {
                    Mitglied m = mitglieder.First();
                    await Navigation.PushAsync(new MitgliederDetails.TabbedMitgliederDetails(await viewModel.mitgliedDetailsVorladen(m.id, m.entries_gruppierungId)));
                }
                else
                {
                    await Navigation.PushAsync(new ItemsPage(viewModel.mainc, mitglieder)).ConfigureAwait(false);
                }
            }
            catch (NewLoginException b)
            {
                await DisplayAlert("Fehler", "Deine Sitzung ist abgelaufen. Bitte logge dich neu in die App ein.", "OK");

                Navigation.InsertPageBefore(new LoginForms.Login(), this);
                Console.WriteLine(b.Message);
                Console.WriteLine(b.StackTrace);
                await Navigation.PopAsync();
            }
            catch (System.Net.WebException b)
            {
                await DisplayAlert("Fehler", "Fehler beim Herstellen der Internetverbindung", "OK");

                Console.WriteLine(b.Message);
                Console.WriteLine(b.StackTrace);
            }
            viewModel.IsBusy = false;
            //inProgress.IsRunning = IsBusy;
            //inProgress.IsEnabled = IsBusy;
            //inProgress.IsEnabled = IsVisible;
        }
Пример #3
0
        public void AktualisiereMitglied(Mitglied mitglied)
        {
            for (var i = 0; i < _verein.Mitglieder.Count; i++)
            {
                if (_verein.Mitglieder[i].MitgliedId == mitglied.MitgliedId)
                {
                    _verein.Mitglieder[i] = mitglied;
                }
            }

            OnMitgliederUpdated();
        }
Пример #4
0
        public MitgliedViewModel(Mitglied mitglied)
        {
            _mitglied    = mitglied;
            Geburtsdatum = mitglied.Geburtsdatum.ToString("dd-MM-yyyy");

            Email          = mitglied.Email;
            Mitgliedstatus = mitglied.Aktiv ? "Aktiv" : "Inaktiv";
            Name           = mitglied.VollstaendigerName;
            Beitrag        = $" {mitglied.Monatsbeitrag} €";
            Bearbeiten     = new DelegateCommand((o => UserBearbeiten()));
            Info           = new DelegateCommand((o => UserAnzeigen()));
        }
 public MitgliedBearbeitenViewModel(Mitglied mitglied, Window fenster) : this(fenster)
 {
     Vorname        = mitglied.Vorname;
     Name           = mitglied.Nachname;
     Geburtsdatum   = mitglied.Geburtsdatum;
     Auflistung     = mitglied.Erwerbstaetigkeit;
     Kontakt        = mitglied.Email;
     Strasse        = mitglied.Anschrift.Strasse;
     Hausnr         = mitglied.Anschrift.Hausnummer;
     Plz            = mitglied.Anschrift.Postleitzahl;
     Ort            = mitglied.Anschrift.Ort;
     Titel          = "Mitglied Bearbeiten";
     IstBearbeitung = true;
     MitgliedId     = mitglied.MitgliedId;
 }
Пример #6
0
        private void Read(int id)
        {
            Action <AsyncResult <ReadResult> > executing = (res) =>
            {
                res.Item = Queries.Read();
            };

            Action <AsyncResult <ReadResult> > executed = (res) =>
            {
                Cursor       = Cursors.Default;
                LblInfo.Text = string.Empty;

                if (res.Exception != null)
                {
                    MessageBox.Show(res.Exception.Message);
                    return;
                }

                Grid.DataSource = null;

                for (int i = 0; i < res.Item.Mitglieder.Count; i++)
                {
                    Mitglied mitglied = res.Item.Mitglieder[i];
                    mBindingSource.Add(mitglied);

                    if (mitglied.Id == id)
                    {
                        mBindingSource.Position = i;
                    }
                }

                Grid.DataSource = mBindingSource;

                string m = res.Item.Maennlich.ToString("N2", Config.Culture);
                string w = res.Item.Weiblich.ToString("N2", Config.Culture);
                LblInfo.Text = "männlich: " + m + " %" + "   " + "weiblich: " + w + " %";
            };

            Cursor        = Cursors.WaitCursor;
            LblInfo.Text  = "Daten werden abgefragt ...";
            LblNotiz.Text = string.Empty;
            mBindingSource.Clear();
            LblInfoCount.Text = string.Empty;

            Application.DoEvents();

            mAsyncTask.Execute(executing, executed);
        }
Пример #7
0
        /// <summary>
        /// The action to take when a list item is tapped.
        /// </summary>
        /// <param name="sender"> The sender.</param>
        /// <param name="e">The ItemTappedEventArgs</param>
        async void ItemTapped(object sender, ItemTappedEventArgs e)
        {
            viewModel.IsBusy = true;
            try
            {
                IsBusy = true;


                Mitglied selected   = (Mitglied)MitgliedView.SelectedItem;
                int      selectedId = selected.id;

                if (searchOrigin)
                {
                    await Navigation.PushAsync(new MitgliederDetails.TabbedMitgliederDetails(await viewModel.mitgliedDetailsVorladen(selectedId, selected.entries_gruppierungId)));
                }
                else
                {
                    await Navigation.PushAsync(new MitgliederDetails.TabbedMitgliederDetails(await viewModel.mitgliedDetailsVorladen(selectedId)));
                }
                // prevents the list from displaying the navigated item as selected when navigating back to the list
                ((ListView)sender).SelectedItem = null;
            }
            catch (NewLoginException ex)
            {
                await DisplayAlert("Fehler", "Deine Sitzung ist abgelaufen. Bitte logge dich neu in die App ein.", "OK");

                Navigation.InsertPageBefore(new LoginForms.Login(), this);
                Console.WriteLine(ex.Message);
                Console.WriteLine(ex.StackTrace);
                await Navigation.PopAsync();
            }
            catch (WebException ex)
            {
                await DisplayAlert("Fehler", "Fehler beim Herstellen der Internetverbindung", "OK");

                Console.WriteLine(ex.Message);
                Console.WriteLine(ex.StackTrace);
            }
            catch (NoRightsException ex)
            {
                await DisplayAlert("Fehler", "Für diesen Vorgang hast du keine Rechte.", "OK");

                Console.WriteLine(ex.Message);
                Console.WriteLine(ex.StackTrace);
            }
            viewModel.IsBusy = false;
        }
Пример #8
0
        //Funktion um sich einem Auto zuzuordnen
        public void AddToCar_Click(object sender, GridViewCommandEventArgs e)
        {
            string[] arg = new string[2];
            arg = e.CommandArgument.ToString().Split(';');
            string param = arg[0];

            string[] splitparam = param.Split('_');
            string   eventName  = splitparam[0];
            string   eventDate  = splitparam[1];
            string   carNr      = arg[1];
            //Routingparameter wird erzeugt
            //string identifier = (Request.QueryString["id"]).ToString();
            //string[] identifiers = identifier.Split('_');
            //string eventName = identifiers.First();
            //string eventDate = identifiers.Last();
            DateTime event_date = Convert.ToDateTime(eventDate);

            //string carNr = (Request.QueryString["car"]).ToString();

            //Useremail wird ausgelesen und in Variable geschrieben
            string username = User.Identity.Name;

            List <Mitglied> user       = MitgliedController.getMitgliedViaEmail(username);
            Mitglied        mitglied   = user.ElementAt(0);
            DateTime        geburtstag = Convert.ToDateTime(mitglied.Geburtstag);

            List <Car> auto = CarController.selectCar(eventName, event_date, carNr);
            //string vorname, string nachname, DateTime geburtsdatum, string autonummer, string eventname, DateTime eventdatum
            CarMitglied newPass = new CarMitglied(mitglied.Vorname, mitglied.Nachname, geburtstag, carNr, eventName, event_date);

            //User wird mit einer Controllerfunktion dem zugewiesen
            CarController.addPassangerToCar(newPass);

            //Neue UL-Listeninstanz wird erstellt
            HtmlGenericControl autoListe = new HtmlGenericControl("ul");

            //Funktion um Autos zu laden wird ausgeführt, danach der Tabelle hinzugefügt
            autoListe = LoadCars(eventName, eventDate, autoListe);

            event_details_container.Controls.Add(EventController.GetEvent(eventName, event_date, autoListe));


            //Eventseite wird aufgerufen
            Response.Redirect("/Views/Event/EventDetails.aspx?id=" + param);
        }
Пример #9
0
        public MitgliedInfoViewModel(Mitglied mitglied, Window fenster) : this(fenster)
        {
            Name    = mitglied.Nachname;
            Vorname = mitglied.Vorname;

            Geburtsdatum = mitglied.Geburtsdatum.ToString("dd.MM.yyyy");
            Auflistung   = mitglied.Erwerbstaetigkeit;

            Beitrittsdatum = mitglied.Beitrittsdatum.ToString("dd.MM.yyyy");
            Kontakt        = mitglied.Email;

            Strasse = mitglied.Anschrift.Strasse;
            Hausnr  = mitglied.Anschrift.Hausnummer;

            Plz = mitglied.Anschrift.Postleitzahl;
            Ort = mitglied.Anschrift.Ort;

            Kontonr    = mitglied.Konto.Kontonummer;
            Kontostand = mitglied.Konto.Kontostand;
        }
Пример #10
0
        public void SetData(Mitglied mitglied)
        {
            mId = -1;

            if (mitglied == null)
            {
                return;
            }

            mId = mitglied.Id;

            TboName.Text         = mitglied.Name;
            TboOrt.Text          = mitglied.Ort;
            TboStrasse.Text      = mitglied.Strasse;
            TboGeburtsdatum.Text = mitglied.Geburtsdatum == null ? string.Empty : mitglied.Geburtsdatum.Value.ToString("dd.MM.yyyy", Config.Culture);
            TboGeschlecht.Text   = mitglied.Geschlecht;
            TboNotiz.Text        = mitglied.Notiz;

            foreach (var telefon in mitglied.LstTelefon)
            {
                mBindingSource.Add(telefon.GetClone());
            }
        }
Пример #11
0
        private void Delete(Mitglied mitglied)
        {
            string       msg    = "Mitglied '" + mitglied.Name + "' wird unwiderruflich gelöscht!";
            DialogResult result = MessageBox.Show(msg, "", MessageBoxButtons.OKCancel, MessageBoxIcon.Exclamation);

            if (result != DialogResult.OK)
            {
                return;
            }

            int previous = 0;

            try
            {
                mBindingSource.MovePrevious();
                Mitglied temp = mBindingSource.Current as Mitglied;

                if (temp != null)
                {
                    previous = temp.Id;
                }
            }
            catch { }

            try
            {
                int affected;
                Queries.Delete(mitglied.Id, out affected);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
                return;
            }

            Read(previous);
        }
Пример #12
0
 public void MitgliedHinzufuegen(Mitglied m)
 {
     mitglieder.Add(m);
 }
Пример #13
0
 public void FuegeMitgliedHinzu(Mitglied mitglied)
 {
     _verein.Mitglieder.Add(mitglied);
     OnMitgliederUpdated();
 }
Пример #14
0
 public MitgliedInfoView(Mitglied mitglied)
 {
     DataContext = new MitgliedInfoViewModel(mitglied, this);
     InitializeComponent();
 }
Пример #15
0
        private void CreateMenu()
        {
            MenuStrip strip = new MenuStrip();

            strip.Font = new Font("Microsoft Sans Serif", 9.75F, FontStyle.Regular, GraphicsUnit.Point, ((byte)(0)));

            ToolStripMenuItem itemSelect = new ToolStripMenuItem("&Neu Abfragen");
            ToolStripMenuItem itemInsert = new ToolStripMenuItem("&Anlegen");
            ToolStripMenuItem itemUpdate = new ToolStripMenuItem("&Bearbeiten");
            ToolStripMenuItem itemDelete = new ToolStripMenuItem("&Löschen");
            ToolStripMenuItem itemClose  = new ToolStripMenuItem("&Schliessen");

            itemClose.Alignment = ToolStripItemAlignment.Right;

            strip.Items.Add(new ToolStripSeparator());
            strip.Items.Add(itemSelect);
            strip.Items.Add(new ToolStripSeparator());
            strip.Items.Add(itemInsert);
            strip.Items.Add(itemUpdate);
            strip.Items.Add(itemDelete);
            strip.Items.Add(new ToolStripSeparator());

            ToolStripSeparator sep1 = new ToolStripSeparator();

            sep1.Alignment = ToolStripItemAlignment.Right;
            strip.Items.Add(sep1);

            strip.Items.Add(itemClose);

            ToolStripSeparator sep2 = new ToolStripSeparator();

            sep2.Alignment = ToolStripItemAlignment.Right;
            strip.Items.Add(sep2);

            itemSelect.Click += (s, e) =>
            {
                if (mAsyncTask.IsBusy)
                {
                    return;
                }

                Mitglied mg = mBindingSource.Current as Mitglied;
                int      id = mg == null ? 0 : mg.Id;
                Read(id);
            };

            itemInsert.Click += (s, e) =>
            {
                if (mAsyncTask.IsBusy)
                {
                    return;
                }

                DlgSave dlg = new DlgSave();
                dlg.SetHeaderText("M i t g l i e d  A n l e g e n");
                dlg.SetData(null);
                dlg.Save = Save;
                dlg.ShowDialog();
            };

            itemUpdate.Click += (s, e) =>
            {
                if (mAsyncTask.IsBusy)
                {
                    return;
                }

                Mitglied mitglied = mBindingSource.Current as Mitglied;

                if (mitglied == null)
                {
                    string msg = "Es wurde kein Mitglied ausgewählt";
                    MessageBox.Show(msg, "", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                    return;
                }

                DlgSave dlg = new DlgSave();
                dlg.SetHeaderText("M i t g l i e d  B e a r b e i t e n");
                dlg.SetData(mitglied);
                dlg.Save = Save;
                dlg.ShowDialog();
            };

            itemDelete.Click += (s, e) =>
            {
                if (mAsyncTask.IsBusy)
                {
                    return;
                }

                Mitglied mitglied = mBindingSource.Current as Mitglied;

                if (mitglied == null)
                {
                    string msg = "Es wurde kein Mitglied ausgewählt";
                    MessageBox.Show(msg, "", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                    return;
                }

                Delete(mitglied);
            };

            itemClose.Click += (s, e) =>
            {
                Close();
            };

            this.Controls.Add(strip);
        }
Пример #16
0
 public MitgliederBearbeitenView(Mitglied mitglied)
 {
     DataContext = new MitgliedBearbeitenViewModel(mitglied, this);
     InitializeComponent();
 }
Пример #17
0
 //Daten des Mitglieds auslesen
 public static List <Mitglied> getMitglied(Mitglied Mitglied)
 {
     return(Mitglied.getMitglied(Mitglied));
 }
Пример #18
0
 public static List <Mitglied> getMitgliedViaEmail(string email)
 {
     return(Mitglied.getMitgliedViaEmail(email));
 }
Пример #19
0
        public bool TryGetData(out Mitglied mitglied)
        {
            mitglied = new Mitglied();

            string formatted;
            object value = null;

            ParseResult result;

            // Id
            mitglied.Id = mId;
            //

            // Name
            result = Config.ParserEntryNotEmpty.TryParse(TboName.Text, out formatted);

            TboName.Text = formatted;

            if (result != ParseResult.Success)
            {
                string msg = "Fehlende Eingabe für Name";
                MessageBox.Show(msg, "", MessageBoxButtons.OK, MessageBoxIcon.Error);
                TboName.Focus();
                TboName.SelectAll();
                return(false);
            }

            mitglied.Name = formatted;
            // --

            // Ort
            result = Config.ParserEntryNotEmpty.TryParse(TboOrt.Text, out formatted);

            TboOrt.Text = formatted;

            if (result != ParseResult.Success)
            {
                string msg = "Fehlende Eingabe für Ort";
                MessageBox.Show(msg, "", MessageBoxButtons.OK, MessageBoxIcon.Error);
                TboOrt.Focus();
                TboOrt.SelectAll();
                return(false);
            }

            mitglied.Ort = formatted;
            // --

            // Strasse
            result = Config.ParserEntryNotEmpty.TryParse(TboStrasse.Text, out formatted);

            TboStrasse.Text = formatted;

            if (result != ParseResult.Success)
            {
                string msg = "Fehlende Eingabe für Strasse";
                MessageBox.Show(msg, "", MessageBoxButtons.OK, MessageBoxIcon.Error);
                TboStrasse.Focus();
                TboStrasse.SelectAll();
                return(false);
            }

            mitglied.Strasse = formatted;
            // --

            // Geburtsdatum
            result = Config.ParserGeburtsdatum.TryParse(TboGeburtsdatum.Text, out value, out formatted);

            if (result != ParseResult.Success)
            {
                string msg = "Ungültige Eingabe für Geburtsdatum (Format: 'TT.MM.JJJJ')";
                MessageBox.Show(msg, "", MessageBoxButtons.OK, MessageBoxIcon.Error);
                TboGeburtsdatum.Focus();
                TboGeburtsdatum.SelectAll();
                return(false);
            }

            TboGeburtsdatum.Text  = formatted;
            mitglied.Geburtsdatum = Convert.ToDateTime(value);
            // --

            // Geschlecht
            result = Config.ParserGeschlecht.TryParse(TboGeschlecht.Text, out formatted);

            if (result != ParseResult.Success)
            {
                string msg = "Ungültige Eingabe für Geschlecht (Format: 'M' / 'W')";
                MessageBox.Show(msg, "", MessageBoxButtons.OK, MessageBoxIcon.Error);
                TboGeschlecht.Focus();
                TboGeschlecht.SelectAll();
                return(false);
            }

            TboGeschlecht.Text  = formatted;
            mitglied.Geschlecht = formatted;
            // --

            // Notiz
            TboNotiz.Text  = TboNotiz.Text.Trim();
            mitglied.Notiz = TboNotiz.Text;
            // --

            // Telefon
            foreach (var entry in mBindingSource)
            {
                Telefon telefon = entry as Telefon;
                telefon.Nummer = telefon.Nummer.Trim();

                if (telefon.Nummer != string.Empty)
                {
                    mitglied.LstTelefon.Add(new Telefon(telefon.Nummer));
                }
            }
            // --

            return(true);
        }
Пример #20
0
 //Mitglied hinzufügen
 public static List <Mitglied> addMitglied(Mitglied newMitglied)
 {
     return(Mitglied.addMitglied(newMitglied));
 }
Пример #21
0
 //Mitglied editieren
 public static List <Mitglied> updateMitglied(Mitglied newMitglied)
 {
     return(Mitglied.updateMitglied(newMitglied));
 }