private bool IsVehicleIdResident(CDatM1 m1, ref bool isResident, long cpmArticleDef = GlobalDefs.DEF_UNDEFINED_VALUE) { trace.Write(TraceLevel.Info, ">>IsVehicleIdResident"); bool fnResult = true; try { isResident = false; COPSPlate strPlate = m1.GetInVehicleID(); long lGroup = m1.GetInGroup(); long lArticleDef = GlobalDefs.DEF_UNDEFINED_VALUE; tariffCalculator.FillTree(); bool isVehicleIdResident = database.IsVehicleIdResident(tariffCalculator.GetTree(), ref strPlate, lGroup, ref lArticleDef, ref isResident); if (!isVehicleIdResident) { throw new InvalidOperationException("Error getting last operation group"); } if (isResident && lArticleDef != GlobalDefs.DEF_UNDEFINED_VALUE) { m1.SetInArticleDef((int)lArticleDef); } else if (isResident && lArticleDef == GlobalDefs.DEF_UNDEFINED_VALUE) { isResident = isResident && lArticleDef == cpmArticleDef; } m1.SetOutIsResident(isResident); } catch (Exception error) { trace.Write(TraceLevel.Error, error.ToLogString()); fnResult = false; } trace.Write(TraceLevel.Info, "<<IsVehicleIdResident"); return(fnResult); }