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; 
 | 
  *] 
 | 
} 
 |