/// <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); } }
/// <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); } }