public bool Run(ShipmentFacts facts, Packlist packlist) { m_uow = facts.SalesOrder.Session; // Associate shipment with sales order Shipment shipment = ShipmentMapper.MapFrom(facts); // Update the new lot qty after the shipment shipment.Item.Ship(shipment); // Create Transaction // implicit data record creation TransactionMapper.MapFrom(shipment); // Tell the line item to update its status from this shipment shipment.LineItem.UpdateStatusFromShipment(shipment.Qty); // Add shipment to packlist packlist.AddShipment(shipment); //Persist Scout.Core.Data.Save(m_uow); return(true); }
private void SendShipmentData(ShipmentMapper shipment) { PrepareControlsBeforeWorkflow(shipment); //Check Update addressbook checkbox _upsManagerMap.UpdateAddressBookCheckBox.SetValueToControl(_settings.UpsAddUpdateAddressBook ? "true" : "false"); if (_settings.UpsAddUpdateAddressBook) { Wait(10); } _upsManagerMap.MapShipmentData(shipment); Wait(1); //Is Country is not US if (shipment.Contact.Address.Country.Value != "US") { _upsManagerMap.FindControlsInTree(_mainWindow, new[] { ControlType.Edit, ControlType.ComboBox }, new List <string> { _upsManagerMap.UpsServiceComboBox.AutomaitonId, _upsManagerMap.GeneralDescOfGoodsPane.AutomaitonId }); _upsManagerMap.UpsServiceComboBox.SetValueToControl("S"); _upsManagerMap.GeneralDescOfGoodsPane.SetValueToControl("Automatic information input"); } }
private void SendPackagesData(ShipmentMapper shipment) { if (!shipment.Packages.Any()) { _messagesProvider.Log(InformationResources.INFO_UPS_SHIPMENT_NO_PACKAGE); _upsManagerMap.ReferenceNumberOnePane.SetValueToControl(shipment.ShipmentNbr.Value.Trim()); _upsManagerMap.PackageWeightPane.AutomationElement.SetFocus(); } foreach (var package in shipment.Packages) { if (IsWarnDialogFired) { StopTimer(); break; } _upsManagerMap.PackageWeightPane.SetValueToControl(package.PackageFormattedWeight.Value); var delayCount = 100; while (delayCount > 0 && string.IsNullOrEmpty(_upsManagerMap.ReferenceNumberOnePane.GetCurrentValue().Trim())) { delayCount--; _upsManagerMap.ReferenceNumberOnePane.SetValueToControl(shipment.ShipmentNbr.Value); } _upsManagerMap.AddPackageButton.Click(); } _messagesProvider.Log(InformationResources.INFO_UPS_FILL_PACKAGE_DATA); }
private void SendPackagesData(ShipmentMapper shipment) { if (!shipment.Packages.Any()) { return; } var packageNumbers = shipment.Packages.Count; var packagesWeight = shipment.Packages.Sum(p => p.Weight.Value); _fedexShipManagerMap.PackageNumbers.SetValueToControl(packageNumbers.ToString()); _fedexShipManagerMap.PackageWeight.SetValueToControl(packagesWeight.ToString()); _fedexShipManagerMap.PackageServiceType.SetValueToControl("R"); //PackageType always disabled for "R" if (!_fedexShipManagerMap.PackageServiceType.GetCurrentValue().StartsWith("R")) { _fedexShipManagerMap.PackageType.SetValueToControl("1"); } _fedexShipManagerMap.PackageBillTransportationTo.SetValueToControl("1"); if (packageNumbers > 1) { MultiPackageWindowProcess(shipment); } }
public void PopulateApplicaitonByShipmentData(ShipmentMapper shipment) { StartTimer(_upsManagerMap); try { //Shipment informaiton SendShipmentData(shipment); Wait(1); if (CheckShipmentProgrammWarnings(_messagesProvider)) { return; } //Package informaiton if (CheckShipmentFieldsFilled(_upsManagerMap.RequiredShipmentPane, _messagesProvider)) { _messagesProvider.Log(InformationResources.INFO_UPS_FILL_SHIPMENT_DATA); SendPackagesData(shipment); } } finally { StopTimer(); } CheckShipmentProgrammWarnings(_messagesProvider); }
public ShipmentValidationContext(ShipmentMapper shipment, IAcumaticaNetworkProvider networkProvider) { _shipment = shipment; _shipmentOpenValidator = new ShipmentOpenValidator(); var shipmentTypeValidator = new ShipmentTypeValidator(); var shipmentBoxValidator = new ShipmentBoxValidator(networkProvider); _shipmentOpenValidator.SetSuccessor(shipmentTypeValidator); shipmentTypeValidator.SetSuccessor(shipmentBoxValidator); }
public override Dictionary <string, string> HandleValidation(ShipmentMapper shipment) { if (!shipment.Packages.Any() && !_networkProvider.GetShippingBoxes().Any()) { ErrorsResult.Add("Shipment Box Validation error", string.Format(InformationResources.WARN_SHIPMENT_VALIDATION_BOX, shipment.ShipmentNbr.Value)); return(ErrorsResult); } return(Successor != null?Successor.HandleValidation(shipment) : ErrorsResult); }
public override Dictionary <string, string> HandleValidation(ShipmentMapper shipment) { if (shipment.Type.Value != "Shipment") { ErrorsResult.Add("Shipment Type Validation Error", string.Format(InformationResources.WARN_SHIPMENT_VALIDATION_TYPE, shipment.ShipmentNbr.Value)); return(ErrorsResult); } return(Successor != null?Successor.HandleValidation(shipment) : ErrorsResult); }
public override Dictionary <string, string> HandleValidation(ShipmentMapper shipment) { if (shipment.Status.Value != "Open" || shipment.Hold.Value == true) { ErrorsResult.Add("Shipment Status Validation error", string.Format(InformationResources.WARN_SHIPMENT_VALIDATION_OPEN, shipment.ShipmentNbr.Value)); return(ErrorsResult); } return(Successor != null?Successor.HandleValidation(shipment) : ErrorsResult); }
private void PrepareControlsBeforeWorkflow(ShipmentMapper shipment) { if (shipment.Contact.Address.Country.Value == "US") { _fedexShipManagerMap.PostalCode.IsClearMask = true; _fedexShipManagerMap.PostalCode.MaxLength = 9; } if (shipment.Contact.Address.Country.Value == "US" || shipment.Contact.Address.Country.Value == "CA") { _fedexShipManagerMap.Telephone.IsClearMask = true; _fedexShipManagerMap.Telephone.MaxLength = 10; } }
private void SetEmail(ShipmentMapper shipment) { var fedexShipAlertTabMap = (FedExShipAlertTabMap)_cache.Get(ShipmentApplicaotinHelperType.FedExShipAlertTabMap, _mainWindow); var tabItems = _fedExShipMahagerShellMap.TopTabControl.GetTabItems(); if (tabItems.Any() && tabItems.Count > 2) { var selectedTabItem = tabItems[2]; selectedTabItem.Select(); var searchPatch = fedexShipAlertTabMap.Email.DescendentIdPath; var emailPane = selectedTabItem.AutomationElement.FindDescendentByIdPath(searchPatch); if (emailPane != null) { fedexShipAlertTabMap.Email.Init(emailPane); fedexShipAlertTabMap.MapShipmentData(shipment); } tabItems[0].Select(); } }
private void PrepareControlsBeforeWorkflow(ShipmentMapper shipment) { if (shipment.Contact.Address.Country.Value == "US") { _upsManagerMap.PostalCodePane.IsClearMask = true; _upsManagerMap.PostalCodePane.MaxLength = 9; _upsManagerMap.TelephonePane.IsClearMask = true; _upsManagerMap.TelephonePane.MaxLength = 10; _upsManagerMap.TelephonePane.IsTypedInputRequired = true; _upsManagerMap.TelephonePane.IsCharInputRequired = false; } else { _upsManagerMap.PostalCodePane.IsClearMask = false; _upsManagerMap.TelephonePane.IsClearMask = false; _upsManagerMap.TelephonePane.MaxLength = 15; _upsManagerMap.TelephonePane.IsTypedInputRequired = false; _upsManagerMap.TelephonePane.IsCharInputRequired = true; } }
public void PopulateApplicaitonByShipmentData(ShipmentMapper shipment) { StartTimer(_fedExShipMahagerShellMap); try { //Shipment informaiton PrepareControlsBeforeWorkflow(shipment); SendShipmentData(shipment); Wait(1); if (CheckShipmentProgrammWarnings(_messagesProvider)) { return; } //Shipment informaiton - email SetEmail(shipment); Wait(1); if (CheckShipmentProgrammWarnings(_messagesProvider)) { return; } //Package informaiton if (CheckShipmentFieldsFilled(_fedexShipManagerMap.RequiredShipmentPane, _messagesProvider)) { _messagesProvider.Log(InformationResources.INFO_FEDEX_FILL_SHIPMENT_DATA); SendPackagesData(shipment); } } finally { StopTimer(); } CheckShipmentProgrammWarnings(_messagesProvider); }
private void MultiPackageWindowProcess(ShipmentMapper shipment) { StopTimer(); var delayCount = 20; while (delayCount > 0 && _packageMainWindowDialog == null) { MultiPackageWindowWait(); MultiPackageWindowFindMainDialog(_mainWindow); delayCount--; Thread.Sleep(100); } if (_packageMainWindowDialog != null) { var packageMap = new FedExMultiPieceShipmentMap(new ShipmentAutomationUIControlHelper(), _packageMainWindowDialog, _messagesProvider); packageMap.Map(); MultiPackageWindowInsertData(packageMap, shipment); } else { _messagesProvider.Warn("Cannot find source for input multipackage data."); } }
private void SendShipmentData(ShipmentMapper shipment) { _fedexShipManagerMap.MapShipmentData(shipment); _fedexShipManagerMap.SaveUpdateAddressBook.SetValueToControl(_settings.FedexAddUpdateAddressBook? "true" : "false"); }
public abstract Dictionary <string, string> HandleValidation(ShipmentMapper shipment);
private void MultiPackageWindowInsertData(FedExMultiPieceShipmentMap packageMap, ShipmentMapper shipment) { packageMap.PrintLabelsAfterCompleteShipment.SetValueToControl("true"); foreach (var package in shipment.Packages) { packageMap.MapPackageData(package); packageMap.PackageAddButton.Click(); } packageMap.PackageSaveAndCloseButton.Click(); _messagesProvider.Log(InformationResources.INFO_FEDEX_FILL_PACKAGE_DATA); }