Example #1
0
        public void TestPlainsAddGetUpdateDelete()
        {
            //Add-Get-Тест
            int numberOfSeats = 20;

            Plains expectedPlains = new Plains();

            expectedPlains.NumberOfSeats = numberOfSeats;

            DataAccessPlains plains = new DataAccessPlains();

            plains.AddElement(expectedPlains);
            var actualPLains = plains.GetAll().Last();

            Assert.AreEqual(expectedPlains, actualPLains);

            //Update - Тест
            expectedPlains = actualPLains;
            expectedPlains.NumberOfSeats = 30;
            plains.UpdateElement(expectedPlains);
            actualPLains = plains.GetElement(expectedPlains.CodePlane);
            Assert.AreEqual(expectedPlains, actualPLains);

            //Delete-Тест
            int expectedCount = plains.GetAll().Count() - 1;

            plains.DeleteElement(actualPLains);
            int actualCount = plains.GetAll().Count();

            Assert.AreEqual(expectedCount, actualCount);
        }
Example #2
0
        //Бронирование
        public string Reserve(string destination, DateTime nowTime)
        {
            //Выбираем все рейсы в искомую точку и сортируем по времени
            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);
                return(String.Format("Забронирован билет на рейс {0} в {1} на {2}", total.CodeReis, total.BasicReis.To.Trim(), total.Date));
            }
            else
            {
                return(String.Format("Билетов в {0} нет на допустимый период", destination));
            }
        }
        public void TestPlainsAddGetUpdateDelete()
        {
            //Add-Get-Тест
            int numberOfSeats = 20;

            Plains expectedPlains = new Plains();
            expectedPlains.NumberOfSeats = numberOfSeats;

            DataAccessPlains plains = new DataAccessPlains();
            plains.AddElement(expectedPlains);
            var actualPLains = plains.GetAll().Last();
            Assert.AreEqual(expectedPlains, actualPLains);

            //Update - Тест
            expectedPlains = actualPLains;
            expectedPlains.NumberOfSeats = 30;
            plains.UpdateElement(expectedPlains);
            actualPLains = plains.GetElement(expectedPlains.CodePlane);
            Assert.AreEqual(expectedPlains, actualPLains);

            //Delete-Тест
            int expectedCount = plains.GetAll().Count() - 1;
            plains.DeleteElement(actualPLains);
            int actualCount = plains.GetAll().Count();
            Assert.AreEqual(expectedCount, actualCount);
        }