private void SetSOHeaderObjectsData(PrepareAndImportOrdersParams orderParams) { SOOrder newOrder = new SOOrder(); if (orderParams.objSOOrderEntry.sosetup.Current != null) { SOSetupAmazonExt objSOOSetupext = orderParams.objSOOrderEntry.sosetup.Current.GetExtension <SOSetupAmazonExt>(); if (objSOOSetupext != null && objSOOSetupext.UsrGuestCustID.HasValue) { newOrder.OrderType = orderParams.objSOAmazonSetup.OrderType; newOrder = (SOOrder)orderParams.objSOOrderEntry.Document.Cache.Insert(newOrder); newOrder.CustomerID = objSOOSetupext.UsrGuestCustID; } else { throw new PXException(SOMessages.guestCustomerErrorMsg); } } AssignValueAsPerIntegrationMapping(orderParams.objliUsrMapping, newOrder, orderParams.ObjCurrentOrder, null, orderParams.objSOOrderEntry.Document.View.Name); newOrder.OrderDesc = !string.IsNullOrEmpty(orderParams.ObjCurrentOrder.FulfillmentChannel) ? orderParams.ObjCurrentOrder.FulfillmentChannel == SOConstants.fulfillmentChannelAFN ? string.IsNullOrEmpty(newOrder.OrderDesc) ? SOMessages.fbaOrder : newOrder.OrderDesc + " - " + SOMessages.fbaOrder : orderParams.ObjCurrentOrder.FulfillmentChannel == SOConstants.fulfillmentChannelMFN ? string.IsNullOrEmpty(newOrder.OrderDesc) ? SOMessages.fbmOrder : newOrder.OrderDesc + " - " + SOMessages.fbmOrder : newOrder.OrderDesc : newOrder.OrderDesc; newOrder.DefaultSiteID = orderParams.objSOAmazonSetup.DfltWarehouseID; SOOrderAmazonExt newOrderExt = newOrder.GetExtension <SOOrderAmazonExt>(); if (newOrderExt != null) { newOrderExt.UsrAmazonOrderID = orderParams.ObjCurrentOrder.AmazonOrderId; } orderParams.objSOOrderEntry.Document.Current = newOrder; orderParams.objSOOrderEntry.Document.Update(orderParams.objSOOrderEntry.Document.Current); }
private void SetFreightData(PrepareAndImportOrdersParams orderParams) { //Update Premium Freight SOOrder document = orderParams.objSOOrderEntry.Document.Current; SOOrderAmazonExt documentExt = PXCache <SOOrder> .GetExtension <SOOrderAmazonExt>(document); document.CuryPremiumFreightAmt = documentExt.UsrAmazonFreightTotal.GetValueOrDefault(0) - documentExt.UsrAmazonFreightDiscountTotal.GetValueOrDefault(0); orderParams.objSOOrderEntry.Document.Update(document); }
public void CreatePaymentProcess(PrepareAndImportOrdersParams orderParams) { SOOrder order = orderParams.objSOOrderEntry.Document.Current; SOOrderAmazonExt OrderExt = order.GetExtension <SOOrderAmazonExt>(); if (orderParams.objSOOrderEntry.sosetup.Current != null) { SOSetupAmazonExt objSOOSetupext = orderParams.objSOOrderEntry.sosetup.Current.GetExtension <SOSetupAmazonExt>(); if (objSOOSetupext != null && !string.IsNullOrEmpty(objSOOSetupext.UsrAmazonPaymentMethodID)) { string paymentType = ARPaymentType.Payment; orderParams.paymentGraph.Clear(); ARPayment payment = new ARPayment() { DocType = paymentType }; payment = PXCache <ARPayment> .CreateCopy(orderParams.paymentGraph.Document.Insert(payment)); payment.CustomerID = order.CustomerID; payment.CustomerLocationID = order.CustomerLocationID; payment.PaymentMethodID = objSOOSetupext.UsrAmazonPaymentMethodID; payment.PMInstanceID = order.PMInstanceID; payment.CuryOrigDocAmt = 0m; payment.ExtRefNbr = OrderExt != null ? OrderExt.UsrAmazonOrderID : order.OrderNbr; payment.DocDesc = order.OrderDesc; payment = orderParams.paymentGraph.Document.Update(payment); SOAdjust adj = new SOAdjust() { AdjdOrderType = order.OrderType.Trim(), AdjdOrderNbr = order.OrderNbr.Trim() }; orderParams.paymentGraph.SOAdjustments.Insert(adj); if (payment.CuryOrigDocAmt == 0m) { payment.CuryOrigDocAmt = payment.CurySOApplAmt; payment = orderParams.paymentGraph.Document.Update(payment); } orderParams.paymentGraph.Actions.PressSave(); if (orderParams.paymentGraph.Actions.Contains("Release")) { orderParams.paymentGraph.Actions["Release"].Press(); } } } }
protected virtual void SOOrder_RowSelected(PXCache sender, PXRowSelectedEventArgs e, PXRowSelected BaseEvent) { SOOrder row = e.Row as SOOrder; if (BaseEvent != null) { BaseEvent(sender, e); } if (row == null) { return; } SOOrderAmazonExt objSOAmazonOrderext = row.GetExtension <SOOrderAmazonExt>(); if (objSOAmazonOrderext != null && !string.IsNullOrEmpty(objSOAmazonOrderext.UsrAmazonOrderID)) { PXUIFieldAttribute.SetVisible <SOOrderAmazonExt.usrSyncNote>(sender, null, true); PXUIFieldAttribute.SetEnabled <SOOrder.customerRefNbr>(sender, row, false); } }