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()); }