Nesting a data contract inside another data contract

Using a Data Contract as a Data Member in D365FO

Example: Nested Data Contract

/// <summary>
///     Date data contract.
/// </summary>
[DataContractAttribute, 
    SysOperationGroupAttribute("DateGroup", "Date", "1"),
    SysOperationGroupAttribute("OtherGroup", "Other", "2")]
class Sample2DataContract
{
    FromDate	fromDate;
    ToDate  	toDate;
    PurchId     purchId;

    [DataMemberAttribute, SysOperationGroupMemberAttribute("DateGroup")]
    public FromDate parmFromDate(FromDate _fromDate = fromDate)
    {
        fromDate = _fromDate;
        return fromDate;
    }

    [DataMemberAttribute, SysOperationGroupMemberAttribute("DateGroup")]
    public ToDate parmToDate(ToDate _toDate = toDate)
    {
        toDate = _toDate;
        return toDate;
    }

    [DataMemberAttribute, SysOperationGroupMemberAttribute("OtherGroup")]
    public PurchId parmPurchId(PurchId _purchId = purchId)
    {
        purchId = _purchId;
        return purchId;
    }
}

Now we can use this contract inside another one:

/// <summary>
///     Sample data contract class.
/// </summary>
[DataContractAttribute]
class SampleDataContract
{
    Sample2DataContract dataContract;
    SalesId salesId;

    [DataMemberAttribute('DataContract')]
    public Sample2DataContract parmDataContract(Sample2DataContract _dataContract = dataContract)
    {
        dataContract= _dataContract;
        return dataContract;
    }

    [DataMemberAttribute]
    public SalesId parmSalesId(SalesId _salesId = salesId)
    {
        salesId = _salesId;
        return salesId;
    }
} 
How it looks in the UI