Przejdź do głównej zawartości

Dodano możliwość wysyłki dostawy w drodze (bez płatności)

Począwszy od V7Preview3, możesz przygotować swoją przesyłkę do wysyłki, wydrukować list przewozowy, przypisać kuriera i wysłać ją w drogę.

Nowości

Przykład użycia

private void CreateAndSendDelivery()
{
if (PluginContext.Operations.GetHostDeliverySettings().DeliveryPaymentTimeOption == DeliveryPaymentTimeOption.BeforeSending)
return; // jeszcze nieobsługiwane

var credentials = PluginContext.Operations.AuthenticateByPin(pin);

var delivery = CreateDelivery(false); // metoda EditorTester.CreateDelivery z SamplePlugin
if (PluginContext.Operations.IsDeliveryConfirmationActive())
{
Debug.Assert(delivery.DeliveryStatus == DeliveryStatus.Unconfirmed);
PluginContext.Operations.ChangeDeliveryConfirmTime(DateTime.Now, delivery, credentials);
delivery = PluginContext.Operations.GetDeliveryOrderById(delivery.Id);
}

PluginContext.Operations.PrintOrderItems(credentials, delivery, delivery.Items.OfType<IOrderCookingItem>().ToList());

Debug.Assert(delivery.DeliveryStatus == DeliveryStatus.New);
PluginContext.Operations.PrepareDeliveryForSending(credentials, delivery);
delivery = PluginContext.Operations.GetDeliveryOrderById(delivery.Id);
Debug.Assert(delivery.DeliveryStatus == DeliveryStatus.Waiting);

var courier = PluginContext.Operations.GetUsers().Single(x => x.Name == courierName);
Debug.Assert(delivery.Courier == null);
PluginContext.Operations.ChangeDeliveryCourier(true, delivery, courier, credentials);
delivery = PluginContext.Operations.GetDeliveryOrderById(delivery.Id);
Debug.Assert(Equals(delivery.Courier, courier));

Debug.Assert(!delivery.IsPrintedBillActual);
PluginContext.Operations.PrintDeliveryBill(credentials, delivery);
delivery = PluginContext.Operations.GetDeliveryOrderById(delivery.Id);
Debug.Assert(delivery.IsPrintedBillActual);

PluginContext.Operations.SendDelivery(credentials, delivery);
delivery = PluginContext.Operations.GetDeliveryOrderById(delivery.Id);
Debug.Assert(delivery.DeliveryStatus == DeliveryStatus.OnWay);
}