using System.Collections.Generic;
public int ParentId {get;set;}
public int ItemTypeId {get;set;}
public int? AttachedFileId {get;set;}
public Item(int parentId, int itemTypeId, int? attachedFileId=null)
this.ParentId = parentId;
this.ItemTypeId = itemTypeId;
this.AttachedFileId = attachedFileId;
public static void Main()
var _items = new List<Item>()
KN = x.Where(_=>_.ItemTypeId == 3).Any() && x.Where(_=>_.ItemTypeId==3).All(_=>_.AttachedFileId!=null),
KD = x.Where(_=>_.ItemTypeId == 4).Any() && x.Where(_=>_.ItemTypeId==4).All(_=>_.AttachedFileId!=null),
NC = x.Where(_=>_.ItemTypeId == 6).Any() && x.Where(_=>_.ItemTypeId==6).All(_=>_.AttachedFileId!=null),
Console.WriteLine($"Parent: {i.ParentId}\r\n\tHasKN: {i.KN}\tHasKD: {i.KD}\tHasNC: {i.NC}");