Пример #1
0
        public async Task Execute(StopBindingModel model)
        {
            var booking = context.Bookings.FirstOrDefault(b => b.BookingId == model.BookingId);

            if (booking == null)
            {
                throw new BookingNotFoundException("Booking Not Found");
            }

            var driver = context.Dirvers.FirstOrDefault(d => d.DriverId == booking.DriverId);

            if (driver == null)
            {
                throw new DriverNotFoundException("Driver Not Found");
            }

            var newStop = new Stop
            {
                StopId    = Guid.NewGuid().ToString(),
                BookingId = booking.BookingId,
                Address   = model.Address,
                PostCode  = model.PostCode,
                Reason    = model.Reason,
                Date      = model?.Date ?? DateTime.UtcNow.AddHours(1),
                Charge    = model.Reason.ToStopCharge(driver.CarType, booking.JobType)
            };

            context.Stops.Add(newStop);

            await context.SaveChangesAsync();
        }
Пример #2
0
        public async Task <IHttpActionResult> CreateStop(StopBindingModel model)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            await createStopCommand.Execute(model);

            return(Ok());
        }