public UniformPartsFinalResults(bool needToMerge, AlgorithmActiveLOType type) { Items = new List<UniformPartRow>(); _helperData = new UniformPartsHelperData("Актуальные ОЧ"); _needToMerge = needToMerge; _algorithmActiveLOType = type; }
public void AddOrUpdateUniformPart(SentenceElement uniformPart, string rowNr, int featureLinkConjunction, int featureLinkComma, AlgorithmActiveLOType upType) { Debug.Assert(upType == AlgorithmActiveLOType.UniformParts || upType == AlgorithmActiveLOType.UniformPartsStandart || upType == AlgorithmActiveLOType.UniformPartsBaseRows); if (upType == AlgorithmActiveLOType.UniformPartsStandart) { _finalResults.UniformPartsFinalResultsStandart.AddOrUpdateUniformPart(uniformPart, rowNr, -1, -1); _finalResults.UniformPartsFinalResultsBaseRows.AddOrUpdateUniformPart(uniformPart, rowNr, featureLinkConjunction, featureLinkComma); _finalResults.UniformPartsFinalResults.AddOrUpdateUniformPart(uniformPart, rowNr, featureLinkConjunction, featureLinkComma); } else if (upType == AlgorithmActiveLOType.UniformPartsBaseRows) { _finalResults.UniformPartsFinalResultsBaseRows.AddOrUpdateUniformPart(uniformPart, rowNr, featureLinkConjunction, featureLinkComma); _finalResults.UniformPartsFinalResults.AddOrUpdateUniformPart(uniformPart, rowNr, featureLinkConjunction, featureLinkComma); } else if (upType == AlgorithmActiveLOType.UniformParts) _finalResults.UniformPartsFinalResults.AddOrUpdateUniformPart(uniformPart, rowNr, featureLinkConjunction, featureLinkComma); }
public void RemoveUniformPart(int uniformPartId, AlgorithmActiveLOType upType) { Debug.Assert(upType == AlgorithmActiveLOType.UniformParts || upType == AlgorithmActiveLOType.UniformPartsStandart || upType == AlgorithmActiveLOType.UniformPartsBaseRows); var upsToProcess = new List<UniformPartsFinalResults>(); if (upType == AlgorithmActiveLOType.UniformPartsStandart) { upsToProcess.Add(_finalResults.UniformPartsFinalResultsStandart); upsToProcess.Add(_finalResults.UniformPartsFinalResultsBaseRows); upsToProcess.Add(_finalResults.UniformPartsFinalResults); } else if (upType == AlgorithmActiveLOType.UniformPartsBaseRows) { upsToProcess.Add(_finalResults.UniformPartsFinalResultsBaseRows); upsToProcess.Add(_finalResults.UniformPartsFinalResults); } else if (upType == AlgorithmActiveLOType.UniformParts) upsToProcess.Add(_finalResults.UniformPartsFinalResults); foreach (var up in upsToProcess) up.RemoveUniformPart(uniformPartId); }