/// <summary>
 /// Remove "DTO" from DTO names, e.g. DTO_Meeting, DTO_Right, CommitStatusDTO, ...
 /// </summary>
 public static void RemoveDtoPrefixFromDtoNames(CodeGenerationContext context)
 {
     foreach (var apiDto in context.GetDtos().Where(it => it.Name.Length > 3))
     {
         if (apiDto.Name.StartsWith("DTO", StringComparison.OrdinalIgnoreCase))
         {
             apiDto.Name = apiDto.Name[3..];
        /// <summary>
        /// Remove DTO fields that should be ignored.
        /// </summary>
        public static void RemoveDtoFieldsToIgnore(CodeGenerationContext context)
        {
            var fieldsToIgnore = new Dictionary <string, HashSet <string> >(StringComparer.OrdinalIgnoreCase)
            {
                { "TD_MemberProfile",
                  new HashSet <string>(StringComparer.OrdinalIgnoreCase)
                  {
                      "logins"
                  } }
            };

            // Remove fields to ignore
            foreach (var apiDto in context.GetDtos())
            {
                if (fieldsToIgnore.TryGetValue(apiDto.Name, out var ignoreFields))
                {
                    apiDto.Fields.RemoveAll(it => ignoreFields.Contains(it.Field.Name));
                }
            }
        }