Exemplo n.º 1
0
        private void Button_Click(object sender, RoutedEventArgs e)
        {
            InputEvaluator ie = new InputEvaluator();

            _bl = new PersonalAssistentBl();
            bool save = true;

            if (doubles())
            {
                SystemSounds.Asterisk.Play();
                switch (MessageBox.Show("Es existiert bereits ein Persönlicher Assistent mit diesem Namen. Soll er wirklich hinzugefügt werden?",
                                        "Achtung!",
                                        MessageBoxButton.YesNo, MessageBoxImage.Question))
                {
                case MessageBoxResult.No:
                    save = false;
                    break;

                case MessageBoxResult.Yes:
                    break;
                }
            }

            if (save)
            {
                if (ie.Evaluate(this))
                {
                    //PersonalAssistant pa = new PersonalAssistant();
                    pa.HomeAdress             = new Adress();
                    pa.HomeAdress.Street      = Street.getContent();
                    pa.HomeAdress.HouseNumber = parseInt(HNr.getContent());
                    pa.HomeAdress.Etage       = parseInt(Etage.getContent());
                    pa.HomeAdress.StairNumber = parseInt(StairNr.getContent());
                    pa.HomeAdress.DoorNumber  = parseInt(DoorNr.getContent());
                    pa.HomeAdress.City        = City.getContent();
                    pa.HomeAdress.ZipCode     = parseInt(ZIP.getContent());
                    pa.HomeAdress.Country     = Country.getContent();
                    pa.nationality            = nationality.getContent();

                    pa.FirstName   = FirstName.getContent();
                    pa.LastName    = LastName.getContent();
                    pa.EMail       = Email.getContent();
                    pa.PhoneNumber = PhoneNr.getContent();
                    pa.MobilePhone = MobileNr.getContent();
                    pa.SVN         = parseLong(SVN.getContent());
                    // TODO add document date

                    pa.IBAN          = IBAN.getContent();
                    pa.BIC           = BIC.getContent();
                    pa.AccountHolder = kontoinhaber.getContent();

                    pa.SV            = ((bool)SV.IsChecked) ? (true) : false;
                    pa.Dienstvertrag = ((bool)Dienstvertrag.IsChecked) ? (true) : false;
                    pa.BestBH        = ((bool)BestätigungBH.IsChecked) ? (true) : false;
                    pa.Grundkurs     = ((bool)Grundkurs.IsChecked) ? (true) : false;

                    pa.Purchasers      = new List <Purchaser>();
                    pa.EmploymentTimes = this.employmentList;


                    pa.consumedHours = Convert.ToDecimal(tbHours.getContent());

                    //Deadline für die Weiterbildungen ermitteln
                    if (pa.EmploymentTimes != null && pa.EmploymentTimes.Count != 0 && pa.EmploymentTimes.Last().EmplBegin.Year == 1)
                    {
                        pa.deadLineHours = pa.EmploymentTimes.Last().EmplBegin.AddYears(2);
                    }
                    else
                    {
                        pa.deadLineHours = DateTime.Now.AddYears(2);
                    }

                    if ((bool)activeRadioButton.IsChecked)
                    {
                        pa.Active = true;
                    }
                    foreach (Purchaser pur in employedPurchasers)

                    {
                        //pa.Purchasers.Add(pur);
                    }
                    _bl.CreatePa(pa);


                    PAtoPurchaserBL PBL = new PAtoPurchaserBL();

                    foreach (Purchaser p in addedAGs)
                    {
                        foreach (Purchaser pd in deletedAGs)
                        {
                            if (p.Id == pd.Id)
                            {
                                addedAGs.Remove(p);
                                deletedAGs.Remove(pd);
                            }
                        }
                    }

                    //insert PA Connection
                    foreach (Purchaser p in addedAGs)
                    {
                        PBL.add(pa, p);
                    }

                    //delete PA connection
                    foreach (Purchaser p in deletedAGs)
                    {
                        PBL.delete(pa, p);
                    }


                    //add Employments
                    foreach (Employment emp in addedEmps)
                    {
                        emp.EmplId = pa.Id;
                        _bl.insertEmployment(emp);
                    }
                    //delete Employments
                    foreach (Employment emp in deletedEmps)
                    {
                        emp.EmplId = pa.Id;
                        _bl.deleteEmployment(emp);
                    }



                    //switch to Übersicht
                    foreach (Window window in Application.Current.Windows)
                    {
                        if (window.GetType() == typeof(Main))
                        {
                            (window as Main).FrameÜbersicht.Source = new Uri("../Personenverwaltung/PA/PAÜbersicht.xaml", UriKind.Relative);
                        }
                    }
                }
            }
        }