/// <summary>
        /// Changes the active.
        /// </summary>
        /// <param name="request">The request.</param>
        /// <returns></returns>
        public async Task <List <DeviceConfig> > ChangeActive(ChangeActiveConfigRequest request)
        {
            var devicesConfig = _unitOfWork.GetRepository <DeviceConfig>().GetAll();

            if (request.Ids != null && request.Ids.Count > 0)
            {
                request.Ids.ForEach(key =>
                {
                    devicesConfig = devicesConfig.Where(x => x.DeviceId == key.DeviceId && x.ApplicationId == key.ApplicationId);
                });
            }

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

            await devicesConfig.ForEachAsync(x =>
            {
                x.IsActive = request.IsActive;
                x.Message  = request.Message;
                _unitOfWork.GetRepository <DeviceConfig>().Update(x);
            });

            await _unitOfWork.CommitAsync();

            return(devicesConfig.ToList());
        }
Exemplo n.º 2
0
        public async Task <IActionResult> ChangeActive([FromBody] ChangeActiveConfigRequest request)
        {
            var changeActive = await _deviceConfigService.ChangeActive(request);

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