/// <summary> /// Create a new PERFIL object. /// </summary> /// <param name="iD_PERFIL">Initial value of the ID_PERFIL property.</param> /// <param name="cOD_PERFIL">Initial value of the COD_PERFIL property.</param> /// <param name="nOME_PERFIL">Initial value of the NOME_PERFIL property.</param> /// <param name="bOL_ATIVO">Initial value of the BOL_ATIVO property.</param> /// <param name="iD_EMPRESA">Initial value of the ID_EMPRESA property.</param> public static PERFIL CreatePERFIL(global::System.Guid iD_PERFIL, global::System.String cOD_PERFIL, global::System.String nOME_PERFIL, global::System.Boolean bOL_ATIVO, global::System.Guid iD_EMPRESA) { PERFIL pERFIL = new PERFIL(); pERFIL.ID_PERFIL = iD_PERFIL; pERFIL.COD_PERFIL = cOD_PERFIL; pERFIL.NOME_PERFIL = nOME_PERFIL; pERFIL.BOL_ATIVO = bOL_ATIVO; pERFIL.ID_EMPRESA = iD_EMPRESA; return pERFIL; }
/// <summary> /// Deprecated Method for adding a new object to the T_PERFIL EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. /// </summary> public void AddToT_PERFIL(PERFIL pERFIL) { base.AddObject("T_PERFIL", pERFIL); }
/// <summary> /// Método para salvar o perfil /// </summary> /// <param name="Perfis">Objeto com os dados do perfil</param> /// <returns>Contrato.RetornoPerfil</returns> internal static Contrato.RetornoPerfil SalvarPerfil(Contrato.EntradaPerfil entradaPerfil) { // Objeto que recebe o retorno do método Contrato.RetornoPerfil retPerfil = new Contrato.RetornoPerfil(); // Verifica se as informações do perfil foram informadas string strValidacao = ValidarPerfilPreenchido(entradaPerfil.Perfil); // Objeto que recebe o retorno da sessão Contrato.RetornoSessao retSessao = Negocio.Sessao.ValidarSessao(new Contrato.Sessao() { Login = entradaPerfil.UsuarioLogado, Chave = entradaPerfil.Chave }); // Verifica se o usuário está autenticado if (retSessao.Codigo == Contrato.Constantes.COD_RETORNO_SUCESSO) { // Se existe algum erro if (strValidacao.Length > 0) { retPerfil.Codigo = Contrato.Constantes.COD_FILTRO_VAZIO; retPerfil.Mensagem = strValidacao; } else { // Loga no banco de dados Dados.BRASIL_DIDATICOS context = new Dados.BRASIL_DIDATICOS(); context.ContextOptions.LazyLoadingEnabled = true; // Busca o perfil no banco List<Dados.PERFIL> lstPerfis = (from p in context.T_PERFIL where (p.COD_PERFIL == entradaPerfil.Perfil.Codigo && (entradaPerfil.EmpresaLogada.Id == Guid.Empty || p.ID_EMPRESA == entradaPerfil.EmpresaLogada.Id)) || (entradaPerfil.Novo == null && entradaPerfil.Perfil.Id == p.ID_PERFIL) select p).ToList(); // Verifica se foi encontrado algum registro if (lstPerfis.Count > 0 && entradaPerfil.Novo != null && (bool)entradaPerfil.Novo) { // Preenche o objeto de retorno retPerfil.Codigo = Contrato.Constantes.COD_REGISTRO_DUPLICADO; retPerfil.Mensagem = string.Format("O perfil de código '{0}' já existe!", lstPerfis.First().COD_PERFIL); } else { // Se existe o perfil if (lstPerfis.Count > 0) { // Atualiza o perfil lstPerfis.First().NOME_PERFIL = entradaPerfil.Perfil.Nome; lstPerfis.First().DES_PERFIL = entradaPerfil.Perfil.Descricao; lstPerfis.First().BOL_ATIVO = entradaPerfil.Perfil.Ativo; lstPerfis.First().DATA_ATUALIZACAO = DateTime.Now; lstPerfis.First().LOGIN_USUARIO = entradaPerfil.UsuarioLogado; // Apaga todos os perfis que estão relacionados while (lstPerfis.First().T_PERFIL_PERMISSAO.Count > 0) { context.T_PERFIL_PERMISSAO.DeleteObject(lstPerfis.First().T_PERFIL_PERMISSAO.First()); } // Verifica se existe algum perfil associado ao usuário if (entradaPerfil.Perfil.Permissoes != null) { // Para cada perfil associado foreach (Contrato.Permissao permissao in entradaPerfil.Perfil.Permissoes) { // Associa o perfil ao usuário lstPerfis.First().T_PERFIL_PERMISSAO.Add(new Dados.PERFIL_PERMISSAO() { ID_PERFIL_PERMISSAO = Guid.NewGuid(), ID_PERFIL = lstPerfis.First().ID_PERFIL, ID_PERMISSAO = permissao.Id, LOGIN_USUARIO = entradaPerfil.UsuarioLogado, DATA_ATUALIZACAO = DateTime.Now }); } } } else { // Cria o perfil Dados.PERFIL tPerfil = new Dados.PERFIL(); tPerfil.ID_PERFIL = Guid.NewGuid(); tPerfil.ID_EMPRESA = entradaPerfil.EmpresaLogada.Id; tPerfil.COD_PERFIL = entradaPerfil.Perfil.Codigo; tPerfil.NOME_PERFIL = entradaPerfil.Perfil.Nome; tPerfil.DES_PERFIL = entradaPerfil.Perfil.Descricao; tPerfil.BOL_ATIVO = entradaPerfil.Perfil.Ativo; tPerfil.DATA_ATUALIZACAO = DateTime.Now; tPerfil.LOGIN_USUARIO = entradaPerfil.UsuarioLogado; // Verifica se existe algum perfil associado ao usuário if (entradaPerfil.Perfil.Permissoes != null) { // Para cada perfil associado foreach (Contrato.Permissao permissao in entradaPerfil.Perfil.Permissoes) { // Associa o perfil ao usuário tPerfil.T_PERFIL_PERMISSAO.Add(new Dados.PERFIL_PERMISSAO() { ID_PERFIL_PERMISSAO = Guid.NewGuid(), ID_PERFIL = entradaPerfil.Perfil.Id, ID_PERMISSAO = permissao.Id, LOGIN_USUARIO = entradaPerfil.UsuarioLogado, DATA_ATUALIZACAO = DateTime.Now }); } } context.AddToT_PERFIL(tPerfil); } // Salva as alterações context.SaveChanges(); // Preenche o objeto de retorno retPerfil.Codigo = Contrato.Constantes.COD_RETORNO_SUCESSO; } } } else { // retorna quando o usuário não está autenticado retPerfil.Codigo = retSessao.Codigo; retPerfil.Mensagem = retSessao.Mensagem; } // retorna dos dados return retPerfil; }