| Quintiq file version 2.0 | 
| #parent: #root | 
| MethodOverride GetStaffingBaseCostForShiftPattern ( | 
|   const AccountAssignment accountassignment, | 
|   const AccountCost accountcost, | 
|   const ShiftPattern shiftpattern | 
| ) const declarative as Real | 
| { | 
|   TextBody: | 
|   [* | 
|     // This method partially duplicates UnitPeriodTime::GetStaffingBaseCost | 
|     // because we can't execute the code in a remote method. | 
|     // Changes in this method might need to be added to the other one as well. | 
|     value := 0.0; | 
|      | 
|     if( isnull( accountcost ) ) | 
|     { | 
|       accountcost := this.GetUnitCost( accountassignment ); | 
|     } | 
|      | 
|     if( isnull( shiftpattern ) ) | 
|     { | 
|       shiftpattern := this.ShiftPattern(); | 
|     } | 
|      | 
|     if( not isnull( accountcost ) | 
|         and accountcost.Start() <= this.StartDate() ) | 
|     { | 
|       value := accountcost.Cost() | 
|                 * guard( this.CurrencyInPeriod().Rate(), 1.0 ) | 
|                 * guard( this.GetTotalAvailableCapacity( shiftpattern ), 1.0 ); | 
|     } | 
|      | 
|     return value; | 
|   *] | 
| } |