Esempio n. 1
0
        public async Task <int> Handle(CreateOrderingCommand request, CancellationToken cancellationToken)
        {
            if (await VehicleHelper.IsVehicleBusy(request.VehicleId, _context))
            {
                throw new ConflictException("Vehicle is currently participating in another project");
            }

            var project = new Domain.Entities.Ordering
            {
                OwnerUserId      = request.OwnerUserId,
                VehicleId        = request.VehicleId,
                OrderingStatusId = 10,
                CreatedDate      = DateTime.UtcNow,
                StartDirection   = _mapper.Map <Domain.Entities.Direction>(request.StartDirection),
                EndDirection     = _mapper.Map <Domain.Entities.Direction>(request.EndDirection)
            };

            await _context.Ordering.AddAsync(project);

            await _context.SaveChangesAsync(cancellationToken);

            return(project.OrderingId);
        }