コード例 #1
0
        public ContractInvoiceLine(PXResult <FSContractPeriodDet, FSContractPeriod, FSServiceContract, FSBranchLocation> row)
        {
            FSServiceContract   fsServiceContractRow   = (FSServiceContract)row;
            FSContractPeriodDet fsContractPeriodDetRow = (FSContractPeriodDet)row;
            FSBranchLocation    fsBranchLocationRow    = (FSBranchLocation)row;

            ServiceContractID   = fsServiceContractRow.ServiceContractID;
            ContractType        = fsServiceContractRow.RecordType;
            ContractPeriodID    = fsContractPeriodDetRow.ContractPeriodDetID;
            ContractPeriodDetID = fsContractPeriodDetRow.ContractPeriodID;

            BillingRule   = fsContractPeriodDetRow.BillingRule;
            InventoryID   = fsContractPeriodDetRow.InventoryID;
            UOM           = fsContractPeriodDetRow.UOM;
            SMEquipmentID = fsContractPeriodDetRow.SMEquipmentID;
            CuryUnitPrice = fsContractPeriodDetRow.RecurringUnitPrice;

            ContractRelated = false;
            SubItemID       = fsBranchLocationRow?.DfltSubItemID;
            SiteID          = fsBranchLocationRow?.DfltSiteID;
            SiteLocationID  = null;
            IsBillable      = true;

            if (BillingRule == ID.BillingRule.TIME)
            {
                Qty = decimal.Divide((decimal)(fsContractPeriodDetRow.Time ?? 0), 60);
            }
            else
            {
                Qty = fsContractPeriodDetRow.Qty;
            }

            OverageItemPrice          = fsContractPeriodDetRow.OverageItemPrice;
            AcctID                    = null;
            SubID                     = null;
            EquipmentAction           = ID.Equipment_Action.NONE;
            EquipmentLineRef          = null;
            NewTargetEquipmentLineNbr = null;
            ComponentID               = null;
            LineRef                   = string.Empty;
            SalesPersonID             = fsServiceContractRow.SalesPersonID;
            Commissionable            = fsServiceContractRow.Commissionable;

            TranDescPrefix = string.Empty;

            ProjectTaskID = fsContractPeriodDetRow.ProjectTaskID;
            CostCodeID    = fsContractPeriodDetRow.CostCodeID;

            Processed = false;
        }
        private static void CompleteItemInfoUsingBranchLocation(
            PXGraph graph,
            int?branchLocationID,
            bool?defaultSubItemOnEntry,
            ref int?SubItemID,
            ref string UOM,
            ref int?SiteID)
        {
            if (branchLocationID == null)
            {
                return;
            }

            if ((SubItemID == null && defaultSubItemOnEntry == true) ||
                string.IsNullOrEmpty(UOM) ||
                SiteID == null)
            {
                FSBranchLocation fsBranchLocationRow = PXSelect <FSBranchLocation,
                                                                 Where <
                                                                     FSBranchLocation.branchLocationID, Equal <Required <FSBranchLocation.branchLocationID> > > >
                                                       .Select(graph, branchLocationID);

                if (fsBranchLocationRow != null)
                {
                    if (SubItemID == null && defaultSubItemOnEntry == true)
                    {
                        SubItemID = fsBranchLocationRow.DfltSubItemID;
                    }

                    if (string.IsNullOrEmpty(UOM))
                    {
                        UOM = fsBranchLocationRow.DfltUOM;
                    }

                    if (SiteID == null)
                    {
                        SiteID = fsBranchLocationRow.DfltSiteID;
                    }
                }
            }
        }
コード例 #3
0
 public CpnyLocationDistance(FSBranchLocation fsBranchLocation, string address, int distance)
 {
     this.fsBranchLocation = fsBranchLocation;
     this.address          = address;
     this.distance         = distance;
 }