using System.Collections.Generic; namespace Svrnty.CQRS.Grpc.Generators.Models { public class QueryInfo { public string Name { get; set; } public string FullyQualifiedName { get; set; } public string Namespace { get; set; } public List Properties { get; set; } public string ResultType { get; set; } public string ResultFullyQualifiedName { get; set; } public string HandlerInterfaceName { get; set; } public List ResultProperties { get; set; } public bool IsResultPrimitiveType { get; set; } /// /// True if the result type is a collection (List, IEnumerable, etc.) /// public bool IsResultCollection { get; set; } /// /// The element type name if IsResultCollection is true /// public string ResultElementType { get; set; } /// /// The fully qualified element type name if IsResultCollection is true /// public string ResultElementTypeFullyQualified { get; set; } /// /// True if the result type is nullable (ends with ? or is Nullable) /// public bool IsResultNullable { get; set; } /// /// The result type name without the nullable annotation (e.g., "CnfFoodDetailItem" instead of "CnfFoodDetailItem?") /// public string ResultTypeWithoutNullable { get; set; } public QueryInfo() { Name = string.Empty; FullyQualifiedName = string.Empty; Namespace = string.Empty; Properties = new List(); ResultType = string.Empty; ResultFullyQualifiedName = string.Empty; HandlerInterfaceName = string.Empty; ResultProperties = new List(); IsResultPrimitiveType = false; IsResultCollection = false; ResultElementType = string.Empty; ResultElementTypeFullyQualified = string.Empty; IsResultNullable = false; ResultTypeWithoutNullable = string.Empty; } } }