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 <ActionResult> UpdateWagonAsync([FromRoute] int wagonId, [FromBody] UpdateWagonModel updateWagonModel) { if (wagonId != updateWagonModel.WagonId) { return(BadRequest()); } var wagon = await _wagonService.GetWagonAsync(wagonId); if (wagon is null) { return(NotFound()); } var wagonModel = new WagonModel { WagonId = wagonId, NumberOfChairs = updateWagonModel.NumberOfChairs, Chairs = updateWagonModel.Chairs .Select(x => new ChairModel() { NearWindow = x.NearWindow, Number = x.Number, Reserved = x.Reserved }) .ToList() }; await _wagonService.UpdateWagonAsync(wagonModel); return(Ok()); }
public async Task <ActionResult <WagonModel> > CreateWagonAsync(CreateWagonModel createWagonModel) { var wagonModel = new WagonModel { NumberOfChairs = createWagonModel.NumberOfChairs, }; var createdWagon = await _wagonService.CreateWagonAsync(wagonModel); return(CreatedAtAction(nameof(GetWagonAsync), new { wagonId = createdWagon.WagonId }, createdWagon)); }
public async Task <ActionResult <WagonModel> > CreateWagonAsync(CreateWagonModel createWagonModel) { if (String.IsNullOrEmpty(createWagonModel.TrainId.ToString())) { return(NotFound("Missing selected Train!")); } var wagonModel = new WagonModel { NumberOfChairs = createWagonModel.NumberOfChairs, TrainId = createWagonModel.TrainId }; var createdWagon = await _wagonService.CreateWagonAsync(wagonModel); return(CreatedAtAction(nameof(GetWagonAsync), new { wagonId = createdWagon.WagonId }, createdWagon)); }
public async void GetWagon_ReturnsOkResult_WhenWagonIsFound() { // Arrange var wagonService = Substitute.For <IWagonService>(); var wagonController = new WagonController(wagonService); var wagon = new WagonModel { WagonId = 1, NumberOfChairs = 2, Chairs = null }; wagonService.GetWagonAsync(wagon.WagonId).Returns(Task.FromResult <WagonModel>(wagon)); // Act var result = await wagonController.GetWagonAsync(wagon.WagonId); // Assert Assert.IsType <OkObjectResult>(result.Result); }
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 }); }