예제 #1
0
        public async Task <Airport> UpdateAirportByIdAsync(int airportId, UpdateAirportRequest airport)
        {
            var airportsDb = await _apCntx.Airports.Where(ap => ap.AirportId == airportId).ToArrayAsync();

            if (airportsDb?.Length < 1)
            {
                return(null);
            }

            var airportToUpdate = airportsDb[0];

            _mapper.Map <UpdateAirportRequest, AirportDb>(airport, airportToUpdate);

            airportToUpdate.Updated = DateTime.UtcNow;

            await _apCntx.SaveChangesAsync();

            return(_mapper.Map <Airport>(airportToUpdate));
        }
예제 #2
0
        public async Task <Airport> CreateAirportAsync(UpdateAirportRequest airport)
        {
            var airportsDb = await _apCntx.Airports.Where(ap => ap.AirportCode.Equals(airport.AirportCode) &&
                                                          ap.AirportName.Equals(airport.AirportName)).ToArrayAsync();

            if (airportsDb.Length > 0)
            {
                return(null);
            }

            var airportToCreate = _mapper.Map <AirportDb>(airport);

            airportToCreate.Created = DateTime.UtcNow;
            airportToCreate.Updated = DateTime.UtcNow;

            var added = _apCntx.Airports.Add(airportToCreate);

            await _apCntx.SaveChangesAsync();

            return(_mapper.Map <Airport>(added));
        }