private static IEnumerable <OffsetMark> GetOffsetMarks(IEnumerable <DeviceGroupDef> deviceGroupDefs, DeviceDef deviceDef) { if (!deviceDef.OffsetDefCollection.Any()) { var total = deviceGroupDefs.Single(x => x.Name == deviceDef.GroupName).Total; return(new[] { new OffsetMark() { Total = total, Prefix = 0, Suffix = 0, } }); } var offsetMarks = from def in deviceDef.OffsetDefCollection let total = deviceGroupDefs.Single(x => x.Name == def.GroupName).Total select new OffsetMark() { Total = total, Prefix = def.Prefix, Suffix = def.Suffix, }; return(offsetMarks.ToList()); }
public IList <int> GetOffsets(DeviceDef deviceDef) { return(_offsetsSet[deviceDef]); }
public int GetOffset(DeviceDef deviceDef, int globalIndex) { return(_offsetsSet[deviceDef][globalIndex]); }