public async Task <ProvisioningConfigurationResult> GetQuery(string id, CancellationToken cancellationToken)
        {
            var collection = _dbContext.ProvisioningConfigurationLst;
            var record     = await collection.AsQueryable().FirstOrDefaultAsync(c => c.Id == id, cancellationToken);

            return(record == null ? null : ProvisioningConfigurationResult.ToDto(record));
        }
        public async Task <ProvisioningConfigurationResult> GetQuery(string id, CancellationToken cancellationToken)
        {
            var result = await _dbContext.ProvisioningConfigurations
                         .Include(p => p.Records).ThenInclude(p => p.Values)
                         .Include(p => p.HistoryLst)
                         .FirstOrDefaultAsync(p => p.Id == id, cancellationToken);

            return(result == null ? null : ProvisioningConfigurationResult.ToDto(result));
        }
        public Task <ProvisioningConfigurationResult> GetQuery(string id, CancellationToken cancellationToken)
        {
            var result = _configurations.FirstOrDefault(p => p.Id == id);

            if (result == null)
            {
                return(Task.FromResult((ProvisioningConfigurationResult)null));
            }

            return(Task.FromResult(ProvisioningConfigurationResult.ToDto(result)));
        }
        public Task <SearchResult <ProvisioningConfigurationResult> > SearchConfigurations(SearchProvisioningConfigurationParameter parameter, CancellationToken cancellationToken)
        {
            IQueryable <ProvisioningConfiguration> result = _configurations.AsQueryable();

            if (MAPPING_PROVISIONING_TO_PROPERTYNAME.ContainsKey(parameter.OrderBy))
            {
                result = result.InvokeOrderBy(MAPPING_PROVISIONING_TO_PROPERTYNAME[parameter.OrderBy], parameter.Order);
            }

            int totalLength = result.Count();

            result = result.Skip(parameter.StartIndex).Take(parameter.Count);
            return(Task.FromResult(new SearchResult <ProvisioningConfigurationResult>
            {
                StartIndex = parameter.StartIndex,
                Count = parameter.Count,
                TotalLength = totalLength,
                Content = result.Select(r => ProvisioningConfigurationResult.ToDto(r)).ToList()
            }));
        }
        public async Task <SearchResult <ProvisioningConfigurationResult> > SearchConfigurations(SearchProvisioningConfigurationParameter parameter, CancellationToken cancellationToken)
        {
            IQueryable <ProvisioningConfiguration> result = _dbContext.ProvisioningConfigurations;

            if (MAPPING_PROVISIONING_TO_PROPERTYNAME.ContainsKey(parameter.OrderBy))
            {
                result = result.InvokeOrderBy(MAPPING_PROVISIONING_TO_PROPERTYNAME[parameter.OrderBy], parameter.Order);
            }

            int totalLength = await result.CountAsync(cancellationToken);

            result = result.Skip(parameter.StartIndex).Take(parameter.Count);
            ICollection <ProvisioningConfiguration> content = await result.ToListAsync(cancellationToken);

            return(new SearchResult <ProvisioningConfigurationResult>
            {
                StartIndex = parameter.StartIndex,
                Count = parameter.Count,
                TotalLength = totalLength,
                Content = content.Select(r => ProvisioningConfigurationResult.ToDto(r)).ToList()
            });
        }
        public async Task <ProvisioningConfigurationResult> GetQuery(string id, CancellationToken cancellationToken)
        {
            var result = await _dbContext.ProvisioningConfigurations.FirstOrDefaultAsync(p => p.Id == id, cancellationToken);

            return(result == null ? null : ProvisioningConfigurationResult.ToDto(result));
        }