private async Task <Guid?> Create(Flight flight) { Entities.Flight entity = ToEntity(flight); entity.Id = Guid.NewGuid(); _context.Add(entity); await _context.SaveChangesAsync(); return(entity.Id); }
public async Task <Guid?> CreateOrUpdate(Flight flight) { if (flight.Id == null || flight.Id == Guid.Empty) { return(await Create(flight)); } else { return(await Update(flight)); } }
private Entities.Flight ToEntity(Flight flight) { if (flight == null) { return(null); } return(new Entities.Flight() { Id = flight.Id, DepartureAirportId = flight.DepartureAirport.Id, ArrivalAirportId = flight.ArrivalAirport.Id, PlaneId = flight.Plane.Id, Distance = flight.Distance, TotalFuelConsumption = flight.TotalFuelConsumption }); }
private async Task <Guid?> Update(Flight flight) { Entities.Flight entity = ToEntity(flight); _context.Attach(entity).State = EntityState.Modified; try { await _context.SaveChangesAsync(); return(flight.Id); } catch (DbUpdateConcurrencyException) { if (!_context.Flights.Any(e => e.Id == flight.Id)) { return(null); } else { throw; } } }