/// <summary>
        /// Gets all configuration.
        /// </summary>
        /// <param name="request">The request.</param>
        /// <returns></returns>
        public async Task <DeviceConfigResponse> GetAllConfig(DeviceConfigRequest request)
        {
            var deviceConfigs = _unitOfWork.GetRepository <DeviceConfig>().GetAll();

            if (!string.IsNullOrEmpty(request.DeviceName))
            {
                deviceConfigs = deviceConfigs.Where(x => x.DeviceName.ToLower().Contains(request.DeviceName.ToLower()));
            }

            if (!string.IsNullOrEmpty(request.ApplicationName))
            {
                deviceConfigs = deviceConfigs.Where(x => x.ApplicationName.ToLower().Contains(request.ApplicationName.ToLower()));
            }

            if (!string.IsNullOrEmpty(request.VersionName))
            {
                deviceConfigs = deviceConfigs.Where(x => x.VersionName.ToLower().Contains(request.VersionName.ToLower()));
            }

            if (!string.IsNullOrEmpty(request.AreaCode))
            {
                deviceConfigs = deviceConfigs.Where(x => x.AreaCode == request.AreaCode);
            }

            if (request.IsActive.HasValue)
            {
                deviceConfigs = deviceConfigs.Where(x => x.IsActive == request.IsActive);
            }

            var total = await deviceConfigs.CountAsync();

            var result = deviceConfigs.Skip(request.Skip).Take(request.Take).OrderByDescending(x => x.CreatedDate);

            return(new DeviceConfigResponse
            {
                Total = total,
                Data = _mapper.Map <List <DeviceConfigViewModel> >(result)
            });
        }
Beispiel #2
0
        public async Task <IActionResult> GetAllConfig([FromQuery] DeviceConfigRequest request)
        {
            var response = await _deviceConfigService.GetAllConfig(request);

            return(Ok(new ApiOkResponse(response)));
        }