c# linq join two lists multiple conditions