public void TestClientsAddGetUpdateDelete()
        {
            //Add-Get-Тест
            bool bookOrBuy = true;
            Clients expectedClients = new Clients();
            expectedClients.BookOrBuy = bookOrBuy;

            DataAccessClients basicReis = new DataAccessClients();
            basicReis.AddElement(expectedClients);
            var actualClients = basicReis.GetAll().Last();
            Assert.AreEqual(expectedClients, actualClients);

            //Update - Тест
            expectedClients = actualClients;
            expectedClients.BookOrBuy = false;
            basicReis.UpdateElement(expectedClients);
            actualClients = basicReis.GetElement(expectedClients.CodeClient);
            Assert.AreEqual(expectedClients, actualClients);

            //Delete-Тест
            int expectedCount = basicReis.GetAll().Count() - 1;
            basicReis.DeleteElement(actualClients);
            int actualCount = basicReis.GetAll().Count();
            Assert.AreEqual(expectedCount, actualCount);
        }
        //Бронирование
        public void Reserve()
        {
            Console.Clear();
            BasicReisEntitie.OutToConsole();

            Console.Write("Введите пункт назначения: ");
            string destination = Console.ReadLine();
            Console.Clear();
            Console.Write("Укажите текущую дату в формате dd/mm/yy: ");
            DateTime nowTime = DateTime.Parse(Console.ReadLine());

            //Выбираем все рейсы в искомую точку и сортируем по времени
            var basicReises = BasicReisEntitie.GetAll().Where(x => x.To.Trim() == destination.Trim()).Select(x => x.CodeBasicReis);
            var reises = ReisEntitie.GetAll().Where(x => basicReises.Contains((int)x.CodeBasicReis)).OrderBy(x => x.Date);
            //Выбираем из подходящих рейсов, рейсы на которые есть места
            var freeReises = reises.Where(x => PlainsEntitie.GetAll().Single(plain => plain.CodePlane == x.BasicReis.CodePlain).NumberOfSeats - ClientsEntitie.GetAll().Where(client => client.CodeReis == x.CodeReis).Count() > 0);
            //Выбираем первый, по времени, рейс на который есть места
            var total = freeReises.SkipWhile(x => x.Date < nowTime).DefaultIfEmpty(null).First();

            if (total != null)
            {
                Clients temp = new Clients();
                temp.BookOrBuy = false;
                temp.CodeReis = total.CodeReis;
                ClientsEntitie.AddElement(temp);
                Console.WriteLine("Забронирован билет на рейс {0} в {1} на {2}", total.CodeReis, total.BasicReis.To.Trim(), total.Date);
            }
            else
            {
                Console.WriteLine("Билетов в {0} нет на допустимый период", destination);
            }
            Console.WriteLine("Нажмите любую клавишу");
            Console.ReadKey();
            Console.Clear();
        }
		private void detach_Clients(Clients entity)
		{
			this.SendPropertyChanging();
			entity.Reis = null;
		}
		private void attach_Clients(Clients entity)
		{
			this.SendPropertyChanging();
			entity.Reis = this;
		}
 partial void DeleteClients(Clients instance);
 partial void UpdateClients(Clients instance);
 partial void InsertClients(Clients instance);