public async Task <IActionResult> Get(string terms, WorkflowStatus?status, string type, DateTime?createdFrom, DateTime?createdTo, int skip, int take = 10)
        {
            var filters = new List <SearchFilter>();

            if (status.HasValue)
            {
                filters.Add(StatusFilter.Equals(status.Value));
            }

            if (createdFrom.HasValue)
            {
                filters.Add(DateRangeFilter.After(x => x.CreateTime, createdFrom.Value));
            }

            if (createdTo.HasValue)
            {
                filters.Add(DateRangeFilter.Before(x => x.CreateTime, createdTo.Value));
            }

            if (!string.IsNullOrEmpty(type))
            {
                filters.Add(ScalarFilter.Equals(x => x.WorkflowDefinitionId, type));
            }

            var result = await _searchService.Search(terms, skip, take, filters.ToArray());

            return(Json(result));
        }