Exemplo n.º 1
0
        public async Task <TrainModel> GetTrainAsync(int trainId)
        {
            var trainEntity = await _trainRepository.FindAsync(trainId);

            if (trainEntity is null)
            {
                return(null);
            }

            return(new TrainModel
            {
                TrainId = trainEntity.TrainId,
                TrainName = trainEntity.TrainName,
                Wagons = trainEntity.Wagons
                         .Select(x => new WagonModel()
                {
                    WagonId = x.WagonId, WagonPosition = x.WagonPosition, NumberOfChairs = x.Chairs.Count,
                    Chairs = x.Chairs.Select(x => new ChairModel()
                    {
                        ChairId = x.ChairId, WagonId = x.WagonId, NearWindow = x.NearWindow, Number = x.Number, Reserved = x.Reserved
                    })
                             .ToList()
                })
                         .ToList()
            });
        }