Exemplo n.º 1
0
        public async Task <FlightData> AddFlightAsync(FlightData data)
        {
            try
            {
                await flightsSm.WaitAsync().ConfigureAwait(false);

                var flights = await LoadAsync().ConfigureAwait(false);

                var flight = new FlightWrapper(data)
                {
                    Id            = await idProvider.GenerateAsync().ConfigureAwait(false),
                    AddedDateTime = DateTimeOffset.UtcNow
                };
                flights.Add(flight.Id, flight);
                await SaveAsync(flights).ConfigureAwait(false);

                return(flight.ToDTO());
            }
            finally
            {
                flightsSm.Release();
            }
        }