示例#1
0
        public async Task UpdateConfigurationCommandHandler_Handel_ShouldUpdateEnvironmentConfiguration()
        {
            var configurations = await TestData.Read <IEnumerable <Entity.Configuration> >("Configuration");

            Context.Configurations.AddRange(configurations);
            await Context.SaveChangesAsync(CancellationToken.None);

            var configurationDto = new UpdateConfigurationDto
            {
                Key           = "FeatureToggle",
                IsActive      = true,
                Value         = "True",
                Id            = Guid.Parse("79401745-04A6-4296-A6F5-435BD98DCBDC"),
                EnvironmentId = Guid.Parse("692F14FC-7EAD-4130-B6E9-3566BFA8E89F")
            };
            var command = new UpdateConfigurationCommand(configurationDto);

            await _updateConfigurationCommandHandler.Handle(command, CancellationToken.None);

            var updatedConfiguration = Context.Configurations.FirstOrDefault(config =>
                                                                             config.Id == Guid.Parse("79401745-04A6-4296-A6F5-435BD98DCBDC"));

            Assert.Equal("FeatureToggle", updatedConfiguration?.Key);
            Assert.Equal("True", updatedConfiguration?.Value);
        }
示例#2
0
        public async Task UpdateConfigurationCommandHandler_Handel_ShouldThrowExceptionIfEnvironmentAlreadyHaveSameKey()
        {
            var configurations = await TestData.Read <IEnumerable <Entity.Configuration> >("Configuration");

            Context.Configurations.AddRange(configurations);
            await Context.SaveChangesAsync(CancellationToken.None);

            var configurationDto = new UpdateConfigurationDto();

            configurationDto.Key           = "ConnectionString";
            configurationDto.Id            = Guid.Parse("79401745-04A6-4296-A6F5-435BD98DCBDC");
            configurationDto.EnvironmentId = Guid.Parse("692F14FC-7EAD-4130-B6E9-3566BFA8E89F");
            var command = new UpdateConfigurationCommand(configurationDto);

            await Assert.ThrowsAsync <RecordAlreadyExistsException>(() =>
                                                                    _updateConfigurationCommandHandler.Handle(command, CancellationToken.None));
        }
        public Task <bool> Handle(UpdateConfigurationCommand message, CancellationToken cancellationToken)
        {
            if (!message.IsValid())
            {
                NotifyValidationErrors(message);
                return(Task.FromResult(false));
            }

            var configuration         = new Configuration(message.Id, message.Calcular_Dezenas_Sem_Pontuacao, message.Enviar_Email_Manualmente, message.Enviar_Email_Automaticamente, message.Checar_Jogo_Online, message.Valor_Minimo_Para_Envio_Email);
            var existingConfiguration = _configurationRepository.GetConfigurationById(configuration.Id);

            if (existingConfiguration != null && existingConfiguration.Id != configuration.Id)
            {
                if (!existingConfiguration.Equals(configuration))
                {
                    Bus.RaiseEvent(new DomainNotification(message.MessageType, "O ID desta configuração já está sendo usado!"));
                    return(Task.FromResult(false));
                }
            }

            _configurationRepository.Update(configuration);

            if (Commit())
            {
                try
                {
                    Bus.RaiseEvent(new ConfigurationUpdatedEvent(configuration.Id, configuration.Calcular_Dezenas_Sem_Pontuacao,
                                                                 configuration.Enviar_Email_Manualmente,
                                                                 configuration.Enviar_Email_Automaticamente,
                                                                 configuration.Checar_Jogo_Online,
                                                                 configuration.Valor_Minimo_Para_Envio_Email));
                }
                catch (Exception ex)
                {
                    //throw;
                }
            }

            return(Task.FromResult(true));
        }
示例#4
0
        public async Task <ActionResult <ConfigurationDto> > Put(UpdateConfigurationCommand command)
        {
            var configuration = await _configurationService.UpdateConfiguration(command);

            return(Ok(ConvertToDto(configuration)));
        }
示例#5
0
        public async Task <ActionResult> SetConfigurationAsync(UpdateConfigurationCommand command)
        {
            await Mediator.Send(command);

            return(Ok());
        }
 public async Task <ActionResult <UpdateConfigurationDto> > Set(UpdateConfigurationCommand command)
 {
     return(Ok(await Mediator.Send(command)));
 }