public Task <int> StopAllAsync(List <ModuleConfig> actualModuleConfigs, Guid clientId) { Guard.ArgumentIsNotNull(clientId, nameof(clientId)); _modulesCacheConfigurationRepository.DeleteConfiguration(clientId); int result = 0; using (TransactionScope scope = new TransactionScope(TransactionScopeAsyncFlowOption.Enabled)) { foreach (ModuleConfig moduleConfig in actualModuleConfigs) { ModuleConfigDto dto = _mapper.Map <ModuleConfig, ModuleConfigDto>(moduleConfig); dto.EndDate = DateTime.UtcNow; result += _modulesConfigurationRepositoryAdmin.UpdateAsync(dto).Result; } // todo: check if (result == actualModuleConfigs.Count) { scope.Complete(); } } return(Task.FromResult(result)); }
public Task <int> UpdateAsync(ModuleConfig moduleConfig, List <ModuleConfig> actualModuleConfigs, Guid clientId) { Guard.ArgumentIsNotNull(moduleConfig, nameof(moduleConfig)); if (!IsModuleConfigValid(moduleConfig, actualModuleConfigs)) { return(Task.FromResult(0)); } _modulesCacheConfigurationRepository.DeleteConfiguration(clientId); ModuleConfigDto dto = _mapper.Map <ModuleConfig, ModuleConfigDto>(moduleConfig); return(_modulesConfigurationRepositoryAdmin.UpdateAsync(dto)); }