public CallRateProcessing( CompanyDTO company, ILogService log, IDbFactory dbFactory, ITime time) { _company = company; _log = log; _time = time; _dbFactory = dbFactory; _weightService = new WeightService(); var messageService = new SystemMessageService(log, time, dbFactory); var serviceFactory = new ServiceFactory(); var actionService = new SystemActionService(log, time); var rateProviders = serviceFactory.GetShipmentProviders(log, time, dbFactory, _weightService, company.ShipmentProviderInfoList, null, null, null, null); _rateService = new RateService(dbFactory, log, time, _weightService, messageService, company, actionService, rateProviders); }
protected override void RunCallback() { var dbFactory = new DbFactory(); var time = new TimeService(dbFactory); var log = GetLogger(); CompanyDTO company; using (var db = dbFactory.GetRDb()) { company = db.Companies.GetByIdWithSettingsAsDto(CompanyId); } var weightService = new WeightService(); var messageService = new SystemMessageService(log, time, dbFactory); var serviceFactory = new ServiceFactory(); var quantityManager = new QuantityManager(log, time); var rateProviders = serviceFactory.GetShipmentProviders(log, time, dbFactory, weightService, company.ShipmentProviderInfoList, null, null, null, null); var actionService = new SystemActionService(log, time); var commentService = new OrderCommentService(dbFactory, log, time, actionService); commentService.ProcessSystemAction(); var rateService = new RateService(dbFactory, log, time, weightService, messageService, company, actionService, rateProviders); rateService.ProcessSystemAction(CancellationToken); var quantityDistribution = new QuantityDistributionService(dbFactory, quantityManager, log, time, QuantityDistributionHelper.GetDistributionMarkets(), DistributeMode.None); quantityDistribution.ProcessSystemAction(actionService); }
public void OnPointerClick(PointerEventData eventData) { try { LocalDataWrapper.getPlayer().addPilotToSquadron(LocalDataWrapper.getPlayer().getSelectedPilot()); } catch (System.ApplicationException e) { SystemMessageService.showErrorMsg(e.Message, GameObject.Find("SystemMessagePanel"), 2, null); } }
public void OnPointerClick(PointerEventData eventData) { try { LocalDataWrapper.getPlayer().removePilotFromSquadron(this.pilot, this.pilotId); } catch (System.ApplicationException e) { SystemMessageService.showErrorMsg(e.Message, GameObject.Find("SystemMessagePanel"), 2, null); } }
public static void determineInitiative() { if (squadScoresAreEqual()) { PointerClickCallback callback = GameObject.Find("ScriptHolder").GetComponent <CoroutineHandler>().rollAttackDiceCallback; SystemMessageService.showErrorMsg(MatchHandlerConstants.EQUAL_SQUAD_SCORE_TEXT + " " + MatchDatas.getPlayers()[0].getPlayerName() + MatchHandlerConstants.EQUAL_SQUAD_SCORE_TEXT_ENDING, GameObject.Find("SystemMessagePanel"), 1, callback); } else { PointerClickCallback callback = displayInitiativeChooserCallback; SystemMessageService.showErrorMsg(getPlayerWithLowestSquadScore().getPlayerName() + MatchHandlerConstants.NOT_EQUAL_SQUAD_SCORE_TEXT, GameObject.Find("SystemMessagePanel"), 1, callback); } }
public void UpgradeOrderList(IList <long> orderIds) { var syncInfo = new EmptySyncInformer(_log, SyncType.Orders); var serviceFactory = new ServiceFactory(); var weightService = new WeightService(); var messageService = new SystemMessageService(_log, _time, _dbFactory); var rateProviders = serviceFactory.GetShipmentProviders(_log, _time, _dbFactory, weightService, _company.ShipmentProviderInfoList, null, null, null, null); var companyAddress = new CompanyAddressService(_company); var synchronizer = new AmazonOrdersSynchronizer(_log, _company, syncInfo, rateProviders, companyAddress, _time, weightService, messageService); using (var db = _dbFactory.GetRWDb()) { IList <DTOOrder> dtoOrders = db.ItemOrderMappings.GetSelectedOrdersWithItems(weightService, orderIds.ToArray(), includeSourceItems: true).ToList(); foreach (var dtoOrder in dtoOrders) { _log.Info("Upgrade order: " + dtoOrder.OrderId); //Update into DB, after success update var order = db.Orders.GetById(dtoOrder.Id); order.UpgradeLevel = 1; db.Commit(); dtoOrder.UpgradeLevel = 1; if (synchronizer.UIUpdate(db, dtoOrder, false, false, false, null)) { _log.Info("Success"); } else { _log.Info("Failed"); } } } }
protected override void RunCallback() { CompanyDTO company = null; var dbFactory = new DbFactory(); var time = new TimeService(dbFactory); var log = GetLogger(); var weightService = new WeightService(); var messageService = new SystemMessageService(log, time, dbFactory); var serviceFactory = new ServiceFactory(); using (var db = dbFactory.GetRDb()) { company = db.Companies.GetByIdWithSettingsAsDto(CompanyId); } var actionService = new SystemActionService(log, time); var rateProviders = serviceFactory.GetShipmentProviders(log, time, dbFactory, weightService, company.ShipmentProviderInfoList, null, null, null, null); //var addressService = new AddressService(null, company.GetReturnAddressDto(), company.GetPickupAddressDto()); //Checking email service, sent test message //var emailSmtpSettings = SettingsBuilder.GetSmtpSettingsFromCompany(company, AppSettings.IsDebug, AppSettings.IsSampleLabels); //var emailService = new EmailService(GetLogger(), emailSmtpSettings, addressService); var rateService = new RateService(dbFactory, log, time, weightService, messageService, company, actionService, rateProviders); rateService.RefreshAmazonRates(); rateService.RefreshSuspiciousFedexRates(); }
protected override void RunCallback() { CompanyDTO company = null; var dbFactory = new DbFactory(); var time = new TimeService(dbFactory); var log = GetLogger(); var addressService = AddressService.Default; var now = time.GetAppNowTime(); if (!time.IsBusinessDay(now)) { return; } using (var db = dbFactory.GetRDb()) { company = db.Companies.GetByIdWithSettingsAsDto(CompanyId); } var emailSmtpSettings = SettingsBuilder.GetSmtpSettingsFromCompany(company, AppSettings.IsDebug, AppSettings.IsSampleLabels); var emailService = new EmailService(GetLogger(), emailSmtpSettings, addressService); var weightService = new WeightService(); var messageService = new SystemMessageService(log, time, dbFactory); var dhlEcommerceSwitchService = new DhlECommerceSwitchService(log, time, company, dbFactory, emailService, weightService, messageService); dhlEcommerceSwitchService.SwitchToECommerce(); }
public void CallProcessEBayOrders(string orderNumber) { var syncInfo = new DbSyncInformer(_dbFactory, _log, _time, SyncType.Orders, "", MarketType.eBay, String.Empty); var settings = new SettingsService(_dbFactory); var dbFactory = new DbFactory(); var quantityManager = new QuantityManager(_log, _time); var priceService = new PriceService(dbFactory); var serviceFactory = new ServiceFactory(); var addressCheckServices = serviceFactory.GetAddressCheckServices(_log, _time, dbFactory, _company.AddressProviderInfoList); var companyAddress = new CompanyAddressService(_company); var addressService = new AddressService(addressCheckServices, companyAddress.GetReturnAddress(MarketIdentifier.Empty()), companyAddress.GetPickupAddress(MarketIdentifier.Empty())); var weightService = new WeightService(); var messageService = new SystemMessageService(_log, _time, _dbFactory); var rateProviders = serviceFactory.GetShipmentProviders(_log, _time, dbFactory, weightService, _company.ShipmentProviderInfoList, null, null, null, null); var stampsRateProvider = rateProviders.FirstOrDefault(r => r.Type == ShipmentProviderType.Stamps); var orderHistoryService = new OrderHistoryService(_log, _time, _dbFactory); var validatorService = new OrderValidatorService(_log, _dbFactory, _emailService, settings, orderHistoryService, _actionService, priceService, _htmlScraper, addressService, companyAddress.GetReturnAddress(MarketIdentifier.Empty()), stampsRateProvider, _time, _company); var actionService = new SystemActionService(_log, _time); var cacheService = new CacheService(_log, _time, actionService, quantityManager); using (var db = _dbFactory.GetRWDb()) { //if (!syncInfo.IsSyncInProgress()) { try { syncInfo.SyncBegin(null); var synchronizer = new EBayOrdersSynchronizer(_log, _eBayApi, _company, settings, syncInfo, rateProviders, quantityManager, _emailService, validatorService, orderHistoryService, cacheService, _actionService, companyAddress, _time, weightService, messageService); if (String.IsNullOrEmpty(orderNumber)) { synchronizer.Sync(OrderSyncModes.Full, null); } else { synchronizer.ProcessSpecifiedOrder(db, orderNumber); } } finally { syncInfo.SyncEnd(); } } } }
protected override void RunCallback() { _api.Connect(); var dbFactory = new DbFactory(); var time = new TimeService(dbFactory); var log = GetLogger(); var syncInfo = new DbSyncInformer(dbFactory, log, time, SyncType.Orders, _api.MarketplaceId, _market, String.Empty); using (var db = dbFactory.GetRWDb()) { var serviceFactory = new ServiceFactory(); var settings = new SettingsService(dbFactory); var company = db.Companies.GetByIdWithSettingsAsDto(CompanyId); var companyAddress = new CompanyAddressService(company); var shipmentProviders = company.ShipmentProviderInfoList; var addressProviders = company.AddressProviderInfoList; var addressCheckServiceList = serviceFactory.GetAddressCheckServices(log, time, dbFactory, addressProviders); var addressService = new AddressService(addressCheckServiceList, companyAddress.GetReturnAddress(MarketIdentifier.Empty()), companyAddress.GetPickupAddress(MarketIdentifier.Empty())); var actionService = new SystemActionService(log, time); var priceService = new PriceService(dbFactory); var quantityManager = new QuantityManager(log, time); var emailService = new EmailService(log, SettingsBuilder.GetSmtpSettingsFromCompany(company, AppSettings.IsDebug, AppSettings.IsSampleLabels), addressService); var weightService = new WeightService(); var messageService = new SystemMessageService(log, time, dbFactory); var rateProviders = serviceFactory.GetShipmentProviders(log, time, dbFactory, weightService, shipmentProviders, null, null, null, null); var htmlScraper = new HtmlScraperService(log, time, dbFactory); var orderHistoryService = new OrderHistoryService(log, time, dbFactory); var validatorService = new OrderValidatorService(log, dbFactory, emailService, settings, orderHistoryService, actionService, priceService, htmlScraper, addressService, companyAddress.GetReturnAddress(MarketIdentifier.Empty()), rateProviders.FirstOrDefault(r => r.Type == ShipmentProviderType.Stamps), time, company); var cacheService = new CacheService(log, time, actionService, quantityManager); var orderSyncFactory = new OrderSyncFactory(); if (settings.GetOrdersSyncEnabled() != false) { if (!syncInfo.IsSyncInProgress()) //NOTE: for now it a few minutes ~10 { if (!IsPrintLabelsInProgress(db, actionService, time)) { try { var marketplaceId = _api.MarketplaceId; LogWrite("Set OrderSyncInProgress"); syncInfo.SyncBegin(null); var synchronizer = orderSyncFactory.GetForMarket(_api, GetLogger(), company, settings, syncInfo, rateProviders, quantityManager, emailService, validatorService, orderHistoryService, cacheService, actionService, companyAddress, time, weightService, messageService); var isFullSync = !_lastFullSync.HasValue || (time.GetUtcTime() - _lastFullSync) > _fullSyncInterval; var syncResult = synchronizer.Sync(isFullSync ? OrderSyncModes.Full : OrderSyncModes.Fast, CancellationToken); if (isFullSync) { _lastFullSync = time.GetUtcTime(); } var statusList = new List <string>() { OrderStatusEnum.Unshipped.Str() }; if (_market == MarketType.Walmart || _market == MarketType.WalmartCA) { statusList.Add(OrderStatusEnum.Pending.Str()); } var dbOrderIdList = (from o in db.Orders.GetAll() join sh in db.OrderShippingInfos.GetAll() on o.Id equals sh.OrderId where (sh.IsActive || sh.IsVisible) && statusList.Contains(o.OrderStatus) && o.Market == (int)_market && (o.MarketplaceId == marketplaceId || String.IsNullOrEmpty(marketplaceId)) select o.AmazonIdentifier).Distinct().ToList(); //var dbOrders = db.ItemOrderMappings.GetOrdersWithItemsByStatus(weightService, statusList.ToArray(), _market, marketplaceId).ToList(); //dbOrders = dbOrders.Where(o => o.ShippingInfos != null && o.ShippingInfos.Any(sh => sh.IsActive || sh.IsVisible)).ToList(); var unshippedMarketOrderIdList = syncResult.ProcessedOrders .Where(o => statusList.Contains(o.OrderStatus)) .Select(o => o.OrderId) .ToList(); if (syncResult.SkippedOrders != null) { unshippedMarketOrderIdList.AddRange(syncResult.SkippedOrders .Where(o => statusList.Contains(o.OrderStatus)) .Select(o => o.OrderId) .ToList()); } unshippedMarketOrderIdList = unshippedMarketOrderIdList.Distinct().ToList(); //var dbOrderIdList = dbOrders.Select(o => o.OrderId).Distinct().ToList(); LogDiffrents(unshippedMarketOrderIdList, dbOrderIdList, "Missing order: "); if (unshippedMarketOrderIdList.Count != dbOrderIdList.Count || !syncResult.IsSuccess) { emailService.SendSystemEmailToAdmin("PA Orders Sync has issue", "Market: " + _api.Market + " - " + _api.MarketplaceId + "<br/>" + "Sync message: " + syncResult.Message + "<br/>" + "Missing orders: " + (unshippedMarketOrderIdList.Count - dbOrderIdList.Count)); } //NOTE: otherwise if we have missed order (older than 2 hours that was hidden in next lite iteration) if (isFullSync) { settings.SetOrderCountOnMarket(unshippedMarketOrderIdList.Count, _market, marketplaceId); settings.SetOrderCountInDB(dbOrderIdList.Count, _market, marketplaceId); } if (syncResult.IsSuccess) { settings.SetOrderSyncDate(time.GetUtcTime(), _market, marketplaceId); } } catch (Exception ex) { emailService.SendSystemEmailToAdmin("PA Orders Sync has error", "Market: " + _api.Market + " - " + _api.MarketplaceId + "<br/>" + "Sync message: " + ExceptionHelper.GetAllMessages(ex)); LogError("RunCallback", ex); } finally { syncInfo.SyncEnd(); } } else { LogWrite("Labels printing in-progress"); } } else { LogWrite("Order Sync already runned"); } } } }