Example #1
0
        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;
 }
Example #4
0
 public SmartShipmentFedexFileProvider(IApplicationController applicationController, ISmartShipmentMessagesProvider messagesProvider, ISmartShipmentExportContext exportContext) : base(messagesProvider, exportContext)
 {
     ExportParameterParser = applicationController.GetContainer().Resolve <ISmartShipmentExportParametersParser>(ApplicationTypes.FedExShipmentManager.ToString());
 }