internal ODataCondition ToOData()

in src/DurableTask.AzureStorage/Tracking/OrchestrationInstanceStatusQueryCondition.cs [79:110]


        internal ODataCondition ToOData()
        {
            if (!((this.RuntimeStatus == null || !this.RuntimeStatus.Any()) &&
                this.CreatedTimeFrom == default(DateTime) &&
                this.CreatedTimeTo == default(DateTime) &&
                this.TaskHubNames == null &&
                this.InstanceIdPrefix == null &&
                this.InstanceId == null &&
                !this.ExcludeEntities))
            {
                IEnumerable<string>? select = null;
                if (!this.FetchInput || !this.FetchOutput)
                {
                    var columns = new HashSet<string>(ColumnNames);
                    if (!this.FetchInput)
                    {
                        columns.Remove(nameof(OrchestrationInstanceStatus.Input));
                    }

                    if (!this.FetchOutput)
                    {
                        columns.Remove(nameof(OrchestrationInstanceStatus.Output));
                    }

                    select = columns;
                }

                return new ODataCondition(select, this.GetODataFilter());
            }

            return default;
        }