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