示例#1
0
        public void TestReisAddGetUpdateDelete()
        {
            //Add-Get-Тест
            DateTime date         = DateTime.Now;
            Reis     expectedReis = new Reis();

            expectedReis.Date = date;

            DataAccessReis reis = new DataAccessReis();

            reis.AddElement(expectedReis);
            var actualReis = reis.GetAll().Last();

            Assert.AreEqual(expectedReis, actualReis);

            //Update - Тест
            expectedReis      = actualReis;
            expectedReis.Date = date.AddDays(2);
            reis.UpdateElement(expectedReis);
            actualReis = reis.GetElement(expectedReis.CodeReis);
            Assert.AreEqual(expectedReis, actualReis);

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

            reis.DeleteElement(actualReis);
            int actualCount = reis.GetAll().Count();

            Assert.AreEqual(expectedCount, actualCount);
        }
示例#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 TestReisAddGetUpdateDelete()
        {
            //Add-Get-Тест
            DateTime date = DateTime.Now;
            Reis expectedReis = new Reis();
            expectedReis.Date = date;

            DataAccessReis reis = new DataAccessReis();
            reis.AddElement(expectedReis);
            var actualReis = reis.GetAll().Last();
            Assert.AreEqual(expectedReis, actualReis);

            //Update - Тест
            expectedReis = actualReis;
            expectedReis.Date = date.AddDays(2);
            reis.UpdateElement(expectedReis);
            actualReis = reis.GetElement(expectedReis.CodeReis);
            Assert.AreEqual(expectedReis, actualReis);

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