示例#1
0
        public string Execute(string[] data)
        {
            int    tripId    = int.Parse(data[0]);
            Status newStatus = (Status)Enum.Parse(typeof(Status), data[1]);

            Trip   trip      = tripService.GetTripById(tripId);
            string oldStatus = trip.Status.ToString();

            trip.Status = newStatus;

            int        originId = trip.OriginBusStationId ?? default(int);
            BusStation origin   = busStationService.GetStationById(originId);

            int        destinationId = trip.DestinationBusStationId ?? default(int);
            BusStation destination   = busStationService.GetStationById(destinationId);

            DateTime dateTime = trip.DepartureTime;

            if (newStatus == Status.Arrived)
            {
                int passengers = this.ticketService.GetTicketByTripId(trip.TripId).Length;

                this.arrivedTripService.AddArrivalTrip(dateTime, origin, destination, passengers);

                return($"Trip from {origin.Town.Name} to {destination.Town.Name} on {dateTime.ToString("dd-MM-yyyy")}{Environment.NewLine}" +
                       $"Status changed from {oldStatus} to {newStatus}{Environment.NewLine}" +
                       $"On {dateTime.ToString("dd-MM-yyyy")} - {passengers} passengers arrived at {destination.Town.Name} from {origin.Town.Name}");
            }
            else
            {
                return($"Trip from {origin.Town.Name} to {destination.Town.Name} on {dateTime.ToString("dd-MM-yyyy")}{Environment.NewLine} Status changed from {oldStatus} to {newStatus}");
            }
        }
        public string Execute(string[] data)
        {
            int id = int.Parse(data[0]);

            BusStation station = busStationService.GetStationById(id);

            var sb = new StringBuilder();

            sb.AppendLine($"{station.Name}, {station.Town.Name}");
            sb.AppendLine("Arrivals:");
            foreach (var arrival in station.ArrivedTrips)
            {
                int  tripId = arrival.TripId;
                Trip trip   = tripService.GetTripById(tripId);

                sb.AppendLine($"From {trip.OriginBusStation.Name} | Arrive at: {trip.ArrivalTime.ToString("dd-MM-yyyy")} | Status: {trip.Status}");
            }

            sb.AppendLine("Departures:");
            foreach (var departed in station.DepartedTrips)
            {
                int  tripId = departed.TripId;
                Trip trip   = tripService.GetTripById(tripId);

                sb.AppendLine($"From {trip.DestinationBusStation.Name} | Depart at: {trip.DepartureTime.ToString("dd-MM-yyyy")} | Status: {trip.Status}");
            }

            return(sb.ToString());
        }