Esempio n. 1
0
        public async Task <WagonModel> UpdateWagonAsync(WagonModel wagonModel)
        {
            var wagonEntity = new Data.Entities.Wagon
            {
                WagonId = wagonModel.WagonId,
                Chairs  = wagonModel.Chairs
                          .Select(x => new Data.Entities.Chair()
                {
                    ChairId = x.ChairId, NearWindow = x.NearWindow, Number = x.Number, Reserved = x.Reserved, WagonId = x.WagonId
                })
                          .ToList()
            };

            wagonEntity = await _wagonRepository.UpdateAsync(wagonEntity);

            return(new WagonModel
            {
                WagonId = wagonEntity.WagonId,
                NumberOfChairs = wagonEntity.Chairs.Count,
                Chairs = wagonEntity.Chairs
                         .Select(x => new ChairModel()
                {
                    ChairId = x.ChairId, NearWindow = x.NearWindow, Number = x.Number, Reserved = x.Reserved, WagonId = x.WagonId
                })
                         .ToList()
            });
        }
Esempio n. 2
0
        public async Task <WagonModel> CreateWagonAsync(WagonModel wagonModel)
        {
            if (wagonModel is null || String.IsNullOrEmpty(wagonModel.TrainId.ToString()))
            {
                throw new ArgumentNullException(nameof(wagonModel));
            }

            var chairs = new List <Data.Entities.Chair>();

            for (int i = 1; i < wagonModel.NumberOfChairs + 1; i++)
            {
                chairs.Add(new Data.Entities.Chair {
                    NearWindow = false, Number = i, Reserved = false
                });
            }

            var wagonEntity = new Data.Entities.Wagon
            {
                Chairs  = chairs,
                TrainId = wagonModel.TrainId
            };

            wagonEntity = await _wagonRepository.AddAsync(wagonEntity);

            var listChairs = wagonEntity.Chairs
                             .Select(x => new ChairModel()
            {
                ChairId = x.ChairId, NearWindow = x.NearWindow, Number = x.Number, Reserved = x.Reserved, WagonId = x.WagonId
            })
                             .ToList();

            return(new WagonModel
            {
                WagonId = wagonEntity.WagonId,
                NumberOfChairs = wagonEntity.Chairs.Count,
                TrainId = wagonEntity.TrainId,
                Chairs = listChairs
            });
        }