public ActionResult Create([DataSourceRequest] DataSourceRequest request, [Bind(Prefix = "models")]IEnumerable<CadastroPerfilModel> ListaPerfil)
        {
            try
            {
                if (ListaPerfil != null && ModelState.IsValid)
                {

                    using (var cadastroPerfil = new CadastroPerfil())
                    {

                        foreach (var p in ListaPerfil)
                        {

                            var perfil = new Perfil()
                            {
                                Ativo = p.Ativo,
                                Atribuicao = (Rule)p.Atribuicao.IdAtribuicaoPerfil,
                                Nome = p.Nome
                            };

                            cadastroPerfil.InserirPerfil(perfil);
                            p.IdPerfil = perfil.IdPerfil;

                        }

                    };

                }

                return Json(ListaPerfil.ToDataSourceResult(request, ModelState), JsonRequestBehavior.AllowGet);
            }
            catch
            {
                return View();
            }
        }
        public void AtualizarAssociacaoPerfil(Usuario usuario, Perfil perfil)
        {
            var ListaPerfil = usuarioPerfilBM.GetPerfilUsuarioByUsuario(usuario);

            if (ListaPerfil == null)
            {
                var NovoPerfilAtivo = new UsuarioPerfil()
                {
                    Ativo = true,
                    DataAssociacao = DateTime.Now,
                    Perfil = perfil,
                    Usuario = usuario
                };

                usuarioPerfilBM.Insert(NovoPerfilAtivo);
            }
            else
            {
                var ultimoPerfilAtivo = ListaPerfil.FirstOrDefault(x => x.Ativo);
                if (ultimoPerfilAtivo.Perfil.IdPerfil != perfil.IdPerfil)
                {
                    ultimoPerfilAtivo.Ativo = false;
                    usuarioPerfilBM.Update(ultimoPerfilAtivo);

                    var NovoPerfilAtivo = new UsuarioPerfil()
                    {
                        Ativo = true,
                        DataAssociacao = DateTime.Now,
                        Perfil = perfil,
                        Usuario = usuario
                    };

                    usuarioPerfilBM.Insert(NovoPerfilAtivo);
                }
            }
        }
 public void InserirPerfil(Perfil perfil)
 {
     perfilBm.Insert(perfil);
 }
 public void AlterarPerfil(Perfil perfil)
 {
     perfilBm.Update(perfil);
 }