示例#1
0
        private List <ShipmentAction> BuildShipmentInvoiceActions(ShopifyOrder orderRecord)
        {
            var output = new List <ShipmentAction>();

            foreach (var soShipment in orderRecord.SoShipments())
            {
                var action = new ShipmentAction();
                action.ShipmentNbr = soShipment.AcumaticaShipmentNbr;
                action.ShipmentHref
                    = _acumaticaUrlService.AcumaticaShipmentUrl(soShipment.AcumaticaShipmentNbr);

                action.InvoiceNbr    = soShipment.AcumaticaInvoiceNbr;
                action.InvoiceAmount = soShipment.AcumaticaInvoiceAmount.Value;
                action.InvoiceTax    = soShipment.AcumaticaInvoiceTax.Value;

                if (soShipment.ShopifyFulfillment == null)
                {
                    action.ActionCode = ActionCode.CreateInShopify;
                }
                else
                {
                    action.ActionCode           = ActionCode.None;
                    action.ShopifyFulfillmentId = soShipment.ShopifyFulfillment.ShopifyFulfillmentId;
                }

                output.Add(action);
            }

            return(output);
        }
示例#2
0
        public void Validate(ShopifyOrder orderRecord, ShipmentAction action)
        {
            var soShipment = orderRecord.SoShipments()
                             .First(x => x.AcumaticaShipmentNbr == action.ShipmentNbr &&
                                    x.AcumaticaInvoiceNbr == action.InvoiceNbr);

            action.Validation = Validate(soShipment);
        }
示例#3
0
        private static ShipmentAction GetShipmentAction(ProductivityImportModel productivityImportModel)
        {
            var id       = productivityImportModel.DocumentNumber.Trim();
            var shipment = new ShipmentAction {
                Id           = id,
                DocumentName = productivityImportModel.DocumentName,

                StartTime = productivityImportModel.StartTime,
                Duration  = TimeSpan.FromSeconds(productivityImportModel.OperationDuration),
                Operation = new Operation {
                    Name = productivityImportModel.Operation.Trim()
                },
                EmployeeId = productivityImportModel.EmployeeId,
                Employee   = GetEmployee(productivityImportModel),

                Weight = ( float? )productivityImportModel.WeightPerEmployee,
                Volume = ( float? )productivityImportModel.VolumePerEmployee,
                ClientCargoQuantity = ( float? )productivityImportModel.ClientCargoQuantityt,
                CommonCargoQuantity = ( float? )productivityImportModel.CommonCargoQuantity
            };

            return(shipment);
        }