public async Task Create(RideBinding binding) { using (var context = GetMainContext()) { var entity = binding.ToEntity(context); entity.UserId = UserId; await context.Rides.AddAsync(entity); await context.SaveChangesAsync(); } }
public static Ride ToEntity(this RideBinding b, MainContext context, Ride entity = null) { entity = entity ?? new Ride(); entity.DateOfArrival = b.Arrival; entity.DateOfDeparture = b.Departure; entity.DestinationCityId = b.DestinationCityId is null ? null : context.Cities.GetId(b.DestinationCityId); entity.OriginCityId = b.OriginCityId is null ? null : context.Cities.GetId(b.OriginCityId); entity.DestinationPoiId = b.DestinationPoiId is null ? null : context.Pois.GetId(b.DestinationPoiId); entity.OriginPoiId = b.OriginPoiId is null ? null : context.Pois.GetId(b.OriginPoiId); entity.RideTypeId = context.RideTypes.GetId(b.TypeId).Value; return(entity); }
public async Task Post([FromBody] RideBinding binding) => await _rideHandler.Create(binding);