public PutAircraftInFleetResponse PutAircraftInFleet(PutAircraftInFleetRequest request) { var response = new PutAircraftInFleetResponse { IsSuccessful = false, Message = "", }; try { Fleet fleetItem; if (request.Id > 0) { fleetItem = _context.Fleet .Include(item => item.Aircraft) .Include(item => item.Status) .FirstOrDefault(item => item.Id == request.Id); } else { fleetItem = new Fleet(); } //_context.Update(request.Id); // Might need additional logic if the aircraft is existing type that already exists. // Same for the status. if (request.Aircraft.Id > 0) { request.Aircraft = _context.Aircraft.FirstOrDefault(aircraft => aircraft.Id == request.Aircraft.Id); } if (request.Status.Id > 0) { request.Status = _context.AircraftStatuses.FirstOrDefault(status => status.Id == request.Status.Id); } fleetItem.Aircraft = request.Aircraft; fleetItem.Status = request.Status; fleetItem.PurchaseDate = DateTime.Now; // This should probably work, unless one of the Aircraft or Status entities are a new // type that don't already exist. _context.Update(fleetItem); _context.SaveChanges(); response.IsSuccessful = true; response.Message = "Aircraft updated in fleet inventory."; } catch (Exception ex) { response.IsSuccessful = false; response.Message = ex.Message; } return(response); }
public IActionResult PutAircraftInFleet([FromBody] Fleet fleet) { var response = new PutAircraftInFleetResponse(); try { response = _fleetService.PutAircraftInFleet(new PutAircraftInFleetRequest { Aircraft = fleet.Aircraft, Status = fleet.Status, PurchaseDate = fleet.PurchaseDate, Id = fleet.Id }); } catch (Exception ex) { return(BadRequest(ex.ToString())); } if (response.IsSuccessful) { return(Ok(response.Message)); } else { return(BadRequest(response.Message)); } }