Ejemplo n.º 1
0
        public void SalvaPerfil(Perfil itemGravar)
        {
            Perfil itemBase = Context.Perfis.Include("PerfilFuncionalidades").Where(f => f.Id == itemGravar.Id).FirstOrDefault();
            if (itemBase == null)
            {
                itemBase = Context.Perfis.Create();
                itemBase.PerfilFuncionalidades = new List<PerfilFuncionalidade>();

                Context.Entry<Perfil>(itemBase).State = System.Data.Entity.EntityState.Added;
            }
            AtualizaPropriedades<Perfil>(itemBase, itemGravar);

            foreach (PerfilFuncionalidade itemPerfilFuncionalidade in new List<PerfilFuncionalidade>(itemBase.PerfilFuncionalidades))
            {
                if (!itemGravar.PerfilFuncionalidades.Where(f => f.Id == itemPerfilFuncionalidade.Id).Any())
                {
                    Context.Entry<PerfilFuncionalidade>(itemPerfilFuncionalidade).State = System.Data.Entity.EntityState.Deleted;

                }
            }
            foreach (PerfilFuncionalidade itemPerfilFuncionalidade in new List<PerfilFuncionalidade>(itemGravar.PerfilFuncionalidades))
            {
                PerfilFuncionalidade itemBasePerfilFuncionalidade = !itemPerfilFuncionalidade.Id.HasValue ? null : itemBase.PerfilFuncionalidades.Where(f => f.Id == itemPerfilFuncionalidade.Id).FirstOrDefault();
                if (itemBasePerfilFuncionalidade == null)
                {
                    itemBasePerfilFuncionalidade = Context.PerfilFuncionalidades.Create();

                    itemBase.PerfilFuncionalidades.Add(itemBasePerfilFuncionalidade);
                }
                AtualizaPropriedades<PerfilFuncionalidade>(itemBasePerfilFuncionalidade, itemPerfilFuncionalidade);
            }

            Context.SaveChanges();
            itemGravar.Id = itemBase.Id;
        }
        /// <summary>
        /// Retorna o perfil com id solicidado
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public Perfil Get(int id)
        {
            Perfil ResultadoBusca = new Perfil();
            try
            {
                VerificaAutenticacao(Constantes.FuncionalidadePerfilConsulta, Constantes.FuncionalidadeNomePerfilConsulta, biz);

                //API
                ResultadoBusca = biz.RetornaPerfil_Id(id);

                if (!biz.IsValid())
                    throw new InvalidDataException();
            }
            catch (InvalidDataException)
            {
                GeraErro(HttpStatusCode.InternalServerError, biz.serviceResult);
            }
            catch (UnauthorizedAccessException)
            {
                GeraErro(HttpStatusCode.Unauthorized, biz.serviceResult);
            }
            catch (Exception ex)
            {
                GeraErro(HttpStatusCode.BadRequest, ex);
            }

            return ResultadoBusca;
        }
Ejemplo n.º 3
0
        public void ExcluiPerfil(Perfil itemGravar)
        {
            Perfil itemExcluir = Context.Perfis.Include("PerfilFuncionalidades").Where(f => f.Id == itemGravar.Id).FirstOrDefault();

            foreach (PerfilFuncionalidade itemPerfilFuncionalidade in new List<PerfilFuncionalidade>(itemExcluir.PerfilFuncionalidades))
            {
                Context.Entry<PerfilFuncionalidade>(itemPerfilFuncionalidade).State = System.Data.Entity.EntityState.Deleted;

            }

            Context.Entry<Perfil>(itemExcluir).State = System.Data.Entity.EntityState.Deleted;
            Context.SaveChanges();
        }
Ejemplo n.º 4
0
        public void ValidaRegrasSalvar(Perfil itemGravar)
        {
            if (IsValid() && itemGravar.Id.HasValue)
            {
                Perfil itemBase = RetornaPerfil_Id((int)itemGravar.Id);
                ValidaExistencia(itemBase);
            }

            if (IsValid() && itemGravar.Id == (int)Constantes.PerfilMasterId)
                IncluiErroBusiness("Perfil_SemPermissaoEdicaoExclusao");

            if (IsValid() && string.IsNullOrWhiteSpace(itemGravar.Nome))
                IncluiErroBusiness("Perfil_Nome");
        }
Ejemplo n.º 5
0
 public void ExcluiPerfil(Perfil itemGravar)
 {
     LimpaValidacao();
     ValidateService(itemGravar);
     ValidaRegrasExcluir(itemGravar);
     if (IsValid())
     {
         using (PerfilData data = new PerfilData())
         {
             data.ExcluiPerfil(itemGravar);
             IncluiSucessoBusiness("Perfil_ExcluiPerfilOK");
         }
     }
 }
Ejemplo n.º 6
0
        public void ValidaRegrasExcluir(Perfil itemGravar)
        {
            if (IsValid())
                ValidaExistencia(itemGravar);

            if (IsValid() && itemGravar.Id == (int)Constantes.PerfilMasterId)
                IncluiErroBusiness("Perfil_SemPermissaoEdicaoExclusao");

            if (IsValid())
            {
                PerfilUsuarioBusiness biz = new PerfilUsuarioBusiness();
                var UsuariosAssociados = biz.RetornaPerfilUsuarios_PerfilId_UsuarioId(itemGravar.Id, null);

                if (UsuariosAssociados.Count > 0)
                    IncluiErroBusiness("Perfil_CadastroUtilizado");
            }
        }
Ejemplo n.º 7
0
 public void ValidaExistencia(Perfil itemGravar)
 {
     if (itemGravar == null)
         IncluiErroBusiness("Perfil_NaoEncontrado");
 }