コード例 #1
0
        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();
            }
        }
コード例 #2
0
        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);
        }
コード例 #3
0
 public async Task Post([FromBody] RideBinding binding) => await _rideHandler.Create(binding);