Пример #1
0
        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));
            }
        }