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; }
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(); }
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"); }
public void ExcluiPerfil(Perfil itemGravar) { LimpaValidacao(); ValidateService(itemGravar); ValidaRegrasExcluir(itemGravar); if (IsValid()) { using (PerfilData data = new PerfilData()) { data.ExcluiPerfil(itemGravar); IncluiSucessoBusiness("Perfil_ExcluiPerfilOK"); } } }
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"); } }
public void ValidaExistencia(Perfil itemGravar) { if (itemGravar == null) IncluiErroBusiness("Perfil_NaoEncontrado"); }