public async Task <IActionResult> RegisterBaggageSetAsync([FromBody] RegisterBaggageSet command) { try { if (ModelState.IsValid) { // insert baggageset BaggageSet baggageSet = Mapper.Map <BaggageSet>(command); baggageSet.LoadedOnFlight = false; baggageSet.DeliveredToBaggageClaim = false; _dbContext.BaggageSets.Add(baggageSet); await _dbContext.SaveChangesAsync(); // send event var e = Mapper.Map <BaggageSetRegistered>(command); await _messagePublisher.PublishMessageAsync(e.MessageType, e, ""); // return result return(CreatedAtRoute("GetByScheduledFlightId", new { scheduledFlightId = baggageSet.ScheduledFlightId }, baggageSet)); } return(BadRequest()); } catch (DbUpdateException) { ModelState.AddModelError("", "Unable to save changes. " + "Try again, and if the problem persists " + "see your system administrator."); return(StatusCode(StatusCodes.Status500InternalServerError)); } }
public async Task <IActionResult> LoadBaggageSetOnToFlightAsync([FromBody] LoadBaggageOnFlight command) { try { if (ModelState.IsValid) { BaggageSet bSet = Mapper.Map <BaggageSet>(command); var baggageSet = await _dbContext.BaggageSets.FirstOrDefaultAsync(b => b.ScheduledFlightId == bSet.ScheduledFlightId); if (baggageSet == null) { return(NotFound()); } baggageSet.LoadedOnFlight = true; _dbContext.Update(baggageSet); await _dbContext.SaveChangesAsync(); // send event var e = Mapper.Map <BaggageLoadedOnToFlight>(command); await _messagePublisher.PublishMessageAsync(e.MessageType, e, ""); // return result return(Ok(baggageSet)); } return(BadRequest()); } catch (DbUpdateException) { ModelState.AddModelError("", "Unable to save changes. " + "Try again, and if the problem persists " + "see your system administrator."); return(StatusCode(StatusCodes.Status500InternalServerError)); } }