public void UpdateUSPSTrackOrders() { while (true) { using (var db = new UnitOfWork(_log)) { var service = new UpdateOrderTrackingStatus(_company.Id, null, TimeSpan.FromSeconds(10)); var actionService = new SystemActionService(_log, _time); var dbFactory = new DbFactory(); var notificationService = new NotificationService(_log, _time, dbFactory); var companyAddress = new CompanyAddressService(_company); var addressService = new AddressService(null, companyAddress.GetReturnAddress(MarketIdentifier.Empty()), companyAddress.GetPickupAddress(MarketIdentifier.Empty())); var ruleList = new List <ITrackingRule>() { }; var trackingService = new TrackingManager(_log, actionService, addressService, _emailService, _time, ruleList); var uspsTrackingProvider = new ComposedUspsAndCanadaPostTrackingProvider(_log, _time, _company.USPSUserId, _company.CanadaPostKeys); service.UpdateAllShippedOrderStatus(trackingService, _time, db, uspsTrackingProvider, _company); } Thread.Sleep(TimeSpan.FromMinutes(0)); } }
public void ReProcessTrackInfoFull(IDbFactory dbFactory, string trackingNumber) { using (var db = dbFactory.GetRWDb()) { var shippings = db.Orders.GetUnDeliveredShippingInfoes(_time.GetUtcTime(), false, null) .Where(o => o.TrackingNumber == trackingNumber) .OrderByDescending(o => o.OrderDate) .ToList(); shippings.AddRange(db.Orders.GetUnDeliveredMailInfoes(_time.GetUtcTime(), false, null) .Where(o => o.TrackingNumber == trackingNumber) .OrderByDescending(o => o.OrderDate) .ToList()); var actionService = new SystemActionService(_log, _time); var companyAddress = new CompanyAddressService(_company); var addressService = new AddressService(null, companyAddress.GetReturnAddress(MarketIdentifier.Empty()), companyAddress.GetPickupAddress(MarketIdentifier.Empty())); var notificationService = new NotificationService(_log, _time, dbFactory); var ruleList = new List <ITrackingRule>() { new NeverShippedTrackingRule(_log, notificationService, _time), new GetStuckTrackingRule(_log, notificationService, _time), new NoticeLeftTrackingRule(_log, actionService, addressService, _time), //new UndeliverableAsAddressedTrackingRule(_log, actionService, addressService, _emailService, _time) }; var trackingService = new TrackingManager(_log, actionService, addressService, _emailService, _time, ruleList); var trackingProvider = new ComposedUspsAndCanadaPostTrackingProvider(_log, _time, _company.USPSUserId, _company.CanadaPostKeys); var fedexInfo = _company.ShipmentProviderInfoList.FirstOrDefault(sh => sh.Type == (int)ShipmentProviderType.FedexGeneral); var fedexTrackingProvider = new FedexTrackingApi(_log, _time, fedexInfo.EndPointUrl, fedexInfo.UserName, fedexInfo.Password, fedexInfo.Key1, fedexInfo.Key2, fedexInfo.Key3, _company.ShortName); //var dhlInfo = _company.ShipmentProviderInfoList.FirstOrDefault(sh => sh.Type == (int)ShipmentProviderType.Dhl); //var trackingProvider = new DhlTrackingProvider(_log, // _time, // dhlInfo.EndPointUrl, // dhlInfo.UserName, // dhlInfo.Password, // dhlInfo.Key1); trackingService.UpdateOrderTracking(db, _company, shippings, fedexTrackingProvider); } }
public void GetUSPSTrackingByUSPS(string trackingNumber) { var uspsTrackingProvider = new ComposedUspsAndCanadaPostTrackingProvider(_log, _time, _company.USPSUserId, _company.CanadaPostKeys); var results = uspsTrackingProvider.TrackShipments(new List <TrackingNumberToCheckDto>() { new TrackingNumberToCheckDto() { TrackingNumber = trackingNumber } }); _log.Info("Result lines: " + results.Count); }