private void addButton_Click(object sender, RoutedEventArgs e)
        {
            addGRGrid.DataContext = guestRequest;

            guestRequest.RegistrationDate = guestRequest.Guest.RegistrationDate;

            try
            {
                bl.AddGuestRequest(guestRequest);
                MessageBox.Show("Your request was added successfully.");
                guestRequest.GuestRequestKey = 0;
            }
            catch (BlArgumentNullException)
            {
                MessageBox.Show("There was a problem. Please try again later.", "Error!", MessageBoxButton.OK, MessageBoxImage.Error);
            }
            catch (BlEntryDateException)
            {
                MessageBox.Show("Entry date must be bigger than release date. Please try again.", "Error!", MessageBoxButton.OK, MessageBoxImage.Error);
            }
            catch (BlVacationInPastException)
            {
                MessageBox.Show("Your entry date is in the past. Please choose another one.", "Error!", MessageBoxButton.OK, MessageBoxImage.Error);
            }
            catch (BlNoVacationeersException)
            {
                MessageBox.Show("You don't have any vacationeer in your request.", "Error!", MessageBoxButton.OK, MessageBoxImage.Error);
            }
            catch (BlPriceLowException)
            {
                MessageBox.Show("The price you chose is too low.", "Error!", MessageBoxButton.OK, MessageBoxImage.Error);
            }
        }
        private void Button_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                if (errorMessages.Any())
                {
                    string err = "Exception: ";
                    foreach (var item in errorMessages)
                    {
                        err += item + "\n";
                    }

                    MessageBox.Show(err);
                    return;
                }
                int number;
                if (!int.TryParse(adultsTextBox.Text, out number) || !int.TryParse(childrenTextBox.Text, out number))
                {
                    MessageBox.Show("Please check you entered an invalid input", "warning", MessageBoxButton.OK, MessageBoxImage.Warning);
                    return;
                }
                if (familyNameTextBox.Text == "" || privateNameTextBox.Text == "" || mailAddressTextBox.Text == "" || mailAddressTextBox.Text == "" || entryDateDatePicker.Text == "1/1/0001" || releaseDateDatePicker.Text == "1/1/0001" || adultsTextBox.Text == "" || childrenTextBox.Text == "")
                {
                    MessageBox.Show($"Missing information", "", MessageBoxButton.OK, MessageBoxImage.Error);
                    return;
                }

                myBL.AddGuestRequest(guestRequest);
                MessageBox.Show($"The order was added to the system, If there is a suitable unit you will receive an email", "", MessageBoxButton.OK, MessageBoxImage.Information);


                familyNameTextBox.Text            = "";
                privateNameTextBox.Text           = "";
                mailAddressTextBox.Text           = "";
                CodeTextBox.Text                  = "";
                entryDateDatePicker.Text          = "1/1/2020";
                releaseDateDatePicker.Text        = "2/1/2020";
                adultsTextBox.Text                = "";
                childrenTextBox.Text              = "";
                gardenComboBox.Text               = null;
                jacuzziComboBox.Text              = null;
                poolComboBox.Text                 = null;
                spookyComboBox.Text               = null;
                typeComboBox.Text                 = null;
                childrensAttractionsComboBox.Text = null;
                areaComboBox.Text                 = null;

                guestRequest = new BE.GuestRequest();
                this.addGuestRequest.DataContext = guestRequest;
            }
            catch (System.Exception exp)
            {
                MessageBox.Show(exp.Message, "", MessageBoxButton.OK, MessageBoxImage.Error);
            }
        }
Esempio n. 3
0
 private void AddRequest_Click(object sender, RoutedEventArgs e)
 {
     try
     {
         myIBL.AddGuestRequest(NewGuestRequest);
         Window mainGuest = new GuestMainWindow(guest);
         mainGuest.Show();
         this.Close();
     }
     catch (DateOrderException)
     {
         MessageBox.Show("The entry date must be before the release date.", "Error", MessageBoxButton.OK, MessageBoxImage.Error);
         EndingDate.SelectedDate = NewGuestRequest.EntryDate.AddDays(1);
     }
     catch (DateComparedToTodayException)
     {
         MessageBox.Show("The vacation cannot be in the past.", "Error", MessageBoxButton.OK, MessageBoxImage.Error);
         StartingDate.SelectedDate = DateTime.Today;
         EndingDate.SelectedDate   = DateTime.Today.AddDays(1);
     }
     catch (NotValidEmailAddressException)
     {
         MessageBox.Show("The email address must be valid.", "Error", MessageBoxButton.OK, MessageBoxImage.Error);
         EmailAdd.Focus();
     }
     catch (ChildrenAmountException)
     {
         MessageBox.Show("There cannot be a negative amount of people, this is earth!!", "Error", MessageBoxButton.OK, MessageBoxImage.Error);
         numChildren.Text = "0";
         numChildren.Focus();
     }
     catch (AdultAmountException)
     {
         MessageBox.Show("if there are no adults, who is requesting the vacation?!", "Error", MessageBoxButton.OK, MessageBoxImage.Error);
         numAdults.Text = "1";
         numAdults.Focus();
     }
 }
Esempio n. 4
0
 private void Add_Button_Click(object sender, RoutedEventArgs e)
 {
     try
     {
         GuestRequest guestRequest = new GuestRequest();
         bL.SetGuestRequestKey(guestRequest);
         guestRequest.FirstName           = firstNameTextBox.Text;
         guestRequest.LastName            = lastNameTextBox.Text;
         guestRequest.MailAddress         = emailTextBox.Text;
         guestRequest.PhoneNumber         = phoneNumberTextBox.Text;
         guestRequest.NumAdults           = int.Parse(numbersOfAdultsTextBox.Text);
         guestRequest.NumChildren         = int.Parse(NumOfChildrentextBox.Text);
         guestRequest.EntryDate           = entryDate.SelectedDate.Value;
         guestRequest.ReleaseDate         = releaseDate.SelectedDate.Value;
         guestRequest.RegistrationDate    = DateTime.Now;
         guestRequest.area                = (Area)AreaComboBox.SelectedItem;
         guestRequest.jacuzzi             = (Jaccuzzi)jacuzzi.SelectedItem;
         guestRequest.pool                = (Pool)pool.SelectedItem;
         guestRequest.childrenAttractions = (ChildrensAttractions)childrensAttraction.SelectedItem;
         guestRequest.garden              = (Garden)garden.SelectedItem;
         guestRequest.type                = (Type)HostingUnitTypeComboBox.SelectedItem;
         if (firstNameTextBox.Text != "" && lastNameTextBox.Text != "" && emailTextBox.Text != "" && phoneNumberTextBox.Text != "")
         {
             if (phoneNumberTextBox.Text.All(char.IsDigit) && numbersOfAdultsTextBox.Text.All(char.IsDigit) && NumOfChildrentextBox.Text.All(char.IsDigit))
             {
                 bL.AddGuestRequest(guestRequest);
                 MessageBox.Show($"your request has been successfully added,\n" + " one of us Hosts will contact you in the brief delay!  ", "OK!", MessageBoxButton.OK, MessageBoxImage.Information);
                 this.Close();
             }
         }
     }
     catch (Exception a)
     {
         MessageBox.Show(a.ToString());
     }
 }
Esempio n. 5
0
        static void Main(string[] args)
        {
            //try
            //{
            IBL bl = FactoryBL.getBL();

            #region Hosting Unit
            HostingUnit h1 = new HostingUnit()
            {
                HostingUnitName      = "apple",
                Area                 = BE.Enum.Area.Center,
                Type                 = BE.Enum.ResortType.Hotel,
                Pool                 = BE.Enum.Pool.Necessary,
                Jacuzzi              = BE.Enum.Jacuzzi.NotInterested,
                Garden               = BE.Enum.Garden.NotInterested,
                ChildrensAttractions = BE.Enum.ChildrensAttractions.Necessary,
                Spooky               = BE.Enum.Spooky.ALittileBit,
                Owner                = new Host()
                {
                    HostKey             = "315206482",
                    PrivateName         = "dan",
                    FamilyName          = "cohen",
                    PhoneNumber         = (0543198488).ToString(),
                    MailAddress         = "*****@*****.**",
                    BankAccountNumber   = 118833,
                    CollectionClearance = true,
                    BankBranchDetails   = new BankBranch()
                    {
                        BankNumber    = ++Configuration.bankNumber,
                        BankName      = "hapoalim",
                        BranchNumber  = 18,
                        BranchAddress = "beit hadfus 78",
                        BranchCity    = "tlv"
                    }
                }
            };
            h1.Diary[4, 4] = true;
            h1.Diary[4, 5] = true;
            h1.Diary[4, 6] = true;

            HostingUnit h2 = new HostingUnit()
            {
                HostingUnitName      = "pear",
                Area                 = BE.Enum.Area.East,
                Type                 = BE.Enum.ResortType.Tzimer,
                Pool                 = BE.Enum.Pool.Necessary,
                Jacuzzi              = BE.Enum.Jacuzzi.NotInterested,
                Garden               = BE.Enum.Garden.Optional,
                ChildrensAttractions = BE.Enum.ChildrensAttractions.Necessary,
                Spooky               = BE.Enum.Spooky.ALittileBit,
                Owner                = new Host()
                {
                    HostKey             = "209387125",
                    PrivateName         = "yosi",
                    FamilyName          = "cohen",
                    PhoneNumber         = (0543198488).ToString(),
                    MailAddress         = "*****@*****.**",
                    BankAccountNumber   = 912233,
                    CollectionClearance = true,
                    BankBranchDetails   = new BankBranch()
                    {
                        BankNumber    = ++Configuration.bankNumber,
                        BankName      = "leumi",
                        BranchNumber  = 19,
                        BranchAddress = "beit hadfus 78",
                        BranchCity    = "tlv"
                    }
                }
            };
            h2.Diary[8, 4] = true;
            h2.Diary[8, 5] = true;
            h2.Diary[8, 6] = true;
            HostingUnit h3 = new HostingUnit()
            {
                HostingUnitName      = "orange",
                Area                 = BE.Enum.Area.Center,
                Type                 = BE.Enum.ResortType.Tent,
                Pool                 = BE.Enum.Pool.NotInterested,
                Jacuzzi              = BE.Enum.Jacuzzi.Optional,
                Garden               = BE.Enum.Garden.Necessary,
                ChildrensAttractions = BE.Enum.ChildrensAttractions.Necessary,
                Spooky               = BE.Enum.Spooky.ALittileBit,
                Owner                = new Host()
                {
                    HostKey             = "318336062",
                    PrivateName         = "ron",
                    FamilyName          = "cohen",
                    PhoneNumber         = (0543198488).ToString(),
                    MailAddress         = "*****@*****.**",
                    BankAccountNumber   = 141414,
                    CollectionClearance = true,
                    BankBranchDetails   = new BankBranch()
                    {
                        BankNumber    = ++Configuration.bankNumber,
                        BankName      = "leumi",
                        BranchNumber  = 14,
                        BranchAddress = "beit hadfus 78",
                        BranchCity    = "tlv"
                    }
                }
            };
            h3.Diary[4, 4] = true;
            h3.Diary[4, 5] = true;
            h3.Diary[4, 6] = true;
            HostingUnit h4 = new HostingUnit()
            {
                HostingUnitName      = "grape",
                Area                 = BE.Enum.Area.East,
                Type                 = BE.Enum.ResortType.Tent,
                Pool                 = BE.Enum.Pool.NotInterested,
                Jacuzzi              = BE.Enum.Jacuzzi.Optional,
                Garden               = BE.Enum.Garden.Necessary,
                ChildrensAttractions = BE.Enum.ChildrensAttractions.Necessary,
                Spooky               = BE.Enum.Spooky.ALittileBit,
                Owner                = new Host()
                {
                    HostKey             = "029567567",
                    PrivateName         = "yael shoshana",
                    FamilyName          = "chaya",
                    PhoneNumber         = (0543198488).ToString(),
                    MailAddress         = "*****@*****.**",
                    BankAccountNumber   = 112236,
                    CollectionClearance = true,
                    BankBranchDetails   = new BankBranch()
                    {
                        BankNumber    = ++Configuration.bankNumber,
                        BankName      = "leumi",
                        BranchNumber  = 16,
                        BranchAddress = "beit hadfus 78",
                        BranchCity    = "tlv"
                    }
                }
            };
            h4.Diary[2, 4] = true;
            h4.Diary[2, 5] = true;
            h4.Diary[2, 6] = true;

            HostingUnit h5 = new HostingUnit()
            {
                HostingUnitName      = "olive",
                Area                 = BE.Enum.Area.East,
                Type                 = BE.Enum.ResortType.Tent,
                Pool                 = BE.Enum.Pool.NotInterested,
                Jacuzzi              = BE.Enum.Jacuzzi.Optional,
                Garden               = BE.Enum.Garden.Necessary,
                ChildrensAttractions = BE.Enum.ChildrensAttractions.Necessary,
                Spooky               = BE.Enum.Spooky.ALittileBit,
                Owner                = new Host()
                {
                    HostKey             = "029567567",
                    PrivateName         = "yael shoshana",
                    FamilyName          = "chaya",
                    PhoneNumber         = (0543198488).ToString(),
                    MailAddress         = "*****@*****.**",
                    BankAccountNumber   = 112236,
                    CollectionClearance = true,
                    BankBranchDetails   = new BankBranch()
                    {
                        BankNumber    = ++Configuration.bankNumber,
                        BankName      = "leumi",
                        BranchNumber  = 16,
                        BranchAddress = "beit hadfus 78",
                        BranchCity    = "tlv"
                    }
                }
            };
            h5.Diary[2, 4] = true;
            h5.Diary[2, 5] = true;
            h5.Diary[2, 6] = true;

            bl.AddHostingUnit(h1);
            bl.AddHostingUnit(h2);
            bl.AddHostingUnit(h3);
            bl.AddHostingUnit(h4);
            bl.AddHostingUnit(h5);

            foreach (var item in bl.GetHostingUnitCopy())
            {
                Console.WriteLine("hosting unit: \n" + item + "\n");
            }
            h4.HostingUnitName = "banana";
            bl.UpdateHostingUnit(h4);
            foreach (var item in bl.GetHostingUnitCopy())
            {
                Console.WriteLine("Hosting Unit: \n" + item + "\n");
            }

            //Console.WriteLine("hosting unit group by area: \n");
            //var v = bl.GetAllHostingUnitsGroupByArea();
            //foreach (var item in v)
            //{
            //    Console.WriteLine(item.Key);
            //    foreach (var w in item)
            //        Console.WriteLine(w);
            //}

            DateTime temp = new DateTime(2020, 4, 4);
            //Console.WriteLine("get available days: \n");
            //var vd = bl.GetAvailableDays(temp, 2);
            //foreach(var item6 in vd)
            //{
            //    Console.WriteLine();
            //}
            var vd = bl.GetAvailableDays(temp, 2);
            int i  = 1;
            foreach (var item6 in vd)
            {
                Console.WriteLine("hosting unit #" + i + ": \n" + item6);
                i++;
            }

            //int i = 1;
            //foreach (var item in bl.GetHostingUnitCopy())
            //{

            //    Console.WriteLine("hosting unit #" +i+ ": \n" + bl.GetAvailableDays(temp, 2) + "\n");
            //    i++;
            //}
            #endregion

            #region Guest Request
            GuestRequest g1 = new GuestRequest()
            {
                PrivateName          = "yosi",
                FamilyName           = "cohen",
                MailAddress          = "*****@*****.**",
                Status               = BE.Enum.CustomerOrderStatus.Open,
                RegistrationDate     = new DateTime(2020, 1, 1),
                EntryDate            = new DateTime(2020, 4, 3),
                ReleaseDate          = new DateTime(2020, 4, 6),
                Area                 = BE.Enum.Area.Center,
                Type                 = BE.Enum.ResortType.Hotel,
                Adults               = 4,
                Children             = 5,
                Pool                 = BE.Enum.Pool.Necessary,
                Jacuzzi              = BE.Enum.Jacuzzi.NotInterested,
                Garden               = BE.Enum.Garden.NotInterested,
                ChildrensAttractions = BE.Enum.ChildrensAttractions.Necessary,
                GuestRequestKey      = ++Configuration.guestRequestKey,
                Spooky               = BE.Enum.Spooky.ALittileBit
            };

            GuestRequest g2 = new GuestRequest()
            {
                PrivateName          = "ron",
                FamilyName           = "cohen",
                MailAddress          = "*****@*****.**",
                Status               = BE.Enum.CustomerOrderStatus.Open,
                RegistrationDate     = new DateTime(2020, 1, 1),
                EntryDate            = new DateTime(2020, 3, 4),
                ReleaseDate          = new DateTime(2020, 3, 6),
                Area                 = BE.Enum.Area.East,
                Type                 = BE.Enum.ResortType.Tzimer,
                Adults               = 3,
                Children             = 2,
                Pool                 = BE.Enum.Pool.Necessary,
                Jacuzzi              = BE.Enum.Jacuzzi.NotInterested,
                Garden               = BE.Enum.Garden.Optional,
                ChildrensAttractions = BE.Enum.ChildrensAttractions.Necessary,
                GuestRequestKey      = ++Configuration.guestRequestKey,
                Spooky               = BE.Enum.Spooky.ALittileBit
            };

            GuestRequest g3 = new GuestRequest()
            {
                PrivateName          = "dan",
                FamilyName           = "cohen",
                MailAddress          = "*****@*****.**",
                Status               = BE.Enum.CustomerOrderStatus.Open,
                RegistrationDate     = new DateTime(2020, 1, 1),
                EntryDate            = new DateTime(2020, 4, 3),
                ReleaseDate          = new DateTime(2020, 4, 6),
                Area                 = BE.Enum.Area.Center,
                Type                 = BE.Enum.ResortType.Tent,
                Adults               = 3,
                Children             = 6,
                Pool                 = BE.Enum.Pool.NotInterested,
                Jacuzzi              = BE.Enum.Jacuzzi.Optional,
                Garden               = BE.Enum.Garden.Necessary,
                ChildrensAttractions = BE.Enum.ChildrensAttractions.Necessary,
                GuestRequestKey      = ++Configuration.guestRequestKey,
                Spooky               = BE.Enum.Spooky.ALittileBit,
            };


            GuestRequest g4 = new GuestRequest()
            {
                PrivateName          = "yahoo",
                FamilyName           = "cohen",
                MailAddress          = "*****@*****.**",
                Status               = BE.Enum.CustomerOrderStatus.Open,
                RegistrationDate     = new DateTime(2020, 1, 1),
                EntryDate            = new DateTime(2020, 2, 4),
                ReleaseDate          = new DateTime(2020, 2, 6),
                Area                 = BE.Enum.Area.East,
                Type                 = BE.Enum.ResortType.Tent,
                Adults               = 1,
                Children             = 4,
                Pool                 = BE.Enum.Pool.NotInterested,
                Jacuzzi              = BE.Enum.Jacuzzi.Optional,
                Garden               = BE.Enum.Garden.Necessary,
                ChildrensAttractions = BE.Enum.ChildrensAttractions.Necessary,
                GuestRequestKey      = ++Configuration.guestRequestKey,
                Spooky               = BE.Enum.Spooky.ALittileBit
            };
            bl.AddGuestRequest(g1);
            bl.AddGuestRequest(g2);
            bl.AddGuestRequest(g3);
            bl.AddGuestRequest(g4);
            foreach (var item in bl.GetGuests())
            {
                Console.WriteLine("hosting unit: \n" + item + "\n");
            }

            g2.FamilyName = "Levi";
            bl.UpdateGuestRequest(g2);

            Console.WriteLine("Hosting Unit after changes: ");
            foreach (var item in bl.GetGuests())
            {
                Console.WriteLine("hosting unit: \n" + item + "\n");
            }


            Console.WriteLine("groups by amount of people: \n");
            var r = bl.GetAllGuestsRequestsGropuByAmountOfPeople();
            foreach (var item in r)
            {
                Console.WriteLine(item.Key);
                foreach (var w in item)
                {
                    Console.WriteLine(w);
                }
            }

            Console.WriteLine("groups by area: \n");
            var b = bl.GetsAllGuestRequestsGroupsByArea();
            foreach (var item in b)
            {
                Console.WriteLine(item.Key);
                foreach (var w in item)
                {
                    Console.WriteLine(w);
                }
            }

            #endregion

            #region Order

            Order o1 = new Order()
            {
                Status          = BE.Enum.OrderStatus.NotYetAddressed,
                CreateDate      = new DateTime(2019, 2, 1),
                OrderDate       = new DateTime(2020, 4, 4),
                HostingUnitKey  = h1.HostingUnitKey,
                GuestRequestKey = g2.GuestRequestKey
            };

            Order o2 = new Order()
            {
                Status          = BE.Enum.OrderStatus.NotYetAddressed,
                CreateDate      = new DateTime(2019, 4, 1),
                OrderDate       = new DateTime(2020, 3, 4),
                HostingUnitKey  = h2.HostingUnitKey,
                GuestRequestKey = g1.GuestRequestKey
            };

            Order o3 = new Order()
            {
                Status          = BE.Enum.OrderStatus.NotYetAddressed,
                CreateDate      = new DateTime(2019, 4, 1),
                OrderDate       = new DateTime(2020, 4, 4),
                HostingUnitKey  = h3.HostingUnitKey,
                GuestRequestKey = g4.GuestRequestKey
            };

            Order o4 = new Order()
            {
                Status          = BE.Enum.OrderStatus.NotYetAddressed,
                CreateDate      = new DateTime(2019, 2, 2),
                OrderDate       = new DateTime(2020, 2, 4),
                HostingUnitKey  = h4.HostingUnitKey,
                GuestRequestKey = g3.GuestRequestKey
            };

            Order o5 = new Order()
            {
                Status          = BE.Enum.OrderStatus.NotYetAddressed,
                CreateDate      = new DateTime(2019, 6, 1),
                OrderDate       = new DateTime(2020, 6, 3),
                HostingUnitKey  = h1.HostingUnitKey,
                GuestRequestKey = g2.GuestRequestKey
            };

            bl.AddOrder(o1);
            bl.AddOrder(o2);
            bl.AddOrder(o3);
            bl.AddOrder(o4);
            bl.AddOrder(o5);


            foreach (var item0 in bl.GetOrders())
            {
                Console.WriteLine("Order: \n" + item0 + "\n");
            }

            bl.RemoveHostingUnit(h5.HostingUnitKey);

            Console.WriteLine("after removing: ");
            foreach (var item1 in bl.GetHostingUnitCopy())
            {
                Console.WriteLine("Hosting Unit: \n" + item1 + "\n");
            }
            Console.WriteLine("amount of finalize: " + bl.AmountOfFinalizedOrders(h2));


            Console.WriteLine("amount of invetation: \n" + bl.AmountOfInvetations(g1));

            bl.UpdateOrder(o1);
            bl.UpdateOrder(o2);

            Console.WriteLine("after updating: \n");
            foreach (var item2 in bl.GetOrders())
            {
                Console.WriteLine("Order: \n" + item2 + "\n");
            }

            Console.WriteLine("amount of orders: ");
            foreach (var item7 in bl.AmountOfOrders(4))
            {
                Console.WriteLine("order: " + item7 + "\n");
            }

            #endregion

            foreach (var item3 in bl.GetBankBranches())
            {
                Console.WriteLine("Branch: " + item3);
            }

            DateTime d1 = new DateTime(2019, 3, 3);
            DateTime d2 = new DateTime(2019, 3, 10);
            Console.WriteLine("amount of days between 2 given days: " + bl.AmountOfDaysBetween(d1, d2));
            Console.WriteLine("amount of days between given day and today: " + bl.AmountOfDaysBetween(d2));
            Console.WriteLine("hosting units grouped by hosts");
            var l = bl.GetAllHostsGruopByAmountOfHostingUnits();
            foreach (var item4 in l)
            {
                Console.WriteLine(item4.Key);
                foreach (var w in item4)
                {
                    Console.WriteLine(w);
                }
            }


            foreach (var item5 in bl.CustomerDemands(x => x.Area == g1.Area))
            {
                Console.WriteLine("demands: \n" + item5);
            }

            Console.WriteLine("bye bye :P");
            Console.ReadKey();
        }
Esempio n. 6
0
        private void ButtonOk_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                if (TextBox_of_privat_name != null)
                {
                    my_Guest.firstName = TextBox_of_privat_name.Text.ToString();
                }
                if (TextBox_of_Family_name != null)
                {
                    my_Guest.FamilyName = TextBox_of_Family_name.Text.ToString();
                }
                if (email != null)
                {
                    my_Guest.MailAddress = email.Text.ToString();
                }
                if (TextBox_of_number_phon != null)
                {
                    my_Guest.FhoneNumber = TextBox_of_number_phon.Text.ToString();
                }
                if (TextBox_of_number_SubArea != null)
                {
                    my_Guest.SubArea = TextBox_of_number_SubArea.Text.ToString();
                }
                if (TextBox_of_Adults != null)
                {
                    my_Guest.Adults = int.Parse(TextBox_of_Adults.Text.ToString());
                }
                if (TextBox_of_children != null)
                {
                    my_Guest.Children = int.Parse(TextBox_of_children.Text.ToString());
                }
                if (DatePicker_EntryDate.SelectedDate != null)
                {
                    my_Guest.EntryDate = DateTime.Parse(DatePicker_EntryDate.Text);
                }
                if (DatePicker_ReleaseDate.SelectedDate != null)
                {
                    my_Guest.ReleaseDate = DateTime.Parse(DatePicker_ReleaseDate.Text);
                }
                if (ComboBox_of_Area.SelectedItem != null)
                {
                    my_Guest.Area = CheckEnums.CheckArea(ComboBox_of_Area.SelectionBoxItem.ToString());
                }
                if (ComboBox_of_Type.SelectedItem != null)
                {
                    my_Guest.Type = CheckEnums.CheckType(ComboBox_of_Type.SelectionBoxItem.ToString());
                }
                if (ComboBox_of_pool.SelectedItem != null)
                {
                    my_Guest.Pool = CheckEnums.CheckYes_Or_No(ComboBox_of_pool.SelectionBoxItem.ToString());
                }
                if (ComboBox_of_Jacuzzi.SelectedItem != null)
                {
                    my_Guest.Jacuzzi = CheckEnums.CheckYes_Or_No(ComboBox_of_Jacuzzi.SelectionBoxItem.ToString());
                }
                if (ComboBox_of_Garden.SelectedItem != null)
                {
                    my_Guest.Garden = CheckEnums.CheckYes_Or_No(ComboBox_of_Garden.SelectionBoxItem.ToString());
                }
                if (ComboBox_of_ChildrensAttractions.SelectedItem != null)
                {
                    my_Guest.ChildrensAttractions = CheckEnums.CheckYes_Or_No(ComboBox_of_ChildrensAttractions.SelectionBoxItem.ToString());
                }

                // בדיקה שמילא את כל השדות של הטקסט
                if ((TextBox_of_privat_name.Text == "") ||
                    (TextBox_of_Family_name.Text == "") ||
                    (email.Text == "") ||
                    (TextBox_of_number_phon.Text == "") ||
                    (TextBox_of_Adults.Text == "") ||
                    (TextBox_of_children.Text == ""))

                {
                    MessageBox_Project y = new MessageBox_Project(":שִׂים לֵב ", "לא מילאת את כל השדות אנא מלא את כל השדות");
                    y.ShowDialog();
                }

                bl.AddGuestRequest(my_Guest);                                                       // ההעברה למימוש, הוספה לרשימת הדרישות לקוח
                HostingUnit        my_hosting = bl.GetGuestRequest_RrtrunHostingUnit(my_Guest);     //מחזיר את היחידת אירוח לפי הדרישות של הלקוח
                double             sum        = bl.Calculation_amount_to_pay(my_Guest, my_hosting); // סכום לתשלום
                MessageBox_Project x          = new MessageBox_Project(":שִׂים לֵב ", sum + " : הסכום שהינך צריך לשלם הוא");
                x.ShowDialog();
                // אחרי שיש יחידת אירוח פנויה ואחרי הצגת התשלום למשתמש ניתן לפתוח הזמנה חדשה
                //עם מפתח הדרישה ועם מפתח היחידה
                //ובפונקציה הוספת הזמנה נתפוס את הימים במטריצה
                //ונשלח לו מייל  עם פרטי הזמנה ונגיד לו שהבקשה של אושרה
                Order o = new Order();
                o.GuestRequestKey = my_Guest.guest_request_key;
                o.HostingUnitKey  = my_hosting.hosting_unit_key;
                o.Amount_to_pay   = sum;
                o.CreateDate      = DateTime.Now;
                bl.AddOrder(o);
            }
            catch (NotImplementedException exp)
            {
                MessageBox.Show(exp.Message);
                MessageBox_Project x = new MessageBox_Project(":שִׂים לֵב ", " מצטערים, " + "לא נמצאה יחידת אירוח התואמת את דרישתך");
                x.ShowDialog();
            }
        }
Esempio n. 7
0
        static void Main(string[] args)
        {
            IBL bl = FactoryBL.getIBL();

            #region gs
            GuestRequest guesty  = new GuestRequest();
            GuestRequest guesty1 = new GuestRequest();
            GuestRequest guesty2 = new GuestRequest();

            guesty.EntryDate1   = new DateTime(2020, 7, 7);
            guesty.ReleaseDate1 = new DateTime(2020, 7, 15);
            guesty.PrivateName1 = "moshe";
            guesty.Children1    = 5;

            guesty1.EntryDate1   = new DateTime(2020, 5, 7);
            guesty1.ReleaseDate1 = new DateTime(2020, 7, 23);
            guesty1.PrivateName1 = "binyamin";
            guesty1.Children1    = 5;

            guesty2.EntryDate1   = new DateTime(2020, 5, 7);
            guesty2.ReleaseDate1 = new DateTime(2020, 6, 15);
            guesty2.PrivateName1 = "dovid";
            guesty2.Children1    = 5;

            try
            {
                bl.AddGuestRequest(guesty);
                bl.AddGuestRequest(guesty1);
                bl.AddGuestRequest(guesty2);
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }
            guesty.area1        = BEEnum.Area.Center;
            guesty.Children1    = 3;
            guesty.PrivateName1 = "notmoshe";

            try
            {
                bl.UpdateGuestRequest(guesty);
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }

            try
            {
                bl.DeleteGuestRequest(guesty1);
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }
            try
            {
                Console.WriteLine("_________________________________________________________________________\n" +
                                  " All Guest Requests:");
                foreach (GuestRequest i in bl.GetAllGuestRequest())
                {
                    Console.WriteLine(i);
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }
            #endregion
            #region hosting unit tests
            HostingUnit unit1 = new HostingUnit();
            HostingUnit unit2 = new HostingUnit();
            HostingUnit unit3 = new HostingUnit();
            HostingUnit unit5 = new HostingUnit();
            unit1.AreaOfHostingUnit        = BEEnum.Area.All;
            unit2.AreaOfHostingUnit        = BEEnum.Area.Center;
            unit3.AreaOfHostingUnit        = BEEnum.Area.North;
            unit1.hasChildrensAttractions1 = true;
            unit2.hasJaccuzzi1             = true;
            unit3.hasPool1     = true;
            unit5.hasGarden1   = true;
            unit5.hasJaccuzzi1 = true;
            Host parp = new Host();
            parp.PrivateName1 = "mcawesome";
            parp.FamilyName1  = "village";
            //bl.AddHost(parp);
            unit1.Owner1 = parp;
            unit2.Owner1 = new Host();
            unit3.Owner1 = parp;
            unit5.Owner1 = parp;

            try//test for  adding hosting units
            {
                bl.AddHostingUnit(unit1);
                bl.AddHostingUnit(unit2);
                bl.AddHostingUnit(unit3);
                bl.AddHostingUnit(unit5);
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }
            try//test for getAllHostingUnits after adding
            {
                Console.WriteLine(" _________________________________________________________________________\n All Hosting Units:");
                foreach (var item in bl.GetAllHostingUnits())
                {
                    Console.WriteLine(item.ToString());
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e);;
            }
            unit1.HostingUnitName1 = "zimmer";
            unit2.hasPool1         = true;
            unit3.HostingUnitName1 = "jimmering";
            try//test to make sure the original didnt changewithout update
            {
                Console.WriteLine(" _________________________________________________________________________\n All Hosting Units:");
                foreach (var item in bl.GetAllHostingUnits())
                {
                    Console.WriteLine(item.ToString());
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e);;
            }
            try//test to make sure update works
            {
                bl.UpdateHostingUnit(unit1);
                bl.UpdateHostingUnit(unit2);
                bl.UpdateHostingUnit(unit3);
            }
            catch (Exception e)
            {
                Console.WriteLine(e);;
            }
            try//printing out to see if update works
            {
                Console.WriteLine(" _________________________________________________________________________\n All Hosting Units:");
                foreach (var item in bl.GetAllHostingUnits())
                {
                    Console.WriteLine(item.ToString());
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e);;
            }
            try//tets for delete hosting unit
            {
                bl.DeleteHostingUnit(unit2);
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }
            try//printing to see if deleted one was printed
            {
                Console.WriteLine(" _________________________________________________________________________\n All Hosting Units:");
                foreach (var item in bl.GetAllHostingUnits())
                {
                    Console.WriteLine(item.ToString());
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e);;
            }
            HostingUnit unit4 = new HostingUnit();
            unit4.AreaOfHostingUnit = BEEnum.Area.Jerusalem;
            unit4.Owner1            = new Host();
            bl.AddHostingUnit(unit4);
            try//basic test for grouping, may be cn=hanged
            {
                Console.WriteLine(" _________________________________________________________________________\n Areas that exist in the hosting units");

                foreach (var item in bl.GroupByAreaOfHostingUnit())
                {
                    Console.WriteLine(item.Key.ToString());
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e);;
            }
            try//test for calcnumofhosts, using parp which is in two seperate hosting units , set higher inthe code
            {
                Console.WriteLine(" _________________________________________________________________________\n Test for number of hosting units in one host");

                bl.CalcNumOfHostingUnits();
                foreach (var item in bl.GetAllHosts())
                {
                    Console.WriteLine(item.ToString());
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e);;
            }
            try// test for the function all units with attractions
            {
                Console.WriteLine("_________________________________________________________________________\n All units with children attractions:");
                foreach (var item in bl.allUnitsWithchildrensattractions())
                {
                    Console.WriteLine(item.ToString());
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e);;
            }

            try// test for the function all units with pools
            {
                Console.WriteLine("_________________________________________________________________________\n All units with Pools:");
                foreach (var item in bl.allUnitsWithPools())
                {
                    Console.WriteLine(item.ToString());
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e);;
            }

            try// test for the function all units with Gardens
            {
                Console.WriteLine("_________________________________________________________________________\n All units with Gardnes:");
                foreach (var item in bl.allUnitsWithGardens())
                {
                    Console.WriteLine(item.ToString());
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e);;
            }

            try// test for the function all units with Jacccuzzis
            {
                Console.WriteLine("_________________________________________________________________________\n All units with jaccuzzi:");
                foreach (var item in bl.allUnitsWithJaccuzzis())
                {
                    Console.WriteLine(item.ToString());
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e);;
            }
            #endregion
            Order order1 = new Order();
            Order order2 = new Order();
            Order order3 = new Order();
            order1.GuestRequestKey1 = guesty.GuestRequestKey1;
            order1.HostingUnitKey1  = unit1.HostingUnitKey1;
            order2.GuestRequestKey1 = guesty.GuestRequestKey1;
            order2.HostingUnitKey1  = unit3.HostingUnitKey1;
            order3.GuestRequestKey1 = guesty.GuestRequestKey1;
            order3.HostingUnitKey1  = unit4.HostingUnitKey1;

            try
            {
                bl.AddOrder(order1);
                bl.AddOrder(order2);
            }
            catch (Exception e)
            {
                Console.WriteLine(e);;
            }
            try
            {
                Console.WriteLine(" _________________________________________________________________________\n All Orders :");

                foreach (var item in bl.GetAllOrders())
                {
                    Console.WriteLine(item.ToString());
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e);;
            }
            order1.Status1 = BEEnum.Status.mailSent;
            unit1.Owner1.CollectionClearance1 = true;
            order2.Status1 = BEEnum.Status.dealMade;
            try
            {
                bl.UpdateOrder(order1);
                bl.UpdateOrder(order2);
            }
            catch (Exception e)
            {
                Console.WriteLine(e);;
            }
            try
            {
                Console.WriteLine(" _________________________________________________________________________\n All Orders :");

                foreach (var item in bl.GetAllOrders())
                {
                    Console.WriteLine(item.ToString());
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e);;
            }
            try
            {
                Console.WriteLine(" _________________________________________________________________________\n All Orders older than x :");

                foreach (var item in bl.OlderOrders(0))
                {
                    Console.WriteLine(item.ToString());
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }
            try
            {
                Console.WriteLine(" _________________________________________________________________________");

                Console.WriteLine("number of orders sent to this guest suggestion: " + bl.GuestOrderSuggestions(guesty));
            }
            catch (Exception e)
            {
                Console.WriteLine(e);;
            }
            try
            {
                Console.WriteLine(" _________________________________________________________________________\n All the Banks :");

                foreach (var item in bl.GetAllBanks())
                {
                    Console.WriteLine(item.ToString());
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }
            Console.ReadKey();
        }
        static void Main(string[] args)
        {
            IBL          bl = BLImp.getBL();
            GuestRequest gr = new GuestRequest
            {
                Adults               = 2,
                Area                 = Enums.Area.Jerusalem,
                Children             = 2,
                ChildrensAttractions = Enums.IsInterested.Uninterested,
                EntryDate            = new DateTime(2019, 5, 2),
                FamilyName           = "Ben Komay",
                Garden               = Enums.IsInterested.Necessary,
                Jacuzzi              = Enums.IsInterested.Necessary,
                MailAddress          = "*****@*****.**",
                Pool                 = Enums.IsInterested.Possible,
                PrivateName          = "Ellen",
                RegistrationDate     = new DateTime(2019, 1, 12),
                ReleaseDate          = new DateTime(2019, 7, 30),
                Status               = Enums.RequestStatus.Open,
                Type                 = Enums.HostingUnitType.Hotel
            };

            bl.AddGuestRequest(gr);

            HostingUnit hu = new HostingUnit
            {
                Area                        = Enums.Area.North,
                HostingUnitName             = "Black Nose World",
                Diary                       = null,
                IsThereChildrensAttractions = false,
                IsThereGarden               = true,
                IsThereJacuzzi              = true,
                IsTherePool                 = true,
                NumberOfPlacesForAdults     = 4,
                NumberOfPlacesForChildren   = 1,
                Type                        = Enums.HostingUnitType.Zimmer
            };
            Host schnorer = new Host
            {
                BankAccountNumber = 5000,
                BankBranchDetails = new BankBranch
                {
                    BankAccountNumber = 10000,
                    BankName          = "Mizrachi",
                    BankNumber        = 100,
                    BranchAddress     = "31 Maple St.",
                    BranchCity        = "Police",
                    BranchNumber      = 1221
                },
                CollectionClearance = true,
                FamilyName          = "Slaggish",
                HostKey             = 31262,
                MailAddress         = "*****@*****.**",
                PhoneNumber         = "12015684586",
                PrivateName         = "Schnorer",
            };

            hu.Owner = schnorer;
            try
            {
                bl.AddHostingUnit(hu);
            }
            catch (AlreadyExistsException e)
            {
                Console.WriteLine(e.Message);
            }

            HostingUnit hu2 = new HostingUnit()
            {
                Area                        = Enums.Area.Jerusalem,
                HostingUnitName             = "Black Falcon",
                IsThereChildrensAttractions = false,
                IsThereGarden               = true,
                IsThereJacuzzi              = true,
                IsTherePool                 = true,
                NumberOfPlacesForAdults     = 3,
                NumberOfPlacesForChildren   = 2,
                Owner                       = schnorer,
                Type                        = Enums.HostingUnitType.Hotel
            };

            try
            {
                bl.AddHostingUnit(hu2);
            }
            catch (AlreadyExistsException e)
            {
                Console.WriteLine(e.Message);
            }

            Order o = new Order()
            {
                CreateDate      = new DateTime(2019, 2, 25),
                GuestRequestKey = gr.GuestRequestKey,
                HostingUnitKey  = hu2.HostingUnitKey,
                OrderDate       = new DateTime(2019, 4, 2),
                Status          = Enums.OrderStatus.UnTreated
            };

            try
            {
                bl.AddOrder(o);
            }
            catch (AlreadyExistsException e)
            {
                Console.WriteLine(e.Message);
            }

            // Now let's make it fail

            try
            {
                bl.AddOrder(o);
            } w
            catch (AlreadyExistsException e)
            {
                Console.WriteLine(e.Message);
            }

            Console.WriteLine("available hostingunits:");

            try
            {
                foreach (var i in bl.GetAllAvailableHostingUnit(new DateTime(2019, 3, 2), 60))
                {
                    Console.WriteLine(i);
                }
            }
            catch (ArgumentException e)
            {
                Console.WriteLine(e.Message);
            }

            Console.WriteLine("guestrequests requiring a pool:");
            foreach (var i in bl.GetAllGuestRequestWhere(isGuestRequestWithPool))
            {
                Console.WriteLine(i);
            }

            Console.WriteLine("all bank accounts:");

            try
            {
                foreach (var i in bl.GetAllBankAccounts())
                {
                    Console.WriteLine(i);
                }
            }
            catch (NoItemsException e)
            {
                Console.WriteLine(e.Message);
            }

            Console.WriteLine("Amount of orders to the guest:");

            try
            {
                Console.WriteLine(bl.GetAmountOfOrderToGuest(gr.GuestRequestKey));
            }
            catch (NoItemsException e)
            {
                Console.WriteLine(e.Message);
            }
        }
        private void ButtonOk_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                if (TextBox_of_privat_name != null)
                {
                    my_Guest.PrivateName = TextBox_of_privat_name.Text.ToString();
                }
                if (TextBox_of_Family_name != null)
                {
                    my_Guest.FamilyName = TextBox_of_Family_name.Text.ToString();
                }
                if (email != null)
                {
                    my_Guest.MailAddress = email.Text.ToString();
                }
                if (TextBox_of_number_phon != null)
                {
                    my_Guest.FhoneNumber = TextBox_of_number_phon.Text.ToString();
                }
                if (TextBox_of_number_SubArea != null)
                {
                    my_Guest.SubArea = TextBox_of_number_SubArea.Text.ToString();
                }
                if (TextBox_of_Adults != null)
                {
                    my_Guest.Adults = int.Parse(TextBox_of_Adults.Text.ToString());
                }
                if (TextBox_of_children != null)
                {
                    my_Guest.Children = int.Parse(TextBox_of_children.Text.ToString());
                }
                if (DatePicker_EntryDate.SelectedDate != null)
                {
                    my_Guest.EntryDate = DateTime.Parse(DatePicker_EntryDate.Text);
                }
                if (DatePicker_ReleaseDate.SelectedDate != null)
                {
                    my_Guest.ReleaseDate = DateTime.Parse(DatePicker_ReleaseDate.Text);
                }
                if (ComboBox_of_Area.SelectedItem != null)
                {
                    my_Guest.Area = CheckEnums.CheckArea(ComboBox_of_Area.SelectionBoxItem.ToString());
                }
                if (ComboBox_of_Type.SelectedItem != null)
                {
                    my_Guest.Type = CheckEnums.CheckType(ComboBox_of_Type.SelectionBoxItem.ToString());
                }
                if (ComboBox_of_pool.SelectedItem != null)
                {
                    my_Guest.Pool = CheckEnums.CheckAreaoptions(ComboBox_of_pool.SelectionBoxItem.ToString());
                }
                if (ComboBox_of_Jacuzzi.SelectedItem != null)
                {
                    my_Guest.Jacuzzi = CheckEnums.CheckAreaoptions(ComboBox_of_Jacuzzi.SelectionBoxItem.ToString());
                }
                if (ComboBox_of_Garden.SelectedItem != null)
                {
                    my_Guest.Garden = CheckEnums.CheckAreaoptions(ComboBox_of_Garden.SelectionBoxItem.ToString());
                }
                if (ComboBox_of_ChildrensAttractions.SelectedItem != null)
                {
                    my_Guest.ChildrensAttractions = CheckEnums.CheckAreaoptions(ComboBox_of_ChildrensAttractions.SelectionBoxItem.ToString());
                }
            }
            catch (ArgumentException exp)
            {
                MessageBox.Show(exp.Message);
            }


            // בדיקה שמילא את כל השדות של הטקסט
            if ((TextBox_of_privat_name.Text == "") ||
                (TextBox_of_Family_name.Text == "") ||
                (email.Text == "") ||
                (TextBox_of_number_phon.Text == "") ||
                (TextBox_of_Adults.Text == "") ||
                (TextBox_of_children.Text == ""))

            {
                MessageBox_Project x = new MessageBox_Project(":שִׂים לֵב ", "לא מילאת את כל השדות אנא מלא את כל השדות");
            }
            bl.AddGuestRequest(my_Guest); // ההעברה למימוש
        }
        static void Main(string[] args)
        {
            IBL bl = FactoryBl.getBl();


            #region GuestRequest testing

            GuestRequest req = new GuestRequest();
            req.PrivateName         = "efi";
            req.FamilyName          = "dim";
            req.MailAddress         = "*****@*****.**";
            req.Status              = true;
            req.RegistrationDate    = DateTime.Now;
            req.EntryDate           = new DateTime(2019, 12, 02);
            req.ReleaseDate         = new DateTime(2019, 12, 03);
            req.Area                = "Tel Aviv";
            req.Adults              = 3;
            req.Children            = 4;
            req.Jacuzzi             = 1;
            req.Pool                = 1;
            req.Type                = "zimmer";
            req.ChildrenAttractions = 0;

            //// exception testing
            ////req.EntryDate = new DateTime(2019, 12, 03);
            ////req.ReleaseDate = new DateTime(2019, 12, 02);

            try
            {
                bl.AddGuestRequest(req);
            }
            catch (Exception ex)
            {
                Console.WriteLine("ERROR: \n" + ex.Message);
            }

            //req.GuestRequestKey = 10000009;
            //req.GuestRequestKey = 10000007;
            //req.Adults = 4;
            //bl.UpdateGuestRequest(req);

            try
            {
                GuestRequest temp = bl.GetRequest(10000009);
                Console.WriteLine(temp.ToString());
            }
            catch (Exception ex)
            {
                Console.WriteLine("ERROR: \n" + ex.Message);
            }

            ////List<GuestRequest> temp1 = bl.GetAllGuests();
            ////foreach (var item in temp1)
            ////{
            ////    Console.WriteLine(item.ToString() + "\n");
            ////}

            ////IEnumerable<IGrouping<string, GuestRequest>> temp2 = bl.RequestsByArea();

            ////foreach(IGrouping<string, GuestRequest> g in temp2)
            ////{
            ////    switch (g.Key)
            ////    {
            ////        case "Jerusalem":
            ////            Console.WriteLine("Jerusalem: \n");
            ////            foreach (var item in g)
            ////            {
            ////                Console.WriteLine("{0} ", item + "\n");
            ////            }
            ////            Console.WriteLine("\n");
            ////            break;

            ////        case "Tel Aviv":
            ////            Console.WriteLine("Tel Aviv: \n");
            ////            foreach (var item in g)
            ////            {
            ////                Console.WriteLine("{0} ", item + "\n");
            ////            }
            ////            Console.WriteLine("\n");
            ////            break;
            ////    }
            ////}



            ////IEnumerable<IGrouping<int, GuestRequest>> temp3 = bl.RequestsByGuests();

            ////foreach (IGrouping<int, GuestRequest> g in temp3)
            ////{
            ////    switch (g.Key)
            ////    {
            ////        case 7:
            ////            Console.WriteLine("Guests: 7 \n");
            ////            foreach (var item in g)
            ////            {
            ////                Console.WriteLine("{0} ", item + "\n");
            ////            }
            ////            Console.WriteLine("\n");
            ////            break;

            ////        case 8:
            ////            Console.WriteLine("Guests: 8 \n");
            ////            foreach (var item in g)
            ////            {
            ////                Console.WriteLine("{0} ", item + "\n");
            ////            }
            ////            Console.WriteLine("\n");
            ////            break;
            ////    }
            ////}



            ////IEnumerable<GuestRequest> temp4 = bl.RequestsByCondition(x => x.PrivateName == "efi");
            ////foreach (var item in temp4)
            ////    Console.WriteLine(item.ToString() + "\n");

            #endregion

            #region HostinUnit testing

            //HostingUnit hos = new HostingUnit()
            //{
            //    HostingUnitKey = 469834,
            //    HostingUnitName = "Tsameret",
            //    Owner = new Host()
            //    {
            //        HostKey = 332484609,
            //        PrivateName = "efi",
            //        FamilyName = "dim",
            //        PhoneNumber = "054-1234567",
            //        MailAddress = "*****@*****.**",
            //        BankBranchDetails = new BankBranch()
            //        {
            //            BankNumber = 2,
            //            BankName = "MyBank",
            //            BranchNumber = 11,
            //            BranchAddress = "*****@*****.**",
            //            BranchCity = "Tel Aviv"
            //        },
            //        BankAccountNumber = 111,
            //        CollectionClearance = true
            //    },
            //    Area = "Tel Aviv",
            //    Adults = 3,
            //    Children = 5,
            //    Jacuzzi = 1,
            //    Pool = 1,
            //    Type = "zimmer",
            //    ChildrenAttractions = 0
            //};

            //bl.AddHostUnit(hos);


            ////bl.RemoveHostUnit(hos);
            ////hos.HostingUnitKey = 333333;

            ////try
            ////{
            ////    bl.RemoveHostUnit(hos);
            ////}
            ////catch (Exception ex)
            ////{
            ////    Console.WriteLine(ex.Message + "\n");
            ////}


            //hos.Pool = 0;
            //bl.UpdateHostUnit(hos);

            //Order ord_temp = new Order()
            //{
            //    GuestRequestKey = 4589,
            //    HostingUnitKey = 469834,
            //    Status = 1,
            //};
            //bl.SetDiary(ord_temp);
            //HostingUnit temp = bl.GetHostingUnit(hos.HostingUnitKey);
            //Console.WriteLine(temp.ToString() + "\n");

            //Console.WriteLine(bl.OrdersByUnit(hos) + "\n");
            //DateTime temp_entry = new DateTime(2020, 3, 3);
            //Console.WriteLine(bl.IsItAvailaible(hos, temp_entry, 3) + "\n");


            //HostingUnit hos1 = new HostingUnit()
            //{
            //    HostingUnitName = "Tsa",
            //    Owner = new Host()
            //    {
            //        HostKey = 332484609,
            //        PrivateName = "efi",
            //        FamilyName = "dim",
            //        PhoneNumber = "054-1234567",
            //        MailAddress = "*****@*****.**",
            //        BankBranchDetails = new BankBranch()
            //        {
            //            BankNumber = 2,
            //            BankName = "MyBank",
            //            BranchNumber = 11,
            //            BranchAddress = "*****@*****.**",
            //            BranchCity = "Tel Aviv"
            //        },
            //        BankAccountNumber = 111,
            //        CollectionClearance = true
            //    },
            //    Area = "Jerusalem",
            //    Adults = 3,
            //    Children = 5,
            //    Jacuzzi = 1,
            //    Pool = 1,
            //    Type = "zimmer",
            //    ChildrenAttractions = 0
            //};

            //bl.AddHostUnit(hos1);

            //IEnumerable<IGrouping<string, HostingUnit>> temp10 = bl.UnitsByArea();

            //foreach (IGrouping<string, HostingUnit> g in temp10)
            //{
            //    switch (g.Key)
            //    {
            //        case "Jerusalem":
            //            Console.WriteLine("Jerusalem: \n");
            //            foreach (var item in g)
            //            {
            //                Console.WriteLine("{0} ", item + "\n");
            //            }
            //            Console.WriteLine("\n");
            //            break;

            //        case "Tel Aviv":
            //            Console.WriteLine("Tel Aviv: \n");
            //            foreach (var item in g)
            //            {
            //                Console.WriteLine("{0} ", item + "\n");
            //            }
            //            Console.WriteLine("\n");
            //            break;
            //    }
            //}

            //List<HostingUnit> temp11 = bl.AvailableUnits(temp_entry, 3);
            //foreach (var item in temp11)
            //{
            //    Console.WriteLine(item.ToString() + "\n");
            //}
            //Console.WriteLine("\n");

            #endregion

            #region Order testing

            //Order ord = new Order();
            //ord.GuestRequestKey = 4589;
            //ord.HostingUnitKey = 469834;
            //ord.OrderKey = 3124;
            //ord.Status = 0;
            //ord.CreateDate = DateTime.Now;
            //ord.OrderDate = new DateTime(2019, 12, 02);
            //ord.CommissionPerDay = 5;
            //try
            //{
            //    bl.AddOrder(ord);
            //}
            //catch (Exception ex)
            //{
            //    Console.WriteLine("ERROR: \n" + ex.Message);
            //}
            // exception testing
            // ord.GuestRequestKey = 222;
            // try
            //{
            //      bl.AddOrder(ord);
            // }
            //  catch (Exception ex)
            //  {
            //      Console.WriteLine("ERROR: \n" + ex.Message);
            // }
            //ord.Status = 1;
            //try
            //{
            //    bl.UpdateOrder(ord);
            //}
            //catch (Exception ex)
            //{
            //    Console.WriteLine("ERROR: \n" + ex.Message);
            //}

            //List<Order> temp7 = bl.GetAllOrders();
            //foreach (var item in temp7)
            //{
            //    Console.WriteLine(item.ToString() + "\n");
            //}

            //  int temp8;
            //  Console.WriteLine(temp8 = bl.OrdersByRequest(req));

            //List<Order> temp9 = bl.OlderOrders(10);
            //Console.WriteLine("List of all Orders with CreateDate or OrderDate older than given days:");
            //foreach (var item in temp9)
            //{
            //    Console.WriteLine(item.ToString() + "\n");
            //}
            //bl.UpdateOtherOrders(12, 123);
            #endregion

            #region Others testing

            //DateTime temp12 = new DateTime(2019, 12, 4);
            //DateTime temp13 = new DateTime(2019, 12, 6);
            //Console.WriteLine(bl.DifferenceDays(temp12, temp13) + "\n");


            //List<BankBranch> temp14 = bl.ListBankBranches();
            //foreach (var item in temp14)
            //{
            //    Console.WriteLine(item.ToString() + "\n");
            //}
            //Console.WriteLine("\n");
            #endregion

            Console.ReadLine();
        }