示例#1
0
        /// <summary>
        /// Serviço para a atualizaçao dos dados de um perfil utilizador
        /// </summary>
        /// <param name="id">Identificador do perfil utilizador</param>
        /// <param name="perfil_utilizador">Dados do perfil utilizador para gravar</param>
        /// <param name="ct">Cancellation Token - chamada asincrona</param>
        /// <returns>View do perfil utilizador</returns>
        public async Task <Perfil_Utilizador> UpdateAsync(int id, Perfil_Utilizador perfil_utilizador, CancellationToken ct)
        {
            try
            {
                var perfil_utilizadorObject = await _perfil_utilizadorRepository.GetAsync(id, ct);

                perfil_utilizadorObject.Nome = perfil_utilizador.Nome;

                return(await _perfil_utilizadorRepository.UpdateAsync(perfil_utilizadorObject, ct));
            }
            catch (Exception e)
            {
                throw new Exception("Ocorreu um erro na obtenção do perfil de utilizador.", e);
            }
        }
示例#2
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);
            }
        }