public void UpdateShipments(List <Shipment> shipments, ISmartShipmentExportContext smartShipmentExportContext) { var currentProcessedShipmentNumber = string.Empty; try { _webServiceHelper.UpdateShipments(shipments, smartShipmentExportContext, ref currentProcessedShipmentNumber); } catch (Exception e) { _messagesProvider.Fatal(e); if (string.IsNullOrEmpty(currentProcessedShipmentNumber)) { _messagesProvider.Error( new NetworkException(InformationResources.ERROR_SHIPMENTS_IS_NOT_UPDATED + AcumaticaErrorMessageParcer.GetUserFriendlyMessage(e.Message))); } else { _messagesProvider.Error( new NetworkException( string.Format(InformationResources.ERROR_SHIPMENTS_NUMBER_IS_NOT_UPDATED, currentProcessedShipmentNumber) + AcumaticaErrorMessageParcer.GetUserFriendlyMessage(e.Message))); } } }
public void UpdateShipments(List <Shipment> shipments, ISmartShipmentExportContext smartShipmentExportContext, ref string currentProcessedShipmentNumber) { using (var soapClient = new ShipmentSoapClient(_settings)) { foreach (var shipment in shipments.ToList()) { currentProcessedShipmentNumber = shipment.ShipmentNbr.Value; var targetShipment = soapClient.GetShipmentByShipmentId(shipment.ShipmentNbr.Value); smartShipmentExportContext.MapTargetToExportedShipment(targetShipment, shipment); soapClient.UpdateShipment(targetShipment, _messagesProvider); } } if (shipments.Any() && shipments.Last() != null) { _browserHelper.ReloadActiveBrowserPage(shipments.Last().ShipmentNbr.Value); } var shipmentsNumbers = shipments.Select(s => s.ShipmentNbr.Value); _messagesProvider.Log(string.Format(InformationResources.INFO_SUCCESS_UPDATE_SHIPMENT, shipments.Count, string.Join(", ", shipmentsNumbers))); }
protected SmartShipmentFileProviderBase(ISmartShipmentMessagesProvider messagesProvider, ISmartShipmentExportContext exportContext) { _messagesProvider = messagesProvider; _exportContext = exportContext; }
public SmartShipmentFedexFileProvider(IApplicationController applicationController, ISmartShipmentMessagesProvider messagesProvider, ISmartShipmentExportContext exportContext) : base(messagesProvider, exportContext) { ExportParameterParser = applicationController.GetContainer().Resolve <ISmartShipmentExportParametersParser>(ApplicationTypes.FedExShipmentManager.ToString()); }