コード例 #1
0
        public IEnumerable <IBag> EjectPassengerBags(IPassenger passenger)
        {
            var baggage = this.baggageCompartment.Where(x => x.Owner.Username == passenger.Username).ToList();

            this.baggageCompartment.RemoveAll(x => x.Owner.Username == passenger.Username);
            return(baggage);
        }
コード例 #2
0
        public IPassenger RemovePassenger(int seat)
        {
            IPassenger removedPassenger = this.passengers[seat];

            this.passengers.RemoveAt(seat);
            return(removedPassenger);
        }
コード例 #3
0
 private void _addEventOnNewPassenger(IPassenger passenger)
 {
     passenger.StartWaitingEvent  += _startWaiting;
     passenger.StopWaitingEvent   += _stopWaiting;
     passenger.SuccessArriveEvent += _successArrive;
     passenger.AngryExitEvent     += _angryExit;
 }
コード例 #4
0
 private void _successArrive(IPassenger passenger)
 {
     if (SuccessArriveEvent != null)
     {
         SuccessArriveEvent(passenger);
     }
 }
コード例 #5
0
 private void _stopWaiting(IPassenger passenger)
 {
     if (StopWaitingEvent != null)
     {
         StopWaitingEvent(passenger);
     }
 }
コード例 #6
0
ファイル: GameService.cs プロジェクト: catdog50rus/Ferryman
 public void ActionRemoveFromArea(List <IPassenger> area, IPassenger passenger)
 {
     if (area.Contains(passenger))
     {
         area.Remove(passenger);
     }
 }
コード例 #7
0
ファイル: GameService.cs プロジェクト: catdog50rus/Ferryman
 public void ActionAddToArea(List <IPassenger> area, IPassenger passenger)
 {
     if (!area.Contains(passenger))
     {
         area.Add(passenger);
     }
 }
コード例 #8
0
        private int CheckInBags(IPassenger passenger, IEnumerable <int> bagsToCheckIn)
        {
            IList <IBag> bags = passenger.Bags;

            int confiscatedBagCount = 0;

            foreach (int i in bagsToCheckIn)
            {
                IBag currentBag = bags[i];

                bags.RemoveAt(i);

                if (ShouldConfiscate(currentBag))
                {
                    this.airport.AddConfiscatedBag(currentBag);
                    confiscatedBagCount++;
                }
                else
                {
                    this.airport.AddCheckedBag(currentBag);
                }
            }

            return(confiscatedBagCount);
        }
        public void TakeOffShouldThrowError()
        {
            ITrip        trip = new Trip("Bolivia", "Urugay", new LightAirplane());
            IList <IBag> bags = new List <IBag>();

            for (int i = 0; i < 20; i++)
            {
                trip.Airplane.AddPassenger(new Passenger("Gosho" + i));
            }

            IPassenger goshakaShteTovarim = trip.Airplane.Passengers.FirstOrDefault(p => p.Username == "Gosho0");

            for (int i = 0; i < 20; i++)
            {
                IEnumerable <IItem> itemsToAdd = new List <IItem>()
                {
                    new Colombian(), new Colombian()
                };
                IBag bag = new Bag(goshakaShteTovarim, itemsToAdd);

                bags.Add(bag);
            }

            for (int i = 0; i < bags.Count; i++)
            {
                goshakaShteTovarim.Bags.Add(bags[i]);
            }

            airport.AddTrip(trip);

            Assert.Throws <InvalidOperationException>(() => flightController.TakeOff());
        }
コード例 #10
0
        private int CheckInBags(IPassenger passenger, IEnumerable <int> bagsToCheckIn)
        {
            var bags = passenger.Bags;

            var confiscatedBagCount = 0;

            foreach (var bag in bagsToCheckIn)
            {
                var currentBag = bags[bag];

                bags.RemoveAt(bag);

                if (ShouldConfiscate(currentBag))
                {
                    airport.AddConfiscatedBag(currentBag);
                    confiscatedBagCount++;
                }
                else
                {
                    this.airport.AddCheckedBag(currentBag);
                }
            }

            return(confiscatedBagCount);
        }
コード例 #11
0
ファイル: Airplane.cs プロジェクト: Vascoding/Travel
        public IEnumerable <IBag> EjectPassengerBags(IPassenger passenger)
        {
            var bags = this.baggageCompartment.Where(a => a.Owner == passenger).ToList();

            this.baggageCompartment.RemoveAll(a => a.Owner == passenger);
            return(bags);
        }
コード例 #12
0
 public void SetPassenger(IPassenger passenger)
 {
     if (passenger != null)
     {
         _boardingAreaManager.AddPassenger(passenger);
     }
 }
コード例 #13
0
 private void _angryExit(IPassenger passenger)
 {
     if (AngryExitEvent != null)
     {
         AngryExitEvent(passenger);
     }
 }
コード例 #14
0
        public IPassenger RemovePassenger(int seatIndex)
        {
            IPassenger passenger = this.passengers[seatIndex];

            this.passengers.RemoveAt(seatIndex);
            return(passenger);
        }
コード例 #15
0
    // 열차를 타기 위해 Station -> Train으로 이동
    public void Out(IPassenger passenger)
    {
        //Debug.Log($"{passenger}이 {name} 역에서 나감");
        passengers.Remove(passenger);

        Refresh();
    }
コード例 #16
0
 public ITicket BuyTicket(IPassenger passenger, int numberOfSeat)
 {
     //ITicket[] freeSeats = new ITicket[TicketsOfFlight.Length];
     //for (int i = 0; i < TicketsOfFlight.Length; i++)
     //{
     //    int j = 0;
     //    if (TicketsOfFlight[i].Passenger == null)
     //    {
     //        freeSeats[j] = TicketsOfFlight[i];
     //        j++;
     //    }
     //}
     foreach (var freeTicket in TicketsOfFlight)
     {
         if (freeTicket.Passenger == null)
         {
             if (freeTicket.NumberOfSeat == numberOfSeat)
             {
                 freeTicket.BuyTicket(passenger);
                 return(freeTicket);
             }
         }
     }
     return(null);
 }
コード例 #17
0
        public static void SearchByPassport(IFlight[] flights, int numberOfPassport)
        {
            IPassenger[] passengers = new IPassenger[100];
            int          i          = 0;

            foreach (var flight in flights)
            {
                if (flight.SearchByPassport(numberOfPassport.ToString()) != null)
                {
                    passengers[i++] = flight.SearchByPassport(numberOfPassport.ToString());
                }
            }
            if (passengers != null)
            {
                foreach (var passenger in passengers)
                {
                    if (passenger != null)
                    {
                        Console.WriteLine(passenger);
                    }
                }
            }
            else
            {
                Console.WriteLine($"No passenger with such passport: {numberOfPassport}");
            }
        }
コード例 #18
0
        /// <summary>
        /// 生成编码
        /// </summary>
        /// <param name="CarryCode">航空公司二字码</param>
        /// <param name="Office">预订编码Office</param>
        /// <param name="AdultPnr">儿童订单中儿童编码备注的成人编码</param>
        /// <param name="IsChdETDZAudltTK">是否儿童出成人票</param>
        /// <param name="pList">乘机人列表</param>
        /// <param name="skywaylist">航段列表</param>
        /// <returns></returns>
        public RePnrObj GetPnrInfo(string CarryCode, List <Tb_Ticket_Passenger> pList, List <Tb_Ticket_SkyWay> skywaylist, out string ErrMsg)
        {
            ErrMsg = "";
            List <IPassenger> pasList  = new List <IPassenger>();
            List <ISkyLeg>    skyList  = new List <ISkyLeg>();
            SendNewPID        pid      = new SendNewPID();
            PnrParamObj       PnrParam = new PnrParamObj();

            //必填项 是否开启新版PID发送指令
            PnrParam.UsePIDChannel     = userInfo.FQP.KongZhiXiTong != null && userInfo.FQP.KongZhiXiTong.Contains("|48|") ? 2 : 0; //2;
            PnrParam.ServerIP          = userInfo.Configparam.WhiteScreenIP;
            PnrParam.ServerPort        = int.Parse(string.IsNullOrEmpty(userInfo.Configparam.WhiteScreenPort) ? "0" : userInfo.Configparam.WhiteScreenPort);
            PnrParam.Office            = userInfo.Configparam.Office.Split('^')[0];
            PnrParam.CarryCode         = CarryCode;
            PnrParam.PasList           = pasList;
            PnrParam.SkyList           = skyList;
            PnrParam.IsGetSpecialPrice = 1;//为获取特价
            //是否儿童出成人票
            PnrParam.ChildIsAdultEtdz = "0";
            //可选项
            PnrParam.UserName = userInfo.User != null ? userInfo.User.LoginName : "";

            //输入的手机号码 预订编码CT项电话
            PnrParam.CTTel     = "028-55555555";
            PnrParam.CTCTPhone = "15928636274";


            PnrParam.PID   = userInfo.Configparam.Pid;
            PnrParam.KeyNo = userInfo.Configparam.KeyNo;
            //乘机人
            foreach (Tb_Ticket_Passenger pas in pList)
            {
                IPassenger p1 = new IPassenger();
                pasList.Add(p1);
                p1.PassengerName = pas.PassengerName;
                p1.PassengerType = pas.PassengerType;
                p1.PasSsrCardID  = pas.Cid;
            }
            //航段
            foreach (Tb_Ticket_SkyWay skyway in skywaylist)
            {
                ISkyLeg leg1 = new ISkyLeg();
                skyList.Add(leg1);
                leg1.CarryCode    = skyway.CarryCode;
                leg1.FlightCode   = skyway.FlightCode;
                leg1.FlyStartTime = skyway.FromDate.ToString("HHmm");
                leg1.FlyEndTime   = skyway.ToDate.ToString("HHmm");
                leg1.FlyStartDate = skyway.FromDate.ToString("yyyy-MM-dd");
                leg1.fromCode     = skyway.FromCityCode;
                leg1.toCode       = skyway.ToCityCode;
                leg1.Space        = skyway.Space;
                leg1.Discount     = skyway.Discount;
            }
            RePnrObj pObj = pid.ISendIns(PnrParam);

            //记录指令
            SaveInsInfo(pObj, userInfo.User, userInfo.Company);
            return(pObj);
        }
コード例 #19
0
ファイル: Airplane.cs プロジェクト: MomchilSt/SoftUni
        public IEnumerable <IBag> EjectPassengerBags(IPassenger passenger)
        {
            var passengerBags = baggageCompartment.Where(b => b.Owner == passenger).ToArray();

            this.baggageCompartment.RemoveAll(x => x.Owner.Username == passenger.Username);

            return(passengerBags);
        }
コード例 #20
0
        public IEnumerable <IBag> EjectPassengerBags(IPassenger passenger)
        {
            //List could be empty
            var removedBags = this.baggageCompartment.Where(x => x.Owner.Username == passenger.Username).ToList();

            this.baggageCompartment.RemoveAll(x => x.Owner.Username == passenger.Username);
            return(removedBags);
        }
コード例 #21
0
        public IEnumerable <IBag> EjectPassengerBags(IPassenger passenger)
        {
            List <IBag> bags = baggageCompartment.Where(x => x.Owner == passenger).ToList();

            baggageCompartment.RemoveAll(x => x.Owner == passenger);

            return(bags);
        }
コード例 #22
0
        public IPassenger RemovePassenger(int seat) //TODO Check if index is valid
        {
            IPassenger passangerToRemove = this.passengers[seat];

            this.passengers.RemoveAt(seat);

            return(passangerToRemove);
        }
コード例 #23
0
        public IEnumerable <IBag> EjectPassengerBags(IPassenger passenger)
        {
            var bagsToRemove = this.baggageCompartment.Where(x => x.Owner == passenger).ToList();

            this.baggageCompartment.RemoveAll(x => x.Owner == passenger); //TODO Check if works

            return(bagsToRemove);
        }
コード例 #24
0
        private static void prepareForLaunch(PassengerType type, bool isWearingSpaceSuit)
        {
            IPassenger passenger = ProtectedPassenger.Create(type, isWearingSpaceSuit); // Notice ProtectedPassenger also implements IPassenger.

            con(passenger.Speak());
            con(passenger.LaunchCommand());
            hr();
        }
コード例 #25
0
        public IEnumerable <IBag> EjectPassengerBags(IPassenger passenger)
        {
            var removedBaggage = baggageCompartment.Where(b => b.Owner == passenger).ToList();

            baggageCompartment.RemoveAll(b => b.Owner == passenger);

            return(removedBaggage);
        }
コード例 #26
0
        public IPassenger RemovePassenger(int seat)
        {
            IPassenger passengerToReturn = this.passengers[seat];

            this.passengers.RemoveAt(seat);

            return(passengerToReturn);
        }
コード例 #27
0
    private void _startWaiting(IPassenger passenger)
    {
//        Debug.Log("Add");
        if (StartWaitingEvent != null)
        {
            StartWaitingEvent(passenger);
        }
    }
コード例 #28
0
        public string Ride(IDriver driver, IPassenger passenger)
        {
            if (driver.ValidatePassenger(passenger) || passenger == null)
            {
                return("Viagem de sucesso!");
            }

            throw new Exception("Viagem inválida.");
        }
コード例 #29
0
        public IEnumerable <IBag> EjectPassengerBags(IPassenger passenger)
        {
            var passengerBags = this.luggages
                                .Where(b => b.Owner == passenger)
                                .ToArray();

            luggages = luggages.Where(b => b.Owner != passenger).ToList();

            return(passengerBags);
        }
コード例 #30
0
ファイル: Vimaan.cs プロジェクト: paint11/TravelSkeleton
		public IEnumerable<IBag>Out(IPassenger passenger) {
			var passengerBags = this.bagazhi
				.Where(b => b.Owner == passenger)
				.ToArray();

			foreach (var bag in passengerBags)
				this.bagazhi.Remove(bag);

			return passengerBags;
		}
コード例 #31
0
 public PassengerBLL()
 {
     _passenger = DataAccessFactory.Instance.Passenger;
 }