public async Task <DataBase.ViewModels.Permissoes> CreateAsync(
            [FromBody] DataBase.Models.Permissoes permissoes,
            CancellationToken ct
            )
        {
            var result = await _permissoesServices.CreateAsync(permissoes, ct);

            var perfil = await _perfil_utilizadoresServices.GetByIdAsync(result.Id_Perfil_Utilizador, ct);

            var modulo = await _modulosServices.GetByIdAsync(result.Id_Modulo, ct);

            return(result.ToViewModel(modulo, perfil));
        }
예제 #2
0
        public async Task CreateTestAsync()
        {
            var permissao = await business.CreateAsync(
                new Permissoes()
            {
                Id                   = 1,
                Id_Modulo            = 1,
                Id_Perfil_Utilizador = 1,
                Ler                  = true,
                Escrever             = true,
                Eliminar             = true,
                Criar                = true
            },
                CancellationToken.None
                );

            Assert.AreEqual(permissao.Id_Perfil_Utilizador, 1);
        }
예제 #3
0
        /// <summary>
        /// Serviço para a criação de Perfil Utilizador
        /// </summary>
        /// <param name="perfil_utilizador">Objeto Perfil Utilizador para a criação na base de dados</param>
        /// <param name="ct">Cancellation Token - chamada asincrona</param>
        /// <returns>View do Perfil Utilizador</returns>
        public async Task <Perfil_Utilizador> CreateAsync(Perfil_Utilizador perfil_utilizador, CancellationToken ct)
        {
            try
            {
                var perfil = await _perfil_utilizadorRepository.CreateAsync(perfil_utilizador, ct);

                var modulos = await _modulosServices.GetAllAsync(ct);

                foreach (var modulo in modulos)
                {
                    await _permissoesServices.CreateAsync(new Permissoes()
                    {
                        Id_Modulo            = modulo.Id,
                        Id_Perfil_Utilizador = perfil.Id
                    }, ct);
                }

                return(perfil);
            }
            catch (Exception e)
            {
                throw new Exception("Ocorreu um erro na criação do perfil de utilizador.", e);
            }
        }
예제 #4
0
        public async Task <Modulos> CreateAsync(Modulos modulos, CancellationToken ct)
        {
            try
            {
                var modulo = await _modulosRepository.CreateAsync(modulos, ct);

                var perfis = await _perfil_utilizadorRepository.GetAllAsync(ct);

                foreach (var perfil in perfis)
                {
                    await _permissoesServices.CreateAsync(new Permissoes()
                    {
                        Id_Modulo            = modulo.Id,
                        Id_Perfil_Utilizador = perfil.Id
                    }, ct);
                }

                return(modulo);
            }
            catch (Exception e)
            {
                throw new Exception("Ocorreu um erro na criação do modulo.", e);
            }
        }