Ejemplo n.º 1
0
 public ApiController(IUserService service, IStoreService storeService, IRiderService riderService, IGeneralService generalService)
 {
     _userSrvice     = service;
     _storeService   = storeService;
     _riderService   = riderService;
     _generalService = generalService;
 }
Ejemplo n.º 2
0
 public RiderHandlerHostedService(
     IDeliveryService deliveryService,
     IRiderService riderService,
     ILogService logger)
 {
     this.deliveryService = deliveryService;
     this.riderService    = riderService;
     this.logger          = logger;
 }
Ejemplo n.º 3
0
        private async Task HandleRiderRatingChangedEvent(RiderRatingChangedEvent riderRatingChanged)
        {
            using (var scope = _serviceScopeFactory.CreateScope())
            {
                IRiderService riderService = scope.ServiceProvider.GetRequiredService <IRiderService>();

                var updatedRider = new Rider
                {
                    IdRider       = riderRatingChanged.IdRider,
                    AverageRating = riderRatingChanged.newAverageRating
                };

                await riderService.UpdateRider(updatedRider);
            }
        }
Ejemplo n.º 4
0
        private async Task AssignDeliveryToRider()
        {
            using (var scope = serviceScopeFactory.CreateScope())
            {
                IDeliveryService deliveryService = scope.ServiceProvider.GetRequiredService <IDeliveryService>();
                IRiderService    riderService    = scope.ServiceProvider.GetRequiredService <IRiderService>();
                var deliveryToProcess            = deliveryService.GetDeliveriesToAssign().FirstOrDefault();
                if (deliveryToProcess != null)
                {
                    logger.Log($"Processing delivery {deliveryToProcess.Id}", Microsoft.Extensions.Logging.LogLevel.Information, System.Net.HttpStatusCode.OK, nameof(RiderHandlerHostedService));
                    var availableRiders = await riderService.GetRiders(new DTO.RiderFilter()
                    {
                        Active = true
                    });

                    if (availableRiders.Any())
                    {
                        var rider = availableRiders
                                    .Where(r => r.StartingPoint != null)
                                    // TODO: stiamo usando solo il punto di pick up e non stiamo usando il range...migliorare l'algoritmo :)
                                    .OrderBy(r => r.StartingPoint.Distance(deliveryToProcess.PickUpPosition))
                                    .First();
                        await deliveryService.UpdateDelivery(new DTO.Delivery()
                        {
                            Id             = deliveryToProcess.Id,
                            IdRider        = rider.IdRider,
                            TakeChargeDate = DateTime.UtcNow
                        });

                        logger.Log($"Assigned rider {rider.IdRider} - \"{rider.RiderName}\" to delivery {deliveryToProcess.Id}", Microsoft.Extensions.Logging.LogLevel.Information, System.Net.HttpStatusCode.OK, nameof(RiderHandlerHostedService));
                    }
                    else
                    {
                        logger.Log($"No available riders for delivery {deliveryToProcess.Id}", Microsoft.Extensions.Logging.LogLevel.Warning, System.Net.HttpStatusCode.OK, nameof(RiderHandlerHostedService));
                    }
                }
            }
        }
Ejemplo n.º 5
0
 public RidersController(IRiderService riderService)
 {
     this.riderService = riderService;
 }
 public RidersController(IConfiguration config, IRiderService riderService)
 {
     _config       = config;
     _riderService = riderService;
 }
Ejemplo n.º 7
0
 public RidersController(SCCDataContext context, IRiderService service)
 {
     _context = context;
     _service = service;
 }
Ejemplo n.º 8
0
 public RiderController(CarpoolContext context, IRiderService iRiderService)
 {
     this.context       = context;
     this.IRiderService = iRiderService;
 }
Ejemplo n.º 9
0
 public FollowService(SCCDataContext context, IRiderService riderService)
 {
     _context      = context;
     _riderService = riderService;
 }
Ejemplo n.º 10
0
 public PersonController(IRiderService riderService, IDataService dataService)
 {
     _riderService = riderService;
     _dataService  = dataService;
 }
Ejemplo n.º 11
0
 public SignupService(SCCDataContext context, IRiderService riderService, IRideService rideService)
 {
     _context      = context;
     _riderService = riderService;
     _rideService  = rideService;
 }