Пример #1
0
        public void Criar_Empresa_Command_INVALIDO()
        {
            var command = new CriarUsuarioEmpresaCommand();

            command.IdEmpresa = 0;
            command.IdUsuario = 0;

            Assert.AreEqual(false, command.IsValidCommand());
        }
Пример #2
0
        public void Criar_Empresa_Command_VALIDO()
        {
            var command = new CriarUsuarioEmpresaCommand();

            command.IdEmpresa = 1;
            command.IdUsuario = 1;

            Assert.AreEqual(true, command.IsValidCommand());
        }
Пример #3
0
        public ICommandResult Handle(CriarUsuarioEmpresaCommand command)
        {
            if (!command.IsValidCommand())
            {
                return(new CommandResult(false, "Por favor, corrigir os campos abaixo", command.Notifications));
            }

            var usuario = _repository.UsuarioBase(command.IdUsuario);

            if (usuario == null)
            {
                return(new CommandResult(false, "O usuario não existe na base de dados", new { }));
            }

            var empresa = _repository.Empresa(command.IdEmpresa);

            if (empresa == null)
            {
                return(new CommandResult(false, "A empresa não existe na base de dados", new { }));
            }

            if (_repository.UsuarioEmpresaExistente(command.IdUsuario, command.IdEmpresa))
            {
                return(new CommandResult(false, $"O usuário { usuario.Id } - { usuario.Login.Usuario } já está relacionado com a empresa { empresa.Id } - { empresa.Fantasia } { empresa.Cgc9 }/{ empresa.Cgc4 }-{ empresa.Cgc2 }", new { }));
            }

            var usuarioEmpresa = new UsuarioEmpresa(command.IdUsuario, command.IdEmpresa);

            AddNotifications(usuarioEmpresa);

            if (Invalid)
            {
                return(new CommandResult(false, "Por favor, corrigir os campos abaixo", Notifications));
            }

            _repository.SalvarUsuarioEmpresa(usuarioEmpresa);

            return(new CommandResult(true, "Empresa cadastrada com sucesso", new
            {
                Usuario = usuario.Login.Usuario,
                Empresa = $"{ empresa.Id } - { empresa.Fantasia } { empresa.Cgc9 }/{ empresa.Cgc4 }-{ empresa.Cgc2 }"
            }));
        }