private void AddHostingUnitClick(object sender, RoutedEventArgs e)
 {
     this.Close();
     try
     {
         Window AddHostingUnitWindow = new AddHostingUnitWindow();
         AddHostingUnitWindow.Show();
     }
     catch (Exception ex)
     {
         MessageBox.Show("Please try again , loading the bank list takes time");
     }
 }
        private void addhostingunitbutton_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                if (poolComboBox.SelectedItem == null || typeComboBox.SelectedItem == null || publicTransportationComboBox.SelectedItem == null || jacuzziComboBox.SelectedItem == null || viewComboBox.SelectedItem == null || smokingComboBox.SelectedItem == null ||
                    roomServiceComboBox.SelectedItem == null || areaComboBox.SelectedItem == null || gardenComboBox.SelectedItem == null || childrensAttractionsComboBox.SelectedItem == null || wifiComboBox.SelectedItem == null ||
                    tvComboBox.SelectedItem == null || snackBarComboBox.SelectedItem == null || familyNameTextBox.Text == "" || privateNameTextBox.Text == "" || mailAddressTextBox.Text == "" || sizeTextBox.Text == "" ||
                    floorsTextBox.Text == "" || ageTextBox.Text == "" || bankAccountNumberTextBox.Text == "" || phoneNumberTextBox.Text == "" || hostKeyTextBox.Text == "" || hostingUnitNameTextBox.Text == "" || collectionClearanceComboBox.SelectedItem == null || banknameComboBox.SelectedItem == null || branchnumberComboBox.SelectedItem == null)
                {
                    throw new NullReferenceException("please fill out all of the fields");
                }
                if (!Regex.IsMatch(this.sizeTextBox.Text.ToString(), @"^\d+$"))
                {
                    throw new InvalidOperationException("invaild size");
                }
                if (!Regex.IsMatch(this.floorsTextBox.Text.ToString(), @"^\d+$"))
                {
                    throw new InvalidOperationException("invaild number of floors");
                }
                if (!Regex.IsMatch(this.bankAccountNumberTextBox.Text.ToString(), @"^\d+$"))
                {
                    throw new InvalidOperationException("invaild bank account number");
                }
                if (!Regex.IsMatch(this.hostKeyTextBox.Text.ToString(), @"^\d+$"))
                {
                    throw new InvalidOperationException("invaild host key");
                }
                if (!Regex.IsMatch(this.ageTextBox.Text.ToString(), @"^\d+$"))
                {
                    throw new InvalidOperationException("invaild age");
                }

                if (!Regex.IsMatch(phoneNumberTextBox.Text, @"^(\d{10})$"))
                {
                    throw new InvalidOperationException("invaild phone number");
                }
                unit.garden = (BE.Garden)gardenComboBox.SelectedItem;
                unit.area   = (BE.Area)areaComboBox.SelectedItem;
                unit.publicTransportation = (BE.PublicTransportation)publicTransportationComboBox.SelectedItem;
                unit.pool                = (BE.Pool)poolComboBox.SelectedItem;
                unit.wifi                = (BE.Wifi)wifiComboBox.SelectedItem;
                unit.roomService         = (BE.RoomService)roomServiceComboBox.SelectedItem;
                unit.smoking             = (BE.Smoking)smokingComboBox.SelectedItem;
                unit.snackBar            = (BE.SnackBar)snackBarComboBox.SelectedItem;
                unit.tv                  = (BE.Television)tvComboBox.SelectedItem;
                unit.type                = (BE.Type)typeComboBox.SelectedItem;
                unit.view                = (BE.View)viewComboBox.SelectedItem;
                unit.jacuzzi             = (BE.Jacuzzi)jacuzziComboBox.SelectedItem;
                host.CollectionClearance = (BE.PaymentClearance)collectionClearanceComboBox.SelectedItem;

                unit.Size              = int.Parse(this.sizeTextBox.Text);
                unit.Floors            = int.Parse(this.floorsTextBox.Text);
                unit.HostingUnitName   = (this.hostingUnitNameTextBox.Text);
                host.PrivateName       = (this.privateNameTextBox.Text);
                host.PhoneNumber       = (this.phoneNumberTextBox.Text);
                host.FamilyName        = (this.familyNameTextBox.Text);
                host.BankAccountNumber = int.Parse(this.bankAccountNumberTextBox.Text);
                host.Age               = int.Parse(this.ageTextBox.Text);
                host.MailAddress       = (this.mailAddressTextBox.Text);
                host.HostKey           = int.Parse(this.hostKeyTextBox.Text);
                host.BankBranchDetails = bl.GetBranchByNumberAndName(int.Parse(branchnumberComboBox.Text), banknameComboBox.Text);
                unit.Owner             = host;
                this.DataContext       = unit;
                bl.AddHostingUnit(unit);
                unit = new BE.HostingUnit();

                MessageBoxResult result = MessageBox.Show("Thank You, your unit has been added. Would you like to add another hosting unit?", "Status", MessageBoxButton.YesNo, MessageBoxImage.Question);
                switch (result)
                {
                case MessageBoxResult.Yes:
                    this.Close();
                    Window AddHostingUnitWindow = new AddHostingUnitWindow();
                    AddHostingUnitWindow.Show();
                    break;

                case MessageBoxResult.No:
                    this.Close();
                    break;
                }
                this.Close();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }