-------------------------------------------------------------------------
-- Primeiro cadastrar TODAS empresas (preenche os dois insert e executa)
--PROCESSO MANUAL, NAO NECESSARIO CASO TENHA EXECUTADO O AUTOMATIZADO
-------------------------------------------------------------------------

--inicio
DECLARE @id INT

INSERT INTO mng_cadEmpresa 
VALUES('Razão Social', -- Razão social da empresa
     'Nome Fantasia',-- Nome Fantasia
     'CNPJ',       -- CNPJ da empresa
     'IE',       -- IE da empresa
     1,         -- Optante pelo simples? 1 para sim, 0 para não
     0,
     1,
     1,
     1,
     1)

SELECT @id = SCOPE_IDENTITY()

INSERT INTO Mng_cadEnderecoEmpresa 
VALUES(@id, 
     'Endereço Principal',  -- Não alterar este campo, é apenas o tipo de endereço
     'endereço', 
     'numero', 
     'complemento', 
     'bairro', 
     'cep', 
     'cidade', 
     'uf', 
     1)
--fim

-------------------------------------------------------------------------
-- Depois de cadastrado todas empresas, executar
-------------------------------------------------------------------------

DECLARE @IdEmpresa INT
    , @NomeEmpresa VARCHAR(30)
    , @IdGrupo Int
  , @IdDireito Int

 IF NOT EXISTS(SELECT * FROM Usr_cadGrupos WHERE Descricao = 'Lojas')
  BEGIN
  PRINT N'INSERINDO GRUPO MULTILOJA';
  INSERT INTO Usr_cadGrupos(Descricao) VALUES('Lojas')
  END
    SELECT @IdGrupo = ISNULL(IdGrupo, -1) FROM Usr_cadGrupos WHERE Descricao = 'Lojas'

  PRINT N'PERCORRER CURSOR';
-- Cursor para percorrer os nomes dos objetos 
DECLARE cursor_objects CURSOR FOR
    SELECT
    EmpresaId,
    NomeFantasia
    FROM
        Mng_cadEmpresa
    WHERE
        Ativado = 1

-- Abrindo Cursor para leitura
OPEN cursor_objects

-- Lendo a próxima linha
FETCH NEXT FROM cursor_objects INTO @IdEmpresa, @NomeEmpresa

-- Percorrendo linhas do cursor (enquanto houverem)
WHILE @@FETCH_STATUS = 0
BEGIN

 --SELECT na cad direitos para verificar se ja esta cadastrado
   PRINT N'BUSCANDO PERMISSÃO';
 --caso nao tenha, entao cadastrar
    IF NOT EXISTS (SELECT * FROM Usr_cadDireitos WHERE IdGrupo=@IdGrupo AND Mnemonico='MULTILOJA' + convert(nvarchar(max), @IdEmpresa))
    BEGIN
    PRINT N'INSERINDO PERMISSÃO!';
    --INSERE GRUPO e FAZ SELECT Novamente
    PRINT 'Permissão loja ' + convert(nvarchar(max), @NomeEmpresa)
    PRINT 'MULTILOJA' + convert(nvarchar(max), @IdEmpresa)
    INSERT INTO Usr_cadDireitos(Descricao, IdGrupo, Mnemonico, Visivel) VALUES('Permissão loja ' + convert(nvarchar(max), @NomeEmpresa), @IdGrupo, 'MULTILOJA' + convert(nvarchar(max), @IdEmpresa), 1)

    END
    PRINT N'OK!';
    FETCH NEXT FROM cursor_objects INTO @IdEmpresa, @NomeEmpresa
END

CLOSE cursor_objects
DEALLOCATE cursor_objects