C# Better logic for viewmodel
First, I think you've flipped the assigning without noticing that you're assigning null values to the meeting properties (e.g meeting.Id = mvm.Id;) notice that you've already create a new instance of Meeting object, and yet, you replaced the actual values with the new instance values, while you are expected to do the opposite.
So, I assumed you meant to do this mvm.Id = meeting.Id;.
If you need to add the Meeting object to the model based on the Type property. You can do this :
foreach (var meeting in meetingList)
{
    // if this element's Type property is null or empty
    // then skip and go to the next one
    // this condition will be applied on all meeting types 
    if(string.IsNullOrEmpty(meeting.Type)) { continue; }
    
    meetingviewmodel.Add(meeting);  
}

this will add all meeting objects that have defined Type, this will include System and Config types along with any other defined types.
if you only need to add System and Config types  meetings, and ignore the rest, you can do this :
foreach (var meeting in meetingList)
{
    // if you want to only add System &amp; Config meetings 
    // you can use this condition
    if(!string.IsNullOrEmpty(meeting.Type) &amp;&amp; (meeting.Type == &quot;System&quot; || meeting.Type == &quot;Config&quot;))
    {
        meetingviewmodel.Add(meeting);
    }
}

or if you into LINQ :
var meetingviewmodel = meetingList
            .Where(x=&gt; !string.IsNullOrEmpty(x.Type) &amp;&amp; (x.Type == &quot;System&quot; || x.Type == &quot;Config&quot;))
            .ToList();