public TransportationActBill CreateTransportationItemActBill(Receipt receipt, string billingMethod)
        {
            TransportationActBill actBill            = new TransportationActBill();
            TransportPriceList    transportPriceList = null;

            if (billingMethod == BusinessConstants.TRANSPORTATION_BILLING_METHOD_OUT)
            {
                transportPriceList = transportPriceListMgr.LoadTransportPriceList(receipt.PartyFrom.Code);
            }
            if (transportPriceList != null)
            {
                Currency currency = receipt.ReceiptDetails[0].OrderLocationTransaction.OrderDetail.OrderHead.Currency;

                foreach (ReceiptDetail receiptDetail in receipt.ReceiptDetails)
                {
                    TransportPriceListDetail priceListDetail = transportPriceListDetailMgr.GetLastestTransportPriceListDetail(transportPriceList, receiptDetail.OrderLocationTransaction.Item,
                                                                                                                              receipt.CreateDate, currency, receiptDetail.OrderLocationTransaction.OrderDetail.Item.Uom, BusinessConstants.TRANSPORTATION_PRICELIST_DETAIL_TYPE_OPERATION, billingMethod);

                    if (priceListDetail != null)
                    {
                        priceListDetail = transportPriceListDetailMgr.GetLastestTransportPriceListDetail(transportPriceList, null,
                                                                                                         receipt.CreateDate, currency, null, BusinessConstants.TRANSPORTATION_PRICELIST_DETAIL_TYPE_OPERATION, billingMethod);
                    }

                    actBill.BillAddress     = billAddressMgr.GetDefaultBillAddress(priceListDetail.TransportPriceList.Party.Code);
                    actBill.PriceListDetail = priceListDetail;
                    actBill.PriceList       = priceListDetail.TransportPriceList;
                    actBill.UnitPrice       = priceListDetail.UnitPrice * (1 + priceListDetail.ServiceCharge);
                    actBill.TransType       = BusinessConstants.TRANSPORTATION_PRICELIST_DETAIL_TYPE_OPERATION;

                    actBill.BillQty               = receiptDetail.ReceivedQty.Value;
                    actBill.BillAmount            = actBill.BillQty * actBill.UnitPrice;
                    actBill.Currency              = priceListDetail.Currency;
                    actBill.EffectiveDate         = DateTime.Now.Date;
                    actBill.CreateDate            = DateTime.Now;
                    actBill.CreateUser            = userMgr.GetMonitorUser();
                    actBill.IsIncludeTax          = priceListDetail.IsIncludeTax;
                    actBill.IsProvisionalEstimate = priceListDetail.IsProvisionalEstimate;
                    actBill.LastModifyDate        = DateTime.Now;
                    actBill.LastModifyUser        = userMgr.GetMonitorUser();
                    actBill.Status  = BusinessConstants.CODE_MASTER_STATUS_VALUE_CREATE;
                    actBill.TaxCode = priceListDetail.TaxCode;
                }
            }
            return(actBill);
        }