public SubsetList CreateSubsets(IEnumerable <SubResult> subResults) { SubsetList result = new SubsetList(); if (subResults == null) { return(result); } foreach (SubResult subResult in subResults) { DbSetInfo dbSetInfo = _metadata.DbSets[subResult.dbSetName]; if (result.Any(r => r.dbSetName == subResult.dbSetName)) { throw new DomainServiceException(string.Format("The included sub results already have DbSet {0} entities", dbSetInfo.dbSetName)); } RowGenerator rowGenerator = new RowGenerator(dbSetInfo, subResult.Result, _dataHelper); Subset current = new Subset { dbSetName = dbSetInfo.dbSetName, rows = rowGenerator.CreateDistinctRows(), names = dbSetInfo.GetNames() }; result.Add(current); } return(result); }
public SubsetList CreateSubsets(IEnumerable <SubResult> subResults) { var result = new SubsetList(); if (subResults == null) { return(result); } var metadata = MetadataHelper.GetInitializedMetadata(_domainService); foreach (var subResult in subResults) { var dbSetInfo = metadata.dbSets[subResult.dbSetName]; if (result.Any(r => r.dbSetName == subResult.dbSetName)) { throw new DomainServiceException(string.Format("The included results already have {0} entities", dbSetInfo.dbSetName)); } var rowGenerator = new RowGenerator(dbSetInfo, subResult.Result, _dataHelper); var current = new Subset { dbSetName = dbSetInfo.dbSetName, rows = rowGenerator.CreateDistinctRows(), names = dbSetInfo.GetNames() }; result.Add(current); } return(result); }
public void SetEntry(XivImc info, int subsetID = -1, string slot = "", bool allowNew = false) { // Variant IDs are 1 based, not 0 based. var index = subsetID - 1; // Invalid Index, return default. if ((index >= SubsetCount && !allowNew) || index < 0) { index = -1; } // Test for getting default set. var subset = DefaultSubset; if (index >= 0) { if (index >= SubsetCount) { subset = new List <XivImc>(); if (TypeIdentifier == ImcType.Set) { // Five entries for set types. subset.Add(new XivImc()); subset.Add(new XivImc()); subset.Add(new XivImc()); subset.Add(new XivImc()); subset.Add(new XivImc()); } else { // One entry for nonset types. subset.Add(info); } SubsetList.Add(subset); } else { subset = SubsetList[index]; } } // Get which offset the slot uses. var idx = 0; if (slot != null && SlotOffsetDictionary.ContainsKey(slot) && SlotOffsetDictionary[slot] < subset.Count) { idx = SlotOffsetDictionary[slot]; } // Assign info. subset[idx] = info; }