public void CriarGrupoPermissao(GrupoPermissao grupoPermissao)
 {
     AssertionConcern.AssertArgumentNotEmpty(grupoPermissao.GrupoPermissaoNome, Erros.EmptyGroupName);
     var temGrupo = _grupoPermissaoRepository.ObterPorGrupoPermissaoNome(grupoPermissao.GrupoPermissaoNome.ToLower());
     if (temGrupo != null)
     {
         throw new Exception(Erros.DuplicateGruopName);
     };
     AtualizarListaPermissao(grupoPermissao);
     _grupoPermissaoRepository.Criar(grupoPermissao);
 }
 public void EditarGrupoPermissao(GrupoPermissao grupoPermissao)
 {
     AssertionConcern.AssertArgumentNotEmpty(grupoPermissao.GrupoPermissaoNome, Erros.EmptyGroupName);
     var bdGrupoPermissao = _grupoPermissaoRepository.ObterPorCodigoComPermissao(grupoPermissao.GrupoPermissaoCodigo);
     var listaPermissao = _permissaoRepository.ObterLista();
     if (!listaPermissao.Any())
     {
         throw new Exception(Erros.PermissionsNotRegistered);
     }
     bdGrupoPermissao.Permissoes.Clear();
     var listaAdicionar = grupoPermissao.Permissoes.Select(x =>
         listaPermissao.FirstOrDefault(a => a.PermissaoCodigo.Equals(x.PermissaoCodigo))).ToList();
     listaAdicionar.ForEach(x =>
     {
         bdGrupoPermissao.Permissoes.Add(x);
     });
     _grupoPermissaoRepository.Atualizar(bdGrupoPermissao);
 }
 public void Deletar(GrupoPermissao gruposPermissao)
 {
     _context.GruposPermissao.Remove(gruposPermissao);
     _context.SaveChanges();
 }
 public void Criar(GrupoPermissao gruposPermissao)
 {
     _context.GruposPermissao.Add(gruposPermissao);
     _context.SaveChanges();
 }
 public void Atualizar(GrupoPermissao gruposPermissao)
 {
     _context.Entry(gruposPermissao).State = System.Data.Entity.EntityState.Modified;
     _context.SaveChanges();
 }
 private void AtualizarListaPermissao(GrupoPermissao grupoPermissao)
 {
     var listaPermissao = _permissaoRepository.ObterLista();
     if (!listaPermissao.Any())
     {
         throw new Exception(Erros.PermissionsNotRegistered);
     }
     grupoPermissao.Permissoes = grupoPermissao.Permissoes.Select(x =>
         listaPermissao.FirstOrDefault(a => a.PermissaoCodigo.Equals(x.PermissaoCodigo))).ToList();
     grupoPermissao.GrupoPermissaoNome = grupoPermissao.GrupoPermissaoNome.ToUpper();
 }