private IList <global::Part> GetParts(TransferPartType type, object obj) { var parts = new List <global::Part>(); switch (type) { case TransferPartType.Part: var partValue = obj as PartValue; parts.Add(partValue.Part); break; case TransferPartType.Parts: var listValue = (obj as ListValue); if (listValue != null) { var partValues = listValue.OfType <PartValue>(); parts.AddRange(partValues.Select(pv => pv.Part)); break; } var partListValue = obj as ListValue <PartValue>; if (partListValue != null) { parts.AddRange(partListValue.Select(pv => pv.Part)); break; } break; case TransferPartType.Element: var element = obj as ElementValue; var elementParts = element.Parts.Cast <PartValue>(); parts.AddRange(elementParts.Select(part => part.Part)); break; default: throw new ArgumentOutOfRangeException("type"); } return(parts.Where(part => part.Resources != null && part.Resources.Contains(resourceInfo.id)).ToList()); }
private IList<global::Part> GetParts(TransferPartType type, object obj) { var parts = new List<global::Part>(); switch (type) { case TransferPartType.Part: { var partValue = obj as PartValue; parts.Add(partValue.Part); break; } case TransferPartType.Parts: { var listValue = (obj as ListValue); if (listValue != null) { var partValues = listValue.OfType<PartValue>(); parts.AddRange(partValues.Select(partValue => partValue.Part)); } break; } case TransferPartType.Element: var element = obj as ElementValue; var elementParts = element.Parts.Cast<PartValue>(); parts.AddRange(elementParts.Select(part => part.Part)); break; default: throw new ArgumentOutOfRangeException("type"); } return parts.Where(part => part.Resources != null && part.Resources.Contains(resourceInfo.id)).ToList(); }
private void DetermineTypes() { transferToType = DetermineType(transferTo); transferFromType = DetermineType(transferFrom); }
private void DetermineTypes() { transferToType = DetermineType(transferTo); transferFromType = DetermineType(transferFrom); }