private void calcFSC(DriverCompDS.DriverRouteTableRow dayComp, RouteRatings ratings) { //Calculate FSC if required try { //1. FSC applies only if miles rates are present in the rating if (ratings.MileBaseRate > 0 || ratings.MileRate > 0) { dayComp.FSCMiles = dayComp.Miles; } //2. Copy rates (for reference) dayComp.FuelCost = FinanceFactory.GetFuelCost(this.EndDate, this.mAgentNumber); dayComp.FSCGal = EnterpriseFactory.GetDriverEquipmentMPG(dayComp.EquipmentTypeID); if (dayComp.FSCGal <= 0.0M) { throw new ApplicationException("FSCGal (" + dayComp.FSCGal.ToString() + "MPG) is invalid."); } dayComp.FSCBaseRate = this.mTerminalConfig.FSBase; //3. Calculate FSC dayComp.FSC = dayComp.FSCMiles / dayComp.FSCGal * (dayComp.FuelCost - dayComp.FSCBaseRate); if (dayComp.FSC < 0) { dayComp.FSC = 0.0M; } } catch (ApplicationException ex) { throw ex; } catch (Exception ex) { throw new ApplicationException("Unexpected error while calculating FSC.", ex); } }