예제 #1
0
        public string ResponderSalvar()
        {
            try
            {
                ValidarHistoricoDeSenha();

                if (GetSenhaNova.Length <= 5)
                {
                    return(RetornarErroAjax("Nova senha deve conter mais que 6 digitos."));
                }
                else if (GetSenhaNova != GetSenhaConfirma)
                {
                    return(RetornarErroAjax("Nova senha não confere com a comfirmação da senha."));
                }
                else
                {
                    AlterarSenhaRequest lReq = new AlterarSenhaRequest()
                    {
                        SenhaAtual             = Criptografia.CalculateMD5Hash(GetSenhaAtual),
                        NovaSenha              = Criptografia.CalculateMD5Hash(GetSenhaNova),
                        CodigoSessao           = this.CodigoSessao,
                        DescricaoUsuarioLogado = base.UsuarioLogado.Nome,
                        IdUsuarioLogado        = base.UsuarioLogado.Id
                    };

                    MensagemResponseBase lRes = ServicoSeguranca.AlterarSenha(lReq);

                    GravarHistoricoSenha();

                    if (lRes.StatusResposta == MensagemResponseStatusEnum.OK)
                    {
                        base.RegistrarLogAlteracao(new Contratos.Dados.Cadastro.LogIntranetInfo()
                        {
                            IdLoginClienteAfetado = base.UsuarioLogado.Id, DsObservacao = string.Concat("Senha alterada para o cliente: ", base.UsuarioLogado.Id)
                        });
                        return(RetornarSucessoAjax("Senha alterada com sucesso"));
                    }
                    else
                    {
                        if (lRes.StatusResposta == MensagemResponseStatusEnum.ErroNegocio)
                        {
                            string lCritica = "";
                            foreach (var item in lRes.Criticas)
                            {
                                lCritica += item.Descricao + Environment.NewLine;
                            }
                            return(RetornarErroAjax(lCritica));
                        }
                        else
                        {
                            return(RetornarErroAjax(lRes.DescricaoResposta));
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                return(RetornarErroAjax("Não foi possível alterar a senha: " + ex.Message));
            }
        }
        private string ResponderBuscarItensParaListagemSimples()
        {
            try
            {
                var lRequest = new ListarSessoesRequest()
                {
                    CodigoSessao = this.CodigoSessao
                };

                ListarSessoesResponse lResponse = ServicoSeguranca.ListarSessoes(lRequest);

                if (lResponse.Sessoes.Count > 0)
                {
                    List <TransporteUsuariosLogados> lista = new TransporteUsuariosLogados().ToListTransporteUsuariosLogados(lResponse);

                    this.rowLinhaDeNenhumItem.Visible  = false;
                    this.rptUsuariosLogados.DataSource = lista;
                    this.rptUsuariosLogados.DataBind();

                    base.RegistrarLogConsulta();
                }
                else
                {
                    this.rowLinhaDeNenhumItem.Visible = true;
                }
            }
            catch (Exception exBusca)
            {
                base.RetornarErroAjax("Erro ao buscar os usuários logados", exBusca);
            }

            return(string.Empty);
        }
예제 #3
0
        public string ResponderSalvar()
        {
            string lretorno = string.Empty;

            try
            {
                AlterarPermissaoAcessoRequest lRequest = new AlterarPermissaoAcessoRequest();

                lRequest.PermissaoAcessoUsuarioInfo.IdUsuario = this.GetCodigoCliente;

                lRequest.PermissaoAcessoUsuarioInfo.UsuarioAcessoAcao = UsuarioAcessoEnum.Desbloqueio;

                AlterarPermissaoAcessoResponse lResponse = ServicoSeguranca.AlterarPermissaoAcesso(lRequest);

                if (lResponse.Resposta == MensagemResponseStatusEnum.OK)
                {
                    base.RegistrarLogInclusao();

                    lretorno = RetornarSucessoAjax("Desbloqueio efetuado com sucesso!!!");
                }
                else
                {
                    lretorno = RetornarErroAjax(lResponse.Resposta.ToString());
                }
            }
            catch (Exception ex)
            {
                lretorno = RetornarErroAjax(ex.Message);
            }

            return(lretorno);
        }
예제 #4
0
        public string ResponderExcluir()
        {
            string lIdItem       = Request["Id"];
            string lItemPaiID    = lIdItem.Split('|')[0];
            string lUsuarioID    = lIdItem.Split('|')[1];
            string lTipoDeObjeto = lIdItem.Split('|')[2];

            ReceberUsuarioRequest lRequest = new ReceberUsuarioRequest()
            {
                CodigoSessao  = this.CodigoSessao,
                CodigoUsuario = lUsuarioID
            };

            try
            {
                ReceberUsuarioResponse lResponse = ServicoSeguranca.ReceberUsuario(lRequest);

                if (lResponse.StatusResposta == MensagemResponseStatusEnum.OK)
                {
                    UsuarioInfo lUsuario = lResponse.Usuario;

                    if (lTipoDeObjeto == "Perfil")
                    {
                        lUsuario.Perfis.Remove(lItemPaiID);
                    }
                    else if (lTipoDeObjeto == "Grupo")
                    {
                        lUsuario.Grupos.Remove(lItemPaiID);
                    }

                    var lSalvarUsuarioReq = new SalvarUsuarioRequest()
                    {
                        CodigoSessao = this.CodigoSessao,
                        Usuario      = lUsuario
                    };

                    SalvarUsuarioResponse lSalvarUsuarioRes = ServicoSeguranca.SalvarUsuario(lSalvarUsuarioReq);

                    if (lSalvarUsuarioRes.StatusResposta == MensagemResponseStatusEnum.OK)
                    {
                        base.RegistrarLogExclusao(string.Concat("Excluido usuário: ", lResponse.Usuario.Email));
                        return(RetornarSucessoAjax("Usuario excluido com sucesso."));
                    }
                    else
                    {
                        return(RetornarErroAjax("Erro: " + lSalvarUsuarioRes.DescricaoResposta));
                    }
                }
                else
                {
                    return(RetornarErroAjax("Erro:" + lResponse.DescricaoResposta));
                }
            }
            catch (Exception ex)
            {
                return(RetornarErroAjax("Erro:" + ex.Message));
            }
        }
예제 #5
0
        public string ResponderCadastrar()
        {
            string lretorno    = string.Empty;
            string lObjetoJson = Request["ObjetoJson"];

            TransporteSegurancaUsuario lDadosUsuario = null;

            SalvarUsuarioResponse lResponse = null;
            SalvarUsuarioRequest  lRequest  = new SalvarUsuarioRequest();

            UsuarioInfo lUsuarioInfo = new UsuarioInfo();

            try
            {
                lDadosUsuario = JsonConvert.DeserializeObject <TransporteSegurancaUsuario>(lObjetoJson);

                lUsuarioInfo = lDadosUsuario.ToUsuarioInfo();

                lUsuarioInfo.CodigoUsuario = "0";

                lRequest.Usuario = lUsuarioInfo;

                lRequest.CodigoSessao = this.CodigoSessao;

                lResponse = ServicoSeguranca.SalvarUsuario(lRequest);

                if (lResponse.StatusResposta == MensagemResponseStatusEnum.OK)
                {
                    ReceberUsuarioResponse lREsponseUsuario = ServicoSeguranca.ReceberUsuario(
                        new ReceberUsuarioRequest()
                    {
                        CodigoSessao = this.CodigoSessao,
                        Email        = lUsuarioInfo.Email
                    });

                    if (lREsponseUsuario.StatusResposta == MensagemResponseStatusEnum.OK)
                    {
                        lretorno = RetornarSucessoAjax(new TransporteRetornoDeCadastro(lREsponseUsuario.Usuario.CodigoUsuario), "Usuário cadastrado com sucesso");
                        base.RegistrarLogInclusao(string.Concat("Usuário incluído: ", lDadosUsuario.Email));
                    }
                    else
                    {
                        lretorno = RetornarErroAjax(lREsponseUsuario.DescricaoResposta);
                    }
                }
                else
                {
                    lretorno = RetornarErroAjax(lResponse.DescricaoResposta);
                }
            }
            catch (Exception ex)
            {
                lretorno = RetornarErroAjax("Erro durante o envio do pedido para cadastrar usuário", ex);
            }
            return(lretorno);
        }
예제 #6
0
        public string ResponderSalvar()
        {
            string lObjetoJson                  = Request["ObjetoJson"];
            string lTipoDeObjetoPai             = Request["TipoDeObjetoPai"];
            TransporteSegurancaItemFilho lDados = null;

            ReceberUsuarioRequest lRequest = new ReceberUsuarioRequest()
            {
                CodigoSessao = this.CodigoSessao
            };

            ReceberUsuarioResponse lResponse = null;

            try
            {
                lDados = JsonConvert.DeserializeObject <TransporteSegurancaItemFilho>(lObjetoJson);

                lRequest.CodigoUsuario = lDados.Item;

                lResponse = this.ServicoSeguranca.ReceberUsuario(lRequest);


                UsuarioInfo lUsuario = lResponse.Usuario;

                if (lTipoDeObjetoPai == "Grupo")
                {
                    lUsuario.Grupos.Add(lDados.ParentId);
                }
                else if (lTipoDeObjetoPai == "Perfil")
                {
                    lUsuario.Perfis.Add(lDados.ParentId);
                }

                SalvarUsuarioRequest lSalvarUsuarioReq = new SalvarUsuarioRequest()
                {
                    CodigoSessao = this.CodigoSessao,
                    Usuario      = lUsuario
                };

                SalvarUsuarioResponse lSalvarUsuarioRes = ServicoSeguranca.SalvarUsuario(lSalvarUsuarioReq);

                if (lSalvarUsuarioRes.StatusResposta == MensagemResponseStatusEnum.OK)
                {
                    base.RegistrarLogInclusao(string.Concat("Incluído usuário: ", lResponse.Usuario.Email));
                    return(RetornarSucessoAjax(new TransporteRetornoDeCadastro(lDados.ParentId + "|" + lDados.Item + "|" + lTipoDeObjetoPai), "Usuario associado com sucesso."));
                }
                else
                {
                    return(RetornarErroAjax(lResponse.DescricaoResposta));
                }
            }
            catch (Exception ex)
            {
                return(RetornarErroAjax(ex.Message));
            }
        }
예제 #7
0
        private void CarregarListaDePermissoes()
        {
            ListarPermissoesRequest lreq = new ListarPermissoesRequest();

            lreq.CodigoSessao    = this.CodigoSessao;
            lreq.IdUsuarioLogado = base.UsuarioLogado.Id; lreq.DescricaoUsuarioLogado = base.UsuarioLogado.Nome;
            ListarPermissoesResponse lRes = ServicoSeguranca.ListarPermissoes(lreq);

            this.ListaDePermissoes = lRes.Permissoes;
        }
예제 #8
0
        public string ResponderCarregarHtmlComDados()
        {
            string lCodigoItem  = Request["Id"];
            string TipoDeObjeto = Request["TipoDeObjeto"];
            List <TransporteSegurancaItemFilho> lItensRetorno = new List <TransporteSegurancaItemFilho>();
            ListarUsuariosRequest lRequest = new ListarUsuariosRequest()
            {
                CodigoSessao = this.CodigoSessao
            };

            switch (TipoDeObjeto)
            {
            case "Grupo":
                lRequest.FiltroCodigoUsuarioGrupo = lCodigoItem;
                break;

            case "Perfil":
                lRequest.FiltroCodigoPerfil = lCodigoItem;
                break;
            }
            try
            {
                ListarUsuariosResponse lResponse = ServicoSeguranca.ListarUsuarios(lRequest);

                if (lResponse.StatusResposta == MensagemResponseStatusEnum.OK)
                {
                    foreach (UsuarioInfo lUsuario in lResponse.Usuarios)
                    {
                        lItensRetorno.Add(
                            new TransporteSegurancaItemFilho()
                        {
                            Id         = lCodigoItem + "|" + lUsuario.CodigoUsuario + "|" + TipoDeObjeto,
                            Item       = lUsuario.CodigoUsuario,
                            ItemDesc   = lUsuario.CodigoUsuario + " - " + lUsuario.Nome,
                            ParentId   = lCodigoItem,
                            TipoDeItem = "Usuarios"
                        });
                    }

                    hidSeguranca_Usuarios_ListaJson.Value = JsonConvert.SerializeObject(lItensRetorno);
                }
                else
                {
                    return(RetornarErroAjax("Erro:" + lResponse.DescricaoResposta));
                }
            }
            catch (Exception ex)
            {
                return(RetornarErroAjax("Erro:" + ex.Message));
            }
            return(string.Empty);
        }
예제 #9
0
        private void DefinirExibicaoModoAssessor()
        {
            ReceberSessaoRequest lReq = new ReceberSessaoRequest();

            lReq.CodigoSessao          = base.CodigoSessao;
            lReq.CodigoSessaoARetornar = base.CodigoSessao;
            ReceberSessaoResponse lRes = ServicoSeguranca.ReceberSessao(lReq);

            if (lRes.StatusResposta == OMS.Library.MensagemResponseStatusEnum.OK &&
                (lRes.Usuario.Perfis.Contains("6")))
            {
                gIdAsessorLogado = lRes.Usuario.CodigoAssessor.ToString();
            }
        }
예제 #10
0
        public string ResponderCadastrar()
        {
            string lretorno    = string.Empty;
            string lObjetoJson = Request["ObjetoJson"];

            TransporteSegurancaPermissaoSeguranca lDadosPermissao = null;

            MensagemResponseBase   lResponse = null;
            SalvarPermissaoRequest lRequest  = new SalvarPermissaoRequest();

            PermissaoInfo lPermissaoInfo = new PermissaoInfo();

            try
            {
                lDadosPermissao = JsonConvert.DeserializeObject <TransporteSegurancaPermissaoSeguranca>(lObjetoJson);

                lPermissaoInfo = lDadosPermissao.ToPermissaoInfo();

                lRequest.Permissao = lPermissaoInfo;

                lRequest.CodigoSessao = this.CodigoSessao;

                lResponse = ServicoSeguranca.SalvarPermissao(lRequest);

                if (lResponse.StatusResposta == MensagemResponseStatusEnum.OK)
                {
                    if (string.IsNullOrWhiteSpace(lDadosPermissao.Id))
                    {
                        base.RegistrarLogInclusao();
                    }
                    else
                    {
                        base.RegistrarLogAlteracao();
                    }

                    lretorno = RetornarSucessoAjax(new TransporteRetornoDeCadastro(lResponse.DescricaoResposta), "Permissão cadastrada com sucesso");
                }
                else
                {
                    lretorno = RetornarErroAjax(lResponse.DescricaoResposta);
                }
            }
            catch (Exception ex)
            {
                lretorno = RetornarErroAjax("Erro durante o envio do request para cadastrar permissão", ex);
            }
            return(lretorno);
        }
예제 #11
0
        public string ResponderAtualizar()
        {
            string lretorno    = string.Empty;
            string lObjetoJson = Request["ObjetoJson"];

            TransporteSegurancaGrupo lDadosGrupo = null;

            MensagemResponseBase lResponse = null;

            SalvarUsuarioGrupoRequest lRequest = new SalvarUsuarioGrupoRequest();

            try
            {
                lDadosGrupo = JsonConvert.DeserializeObject <TransporteSegurancaGrupo>(lObjetoJson);
                ReceberUsuarioGrupoRequest lRequestGrupo = new ReceberUsuarioGrupoRequest()
                {
                    CodigoSessao       = this.CodigoSessao,
                    CodigoUsuarioGrupo = lDadosGrupo.Id
                };

                UsuarioGrupoInfo lUsuarioGrupoInfo = ((ReceberUsuarioGrupoResponse)this.ServicoSeguranca.ReceberUsuarioGrupo(lRequestGrupo)).UsuarioGrupo;

                lUsuarioGrupoInfo.NomeUsuarioGrupo = lDadosGrupo.Nome;

                lRequest.UsuarioGrupo = lUsuarioGrupoInfo;
                lRequest.CodigoSessao = this.CodigoSessao;

                lResponse = ServicoSeguranca.SalvarUsuarioGrupo(lRequest);

                if (lResponse.StatusResposta == MensagemResponseStatusEnum.OK)
                {
                    lretorno = RetornarSucessoAjax("Grupo alterado com sucesso");
                    base.RegistrarLogAlteracao();
                }
                else
                {
                    lretorno = RetornarErroAjax(lResponse.DescricaoResposta);
                }
            }
            catch (Exception ex)
            {
                lretorno = RetornarErroAjax(ex.Message);
            }

            return(lretorno);
        }
예제 #12
0
        public string  ResponderCadastrar()
        {
            string lretorno    = string.Empty;
            string lObjetoJson = Request["ObjetoJson"];

            TransporteSegurancaPerfil lDadosPerfil = null;

            SalvarPerfilRequest lRequest = new SalvarPerfilRequest();

            PerfilInfo lPerfilInfo = new PerfilInfo();

            try
            {
                lDadosPerfil = JsonConvert.DeserializeObject <TransporteSegurancaPerfil>(lObjetoJson);

                lPerfilInfo = lDadosPerfil.ToPerfilInfo();

                lRequest.Perfil = lPerfilInfo;

                lRequest.CodigoSessao = this.CodigoSessao;

                lRequest.Perfil.CodigoPerfil = "0";

                var lResponse = ServicoSeguranca.SalvarPerfil(lRequest);

                if (lResponse.StatusResposta == MensagemResponseStatusEnum.OK)
                {
                    base.RegistrarLogInclusao();

                    //lretorno = RetornarSucessoAjax(new TransporteRetornoDeCadastro(lResponse.ResponseTag.DBToInt32()), "Perfil cadastrado com sucesso");

                    lretorno = RetornarSucessoAjax("Perfil cadastrado com sucesso");
                }
                else
                {
                    lretorno = RetornarErroAjax(lResponse.DescricaoResposta);
                }
            }
            catch (Exception ex)
            {
                lretorno = RetornarErroAjax("Erro durante o envio do request para cadastrar perfil", ex);
            }

            return(lretorno);
        }
예제 #13
0
        public string ResponderAtualizar()
        {
            string lretorno    = string.Empty;
            string lObjetoJson = Request["ObjetoJson"];

            TransporteSegurancaPerfil lDadosPerfil = null;

            MensagemResponseBase lResponse = null;

            SalvarPerfilRequest lRequest = new SalvarPerfilRequest();

            try
            {
                lDadosPerfil = JsonConvert.DeserializeObject <TransporteSegurancaPerfil>(lObjetoJson);
                ReceberPerfilRequest lRequestPerfil = new ReceberPerfilRequest()
                {
                    CodigoSessao = this.CodigoSessao,
                    CodigoPerfil = lDadosPerfil.Id
                };

                PerfilInfo lPerfilInfo = ((ReceberPerfilResponse)this.ServicoSeguranca.ReceberPerfil(lRequestPerfil)).Perfil;

                lPerfilInfo.NomePerfil = lDadosPerfil.Nome;

                lRequest.Perfil       = lPerfilInfo;
                lRequest.CodigoSessao = this.CodigoSessao;

                lResponse = ServicoSeguranca.SalvarPerfil(lRequest);

                if (lResponse.StatusResposta == MensagemResponseStatusEnum.OK)
                {
                    lretorno = RetornarSucessoAjax("Perfil alterado com sucesso");
                    base.RegistrarLogAlteracao();
                }
                else
                {
                    lretorno = RetornarErroAjax(lResponse.DescricaoResposta);
                }
            }
            catch (Exception ex)
            {
                lretorno = RetornarErroAjax(ex.Message);
            }
            return(lretorno);
        }
예제 #14
0
        public string ResponderExcluir()
        {
            string lIdItem = Request["Id"];

            try
            {
                string lCodigoUsuario = lIdItem.Split('|')[0];
                string lCodigoGrupo   = lIdItem.Split('|')[1];

                ReceberUsuarioRequest lRequest = new ReceberUsuarioRequest()
                {
                    CodigoSessao  = this.CodigoSessao,
                    CodigoUsuario = lCodigoUsuario
                };

                ReceberUsuarioResponse lResponse = ServicoSeguranca.ReceberUsuario(lRequest);

                if (lResponse.StatusResposta == MensagemResponseStatusEnum.OK)
                {
                    lResponse.Usuario.Grupos.Remove(lCodigoGrupo);

                    MensagemResponseBase lREsponseAUx = ServicoSeguranca.SalvarUsuario(new SalvarUsuarioRequest()
                    {
                        CodigoSessao = this.CodigoSessao,
                        Usuario      = lResponse.Usuario
                    });

                    if (lREsponseAUx.StatusResposta == MensagemResponseStatusEnum.OK)
                    {
                        base.RegistrarLogExclusao();
                        return(RetornarSucessoAjax("Grupo removido com sucesso."));
                    }
                    else
                    {
                        return(RetornarErroAjax(lREsponseAUx.DescricaoResposta));
                    }
                }
            }
            catch (Exception ex)
            {
                return(RetornarErroAjax(ex.Message));
            }
            return(string.Empty);
        }
예제 #15
0
        protected new void Page_Load(object sender, EventArgs e)
        {
            base.Page_Load(sender, e);

            if (!Page.IsPostBack)
            {
                var lReceberSessao = ServicoSeguranca.ReceberSessao(
                    new ReceberSessaoRequest()
                {
                    CodigoSessao          = base.CodigoSessao,
                    CodigoSessaoARetornar = base.CodigoSessao,
                });

                if (lReceberSessao.StatusResposta == OMS.Library.MensagemResponseStatusEnum.OK)
                {
                    this.litRelAssessor.Visible = !lReceberSessao.Usuario.Perfis.Contains("6");

                    //--> Defindo o valor para posicionamento da grid
                    gIdAsessorLogado = !this.litRelAssessor.Visible ? lReceberSessao.Usuario.CodigoAssessor.ToString() : string.Empty;
                }

                this.PreenchePaisesAtividadesSinacor();

                base.PopularComboComListaGenerica <TipoDePendenciaCadastralInfo>(this.GetTiposPendenciaCadastral, this.rptClientes_FiltroRelatorio_TipoDePendencia);
                base.PopularComboComListaGenerica <PaisesBlackListInfo>(this.GetPaisesBlackListCadastrados, this.rptClientes_FiltroRelatorio_Pais);
                base.PopularComboComListaGenerica <AtividadeIlicitaInfo>(this.GetAtividadesIlicitasCadastradas, this.rptClientes_FiltroRelatorio_AtividadeIlicita);
                base.PopularComboComListaGenerica <PoupeDirectProdutoInfo>(this.GetProdutosPoupe, this.rptClientes_FiltroRelatorio_ProdutosPoupe);

                base.PopularControleComListaDoSinacor(eInformacao.AssessorPadronizado, this.rptRisco_FiltroRelatorio_Assessor); //--> Combo Assessores Sinacor

                this.rptClientes_FiltroRelatorio_Produtos.DataSource = this.GetProdutosCliente;
                this.rptClientes_FiltroRelatorio_Produtos.DataBind();

                this.rptClientes_FiltroAssessor.DataSource = new TransporteRelatorio_017().TraduzirListaConsulta(this.GetListaClientesVinculados);
                this.rptClientes_FiltroAssessor.DataBind();

                this.rptRelatorio018_ClientesAssessor.DataSource = new TransporteRelatorio_017().TraduzirListaConsulta(this.GetListaClientesVinculados);
                this.rptRelatorio018_ClientesAssessor.DataBind();

                base.PopularControleComListaDoSinacor(eInformacao.AssessorPadronizado, this.rptRelatorio018_Assessores); //--> Combo Assessores Sinacor
            }
        }
예제 #16
0
        public string ResponderCadastrar()
        {
            string lretorno    = string.Empty;
            string lObjetoJson = Request["ObjetoJson"];

            MensagemResponseBase      lResponse         = null;
            TransporteSegurancaGrupo  lDadosGrupo       = null;
            SalvarUsuarioGrupoRequest lRequest          = new SalvarUsuarioGrupoRequest();
            UsuarioGrupoInfo          lUsuarioGrupoInfo = new UsuarioGrupoInfo();

            try
            {
                lDadosGrupo = JsonConvert.DeserializeObject <TransporteSegurancaGrupo>(lObjetoJson);

                lRequest.UsuarioGrupo = lDadosGrupo.ToUsuarioGrupoInfo();

                lRequest.UsuarioGrupo.CodigoUsuarioGrupo = "0";

                lRequest.CodigoSessao = this.CodigoSessao;

                lResponse = ServicoSeguranca.SalvarUsuarioGrupo(lRequest);

                if (lResponse.StatusResposta == MensagemResponseStatusEnum.OK)
                {
                    base.RegistrarLogInclusao();

                    lretorno = RetornarSucessoAjax(new TransporteRetornoDeCadastro(lUsuarioGrupoInfo.CodigoUsuarioGrupo), "Grupo cadastrado com sucesso");
                }
                else
                {
                    lretorno = RetornarErroAjax(lResponse.DescricaoResposta);
                }
            }
            catch (Exception ex)
            {
                lretorno = RetornarErroAjax(ex.Message);
            }

            return(lretorno);
        }
예제 #17
0
        private void ValidaPermissaoDeEdicaoDeClientesPassos3e4()
        {
            string[] lPerfiisComPermissao = ConfigurationManager.AppSettings["PerfiisComPermissaoDeAlterarClientesPasso3e4"].ToString().Split(',');

            //var lPerfiisDoUsuario = ServicoSeguranca.ListarPerfis(
            //    new OMS.Seguranca.Lib.ListarPerfisRequest(){
            //        CodigoSessao = base.CodigoSessao,
            //        IdUsuarioLogado=base.UsuarioLogado.Id,
            //        DescricaoUsuarioLogado = base.UsuarioLogado.Nome
            //    }
            //    );

            var Sessao = ServicoSeguranca.ReceberSessao(new OMS.Seguranca.Lib.ReceberSessaoRequest()
            {
                CodigoSessao           = base.CodigoSessao,
                CodigoSessaoARetornar  = base.CodigoSessao,
                IdUsuarioLogado        = base.UsuarioLogado.Id,
                DescricaoUsuarioLogado = base.UsuarioLogado.Nome
            });

            Boolean lPermissaoParaEditarClientesPasso3e3 = false;

            foreach (var itemUsuario in Sessao.Usuario.Perfis)
            {
                if (lPermissaoParaEditarClientesPasso3e3)
                {
                    break;
                }
                foreach (string itemPermisao in lPerfiisComPermissao)
                {
                    if (itemUsuario == itemPermisao)
                    {
                        lPermissaoParaEditarClientesPasso3e3 = true;
                        break;
                    }
                }
            }

            hdMenuClientesPermissaoAlterarPasso_3_4.Value = lPermissaoParaEditarClientesPasso3e3.ToString();
        }
예제 #18
0
        private string ResponderBuscarGrupos()
        {
            string lRetorno = "Erro...";

            ListarUsuarioGruposRequest lRequest = new ListarUsuarioGruposRequest();

            lRequest.CodigoSessao = this.CodigoSessao;

            if (Request.Params["TermoDeBusca"] != null && Request.Params["TermoDeBusca"] != string.Empty)
            {
                if (Request.Params["BuscarCampo"].ToLower().Trim() == "descricao")
                {
                    lRequest.FiltroNomeUsuarioGrupo = Request.Params["TermoDeBusca"];
                }

                if (Request["BuscarCampo"].ToLower().Trim() == "codigo")
                {
                    lRequest.FiltroCodigoUsuarioGrupo = Request.Params["TermoDeBusca"];
                }
            }

            ListarUsuarioGruposResponse lResponse = ServicoSeguranca.ListarUsuarioGrupos(lRequest);

            SessionUltimoResultadoDeBusca.Clear();

            foreach (UsuarioGrupoInfo lUserInfo in lResponse.UsuarioGrupos)
            {
                this.SessionUltimoResultadoDeBusca.Add(new TransporteSegurancaGrupo()
                {
                    Id   = lUserInfo.CodigoUsuarioGrupo,
                    Nome = lUserInfo.NomeUsuarioGrupo
                });
            }

            TransporteDeListaPaginada lListaPaginada = BuscarPaginaDeResultados(1);

            lRetorno = RetornarSucessoAjax(lListaPaginada, "Encontrados [{0}] grupos", SessionUltimoResultadoDeBusca.Count);

            return(lRetorno);
        }
예제 #19
0
        private string ResponderLogout()
        {
            string lCodigoSessao = this.CodigoSessao;

            Session.Clear();

            MensagemResponseBase res = ServicoSeguranca.EfetuarLogOut(new MensagemRequestBase()
            {
                CodigoSessao = lCodigoSessao
            });

            if (res.StatusResposta == MensagemResponseStatusEnum.OK)
            {
                RedirecionarPara("Login.aspx");

                return(RESPOSTA_JA_ENVIADA_PELA_FUNCAO);
            }
            else
            {
                return(RetornarErroAjax(res.DescricaoResposta));
            }
        }
예제 #20
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (this.UsuarioLogado == null)
            {
                if (string.IsNullOrEmpty(this.Acao))
                {
                    this.RedirecionarPara("Default.aspx");
                    //Server.Transfer("Login.aspx");
                }
                else
                {
                    this.Response.Clear();

                    this.Response.Write(base.RetornarErroAjax(RESPOSTA_SESSAO_EXPIRADA));

                    this.Response.End();
                }
            }
            else
            {
                ReceberSessaoResponse lResSessao = ServicoSeguranca.ReceberSessao(new ReceberSessaoRequest()
                {
                    CodigoSessao          = this.CodigoSessao,
                    CodigoSessaoARetornar = this.CodigoSessao
                });

                if (!lResSessao.Sessao.EhSessaoDeAdministrador)
                {
                    object[] attrs = this.GetType().GetCustomAttributes(typeof(ValidarSegurancaAttribute), true);

                    if (attrs.Length > 0)
                    {
                        List <ItemSegurancaInfo> list = new List <ItemSegurancaInfo>();

                        list.Add(((ValidarSegurancaAttribute)attrs[0]).Seguranca);
                        ValidarItemSegurancaRequest lRequestSeguranca = new ValidarItemSegurancaRequest()
                        {
                            CodigoSessao   = this.CodigoSessao,
                            ItensSeguranca = list
                        };

                        try
                        {
                            ValidarItemSegurancaResponse lResponseSeguranca = this.ServicoSeguranca.ValidarItemSeguranca(lRequestSeguranca);

                            if (lResponseSeguranca.StatusResposta == MensagemResponseStatusEnum.OK)
                            {
                                if (!lResponseSeguranca.ItensSeguranca[0].Valido.Value)
                                {   //--> Acesso Negado
                                    this.Response.Clear();
                                    this.Response.End();
                                }
                            }
                            else
                            {
                                this.Response.Clear();
                                this.Response.End();
                            }
                        }
                        //catch (CommunicationObjectFaultedException)
                        //{
                        //    Ativador.AbortChannel(this.ServicoSeguranca);
                        //    this.ServicoSeguranca = Ativador.Get<IServicoSeguranca>();
                        //}
                        catch (System.Threading.ThreadAbortException)
                        {
                        }
                        catch (Exception ex)
                        {
                            this.Response.Clear();

                            this.Response.Write(base.RetornarErroAjax(ex.Message));

                            this.Response.End();
                        }
                    }
                }
            }
        }
예제 #21
0
        public string ReceberPermissoes()
        {
            string lObjetoJson = Request.Params["ObjetoJson"];

            try
            {
                TransporteSegurancaDadosAssociados lDados = JsonConvert.DeserializeObject <TransporteSegurancaDadosAssociados>(lObjetoJson);
                lDados.Consultar            =
                    lDados.Excluir          =
                        lDados.Salvar       =
                            lDados.Executar = false;
                if (lDados.EhGrupo)
                {
                    ReceberUsuarioGrupoRequest lReuqest = new ReceberUsuarioGrupoRequest()
                    {
                        CodigoSessao           = this.CodigoSessao,
                        CodigoUsuarioGrupo     = lDados.Grupo,
                        DescricaoUsuarioLogado = base.UsuarioLogado.Nome,
                        IdUsuarioLogado        = base.UsuarioLogado.Id
                    };

                    ReceberUsuarioGrupoResponse lRes = ServicoSeguranca.ReceberUsuarioGrupo(lReuqest);

                    List <PermissaoInfo> permissoes = ListaDePermissoes.Where(p => p.GetType().Name.Contains(lDados.Interface)).ToList();

                    foreach (PermissaoAssociadaInfo lPI in lRes.UsuarioGrupo.Permissoes)
                    {
                        PermissaoInfo lPermissao = permissoes.Find(p => p.CodigoPermissao == lPI.CodigoPermissao);
                        if (lPermissao != null)
                        {
                            if (lPermissao.GetType().Name.Contains("Excluir"))
                            {
                                lDados.Excluir = true;
                            }
                            if (lPermissao.GetType().Name.Contains("Executar"))
                            {
                                lDados.Executar = true;
                            }
                            if (lPermissao.GetType().Name.Contains("Consultar"))
                            {
                                lDados.Consultar = true;
                            }
                            if (lPermissao.GetType().Name.Contains("Salvar"))
                            {
                                lDados.Salvar = true;
                            }
                        }
                    }
                }
                else
                {
                    ReceberUsuarioRequest lReuqest = new ReceberUsuarioRequest()
                    {
                        CodigoSessao           = this.CodigoSessao,
                        CodigoUsuario          = lDados.Usuario,
                        DescricaoUsuarioLogado = base.UsuarioLogado.Nome,
                        IdUsuarioLogado        = base.UsuarioLogado.Id
                    };

                    ReceberUsuarioResponse lRes = ServicoSeguranca.ReceberUsuario(lReuqest);

                    List <PermissaoInfo> permissoes = ListaDePermissoes.Where(p => p.GetType().Name.Contains(lDados.Interface)).ToList();

                    foreach (PermissaoAssociadaInfo lPI in lRes.Usuario.Permissoes)
                    {
                        PermissaoInfo lPermissao = permissoes.Find(p => p.CodigoPermissao == lPI.CodigoPermissao);
                        if (lPermissao != null)
                        {
                            if (lPermissao.GetType().Name.Contains("Excluir"))
                            {
                                lDados.Excluir = true;
                            }
                            if (lPermissao.GetType().Name.Contains("Executar"))
                            {
                                lDados.Executar = true;
                            }
                            if (lPermissao.GetType().Name.Contains("Consultar"))
                            {
                                lDados.Consultar = true;
                            }
                            if (lPermissao.GetType().Name.Contains("Salvar"))
                            {
                                lDados.Salvar = true;
                            }
                        }
                    }
                }
                return(RetornarSucessoAjax(lDados, "Ok"));
            }
            catch (Exception ex)
            {
                logger.Error(ex.Message, ex);
                return(RetornarErroAjax(ex.Message));
            }
        }
예제 #22
0
        public string Salvar()
        {
            string lObjetoJson = Request.Params["ObjetoJson"];

            try
            {
                TransporteSegurancaDadosAssociados lDados = JsonConvert.DeserializeObject <TransporteSegurancaDadosAssociados>(lObjetoJson);
                MensagemRequestBase  lRequestItem;
                MensagemRequestBase  lRequestSalvarItem;
                MensagemResponseBase lResponseItem, lResponseSalvar;
                UsuarioGrupoInfo     lUsuarioGrupo = null;
                UsuarioInfo          lUsuario      = null;

                if (lDados.EhGrupo)
                {
                    lRequestItem       = new ReceberUsuarioGrupoRequest();
                    lRequestSalvarItem = new SalvarUsuarioGrupoRequest();
                    lRequestSalvarItem.CodigoSessao = this.CodigoSessao;
                    lRequestItem.CodigoSessao       = this.CodigoSessao;

                    ((ReceberUsuarioGrupoRequest)lRequestItem).CodigoUsuarioGrupo = lDados.Grupo;
                    lResponseItem = ServicoSeguranca.ReceberUsuarioGrupo((ReceberUsuarioGrupoRequest)lRequestItem);
                }
                else if (lDados.EhUsuario)
                {
                    lRequestItem       = new ReceberUsuarioRequest();
                    lRequestSalvarItem = new SalvarUsuarioRequest();
                    lRequestSalvarItem.CodigoSessao = this.CodigoSessao;
                    lRequestItem.CodigoSessao       = this.CodigoSessao;

                    ((ReceberUsuarioRequest)lRequestItem).CodigoUsuario = lDados.Usuario;
                    lResponseItem = ServicoSeguranca.ReceberUsuario((ReceberUsuarioRequest)lRequestItem);
                }
                else
                {
                    return(RetornarErroAjax("Selecione um grupo ou usuário para associar as permissões"));
                }



                if (lResponseItem.StatusResposta != MensagemResponseStatusEnum.OK)
                {
                    return(RetornarErroAjax(lResponseItem.DescricaoResposta));
                }

                if (lResponseItem is ReceberUsuarioGrupoResponse)
                {
                    lUsuarioGrupo = ((ReceberUsuarioGrupoResponse)lResponseItem).UsuarioGrupo;
                }
                else
                {
                    lUsuario = ((ReceberUsuarioResponse)lResponseItem).Usuario;
                }

                string nomePermissao = string.Empty;

                nomePermissao = lDados.Interface.Trim() + "Consultar";
                this.AssociarPermissaoAoObjeto(lResponseItem, nomePermissao, lDados.Consultar);

                nomePermissao = lDados.Interface.Trim() + "Salvar";
                this.AssociarPermissaoAoObjeto(lResponseItem, nomePermissao, lDados.Salvar);

                nomePermissao = lDados.Interface.Trim() + "Excluir";
                this.AssociarPermissaoAoObjeto(lResponseItem, nomePermissao, lDados.Excluir);

                nomePermissao = lDados.Interface.Trim() + "Executar";
                this.AssociarPermissaoAoObjeto(lResponseItem, nomePermissao, lDados.Executar);

                if (lDados.EhGrupo)
                {
                    ((SalvarUsuarioGrupoRequest)lRequestSalvarItem).UsuarioGrupo = lUsuarioGrupo;
                    lResponseSalvar = ServicoSeguranca.SalvarUsuarioGrupo((SalvarUsuarioGrupoRequest)lRequestSalvarItem);
                }
                else
                {
                    ((SalvarUsuarioRequest)lRequestSalvarItem).Usuario = lUsuario;
                    lResponseSalvar = ServicoSeguranca.SalvarUsuario((SalvarUsuarioRequest)lRequestSalvarItem);
                }

                if (lResponseSalvar.StatusResposta == MensagemResponseStatusEnum.OK)
                {
                    base.RegistrarLogInclusao();
                    return(RetornarSucessoAjax("Itens Associados com sucesso"));
                }
                else
                {
                    return(RetornarErroAjax(lResponseSalvar.DescricaoResposta));
                }
            }
            catch (Exception ex)
            {
                logger.Error(ex.Message, ex);
                return(RetornarErroAjax(ex.Message, ex));
            }
        }
예제 #23
0
        private string ResponderEfetuarLogin()
        {
            string lRetorno;

            string lUsuario, lSenha;

            lUsuario = Request.Form["Usuario"];
            lSenha   = Request.Form["Senha"];

            if (string.IsNullOrEmpty(lUsuario))
            {
                lRetorno = RetornarErroAjax("Campo 'Usuário' é obrigatório");
            }
            else if (string.IsNullOrEmpty(lSenha))
            {
                lRetorno = RetornarErroAjax("Campo 'Senha' é obrigatório");
            }
            else
            {
                AutenticarUsuarioResponse lResponseAutenticacao = null;

                try
                {
                    this.LimparSessionsDoSistema();

                    AutenticarUsuarioRequest lRequestAuth = new AutenticarUsuarioRequest()
                    {
                        Email = lUsuario,                              // Admin
                        Senha = Criptografia.CalculateMD5Hash(lSenha), //123
                        IP    = Request.ServerVariables["REMOTE_ADDR"],
                        CodigoSistemaCliente = "Intranet"
                    };

                    IServicoSeguranca lServico = this.ServicoSeguranca;

                    lResponseAutenticacao = lServico.AutenticarUsuario(lRequestAuth);

                    if (lResponseAutenticacao.StatusResposta != MensagemResponseStatusEnum.OK)
                    {
                        return(RetornarErroAjax(lResponseAutenticacao.DescricaoResposta));
                    }

                    this.CodigoSessao = lResponseAutenticacao.Sessao.CodigoSessao;
                }
                catch (Exception ex)
                {
                    return(RetornarErroAjax(ex.Message));
                }

                var lRetornoSessao = ServicoSeguranca.ReceberSessao(new ReceberSessaoRequest()
                {
                    CodigoSessao          = this.CodigoSessao,
                    CodigoSessaoARetornar = this.CodigoSessao,
                });

                this.Session["Usuario"] = new Usuario()
                {
                    Id              = lRetornoSessao.Usuario.CodigoUsuario.DBToInt32(),
                    Nome            = lRetornoSessao.Usuario.Nome,
                    EmailLogin      = lUsuario,
                    EhAdministrador = lResponseAutenticacao != null ? lResponseAutenticacao.Sessao.EhSessaoDeAdministrador : false,
                    Perfis          = lRetornoSessao.Usuario.Perfis
                };

                lRetorno = base.RetornarSucessoAjax("Intranet/Default.aspx");
            }

            return(lRetorno);
        }
예제 #24
0
        public string ResponderExcluir()
        {
            string lIdItemPermissao = Request["Id"];

            string lItemPaiID    = lIdItemPermissao.Split('|')[0];
            string lPerfilID     = lIdItemPermissao.Split('|')[1];
            string lTipoDeObjeto = lIdItemPermissao.Split('|')[2];

            MensagemRequestBase  lRequest;
            MensagemResponseBase lResponse;

            switch (lTipoDeObjeto)
            {
            case "Usuario":
                lRequest = new ReceberUsuarioRequest()
                {
                    CodigoUsuario = lItemPaiID,
                    CodigoSessao  = this.CodigoSessao
                };
                lResponse = this.ServicoSeguranca.ReceberUsuario((ReceberUsuarioRequest)lRequest);
                break;

            case "Grupo":
                lRequest = new ReceberUsuarioGrupoRequest()
                {
                    CodigoUsuarioGrupo = lItemPaiID,
                    CodigoSessao       = this.CodigoSessao
                };
                lResponse = this.ServicoSeguranca.ReceberUsuarioGrupo((ReceberUsuarioGrupoRequest)lRequest);
                break;

            default:
                return(RetornarErroAjax("Só é permitido listar os perfis se o tipo de objeto for Usuário ou Grupo."));
            }

            if (lResponse.StatusResposta == MensagemResponseStatusEnum.OK)
            {
                MensagemRequestBase  lSalvarRequest;
                MensagemResponseBase lSalvarResponse;

                if (lResponse is ReceberUsuarioResponse)
                {
                    UsuarioInfo lUsuario = ((ReceberUsuarioResponse)lResponse).Usuario;
                    lUsuario.Perfis.Remove(lPerfilID);

                    lSalvarRequest = new SalvarUsuarioRequest()
                    {
                        CodigoSessao = this.CodigoSessao,
                        Usuario      = lUsuario
                    };
                    lSalvarResponse = ServicoSeguranca.SalvarUsuario((SalvarUsuarioRequest)lSalvarRequest);
                }
                else
                {
                    UsuarioGrupoInfo lUsuarioGrupo = ((ReceberUsuarioGrupoResponse)lResponse).UsuarioGrupo;
                    lUsuarioGrupo.Perfis.Remove(lPerfilID);

                    lSalvarRequest = new SalvarUsuarioGrupoRequest()
                    {
                        CodigoSessao = this.CodigoSessao,
                        UsuarioGrupo = lUsuarioGrupo
                    };
                    lSalvarResponse = ServicoSeguranca.SalvarUsuarioGrupo((SalvarUsuarioGrupoRequest)lSalvarRequest);
                }

                if (lSalvarResponse.StatusResposta == MensagemResponseStatusEnum.OK)
                {
                    base.RegistrarLogExclusao();
                    return(RetornarSucessoAjax("Perfil excluido com sucesso."));
                }
                else
                {
                    return(RetornarErroAjax("Erro ao excluir o perfil"));
                }
            }
            else
            {
                return(RetornarErroAjax("Erro ao excluir o perfil"));
            }
        }
예제 #25
0
        public string ResponderAtualizar()
        {
            string lretorno    = string.Empty;
            string lObjetoJson = this.Request.Form["ObjetoJson"];

            TransporteSegurancaUsuario lDadosUsuario = null;

            SalvarUsuarioResponse lResponseSalvar = null;
            SalvarUsuarioRequest  lRequestSalvar  = new SalvarUsuarioRequest()
            {
                CodigoSessao = this.CodigoSessao
            };

            UsuarioInfo lUsuarioInfo = null;

            try
            {
                lDadosUsuario = JsonConvert.DeserializeObject <TransporteSegurancaUsuario>(lObjetoJson);

                ReceberUsuarioResponse lResponseReceber = ServicoSeguranca.ReceberUsuario(
                    new ReceberUsuarioRequest()
                {
                    CodigoSessao  = this.CodigoSessao,
                    CodigoUsuario = lDadosUsuario.Id
                });

                if (lResponseReceber.StatusResposta == MensagemResponseStatusEnum.OK)
                {
                    lUsuarioInfo       = lResponseReceber.Usuario;
                    lUsuarioInfo.Nome  = lDadosUsuario.Nome;
                    lUsuarioInfo.Email = lDadosUsuario.Email;
                    int lTipoAcesso = 0;
                    if (int.TryParse(lDadosUsuario.TipoAcesso, out lTipoAcesso))
                    {
                        lUsuarioInfo.CodigoTipoAcesso = lTipoAcesso;
                    }

                    if ((eTipoAcesso)lTipoAcesso == eTipoAcesso.Assessor)
                    {
                        int lCodAssessor = -1;
                        if (int.TryParse(lDadosUsuario.CodAssessor, out lCodAssessor))
                        {
                            lUsuarioInfo.CodigoAssessor       = lCodAssessor;
                            lUsuarioInfo.CodigosFilhoAssessor = lDadosUsuario.CodAssessorAssociado;
                        }
                        else
                        {
                            throw new Exception("Codigo de assessor inválido.");
                        }
                    }

                    lRequestSalvar.Usuario = lUsuarioInfo;

                    lResponseSalvar = ServicoSeguranca.SalvarUsuario(lRequestSalvar);

                    if (lResponseSalvar.StatusResposta == MensagemResponseStatusEnum.OK)
                    {
                        lretorno = RetornarSucessoAjax("Usuário alterado com sucesso");
                        base.RegistrarLogAlteracao(string.Concat("Usuário alterado: ", lDadosUsuario.Email));
                    }
                    else
                    {
                        lretorno = RetornarErroAjax(lResponseSalvar.DescricaoResposta);
                    }
                }
                else
                {
                    lretorno = RetornarErroAjax(lResponseReceber.DescricaoResposta);
                }
            }
            catch (Exception ex)
            {
                lretorno = RetornarErroAjax("Erro durante o envio do request para cadastrar usuário", ex);
            }

            return(lretorno);
        }
예제 #26
0
        public string ResponderSalvar()
        {
            string lRetorno     = string.Empty;
            string lObjetoJson  = Request.Params["ObjetoJson"];
            string TipoDeObjeto = Request["TipoDeObjetoPai"];

            MensagemRequestBase  lRequest;
            MensagemResponseBase lResponse;

            bool lTinhaGTI   = false;
            bool lTinhaStock = false;

            try
            {
                TransporteSegurancaPermissao lDados = JsonConvert.DeserializeObject <TransporteSegurancaPermissao>(lObjetoJson);

                switch (TipoDeObjeto)
                {
                case "Usuario":
                    lRequest = new ReceberUsuarioRequest()
                    {
                        CodigoSessao  = this.CodigoSessao,
                        CodigoUsuario = lDados.ParentId
                    };
                    lResponse = this.ServicoSeguranca.ReceberUsuario((ReceberUsuarioRequest)lRequest);
                    break;

                case "Grupo":
                    lRequest = new ReceberUsuarioGrupoRequest()
                    {
                        CodigoSessao       = this.CodigoSessao,
                        CodigoUsuarioGrupo = lDados.ParentId
                    };
                    lResponse = this.ServicoSeguranca.ReceberUsuarioGrupo((ReceberUsuarioGrupoRequest)lRequest);
                    break;

                case "Perfil":
                    lRequest = new ReceberPerfilRequest()
                    {
                        CodigoSessao = this.CodigoSessao,
                        CodigoPerfil = lDados.ParentId
                    };
                    lResponse = this.ServicoSeguranca.ReceberPerfil((ReceberPerfilRequest)lRequest);
                    break;

                default:
                    return(RetornarErroAjax("Só é possível salvar permissões para grupos, usuários e perfis."));
                }

                if (lResponse.StatusResposta == MensagemResponseStatusEnum.OK)
                {
                    MensagemRequestBase  lRequestBase;
                    MensagemResponseBase lResponseBase = new MensagemResponseBase();

                    if (lResponse is ReceberUsuarioResponse)
                    {
                        PermissaoAssociadaInfo lPermissao;
                        UsuarioInfo            lUsuario = ((ReceberUsuarioResponse)lResponse).Usuario;

                        //precisa verificar todas que tinha antes pra não re-enviar o email quando uma outra permissão que não a do GTI ou Stock forem adicionadas
                        foreach (Gradual.OMS.Seguranca.Lib.PermissaoAssociadaInfo lPerm in lUsuario.Permissoes)
                        {
                            if (lPerm.CodigoPermissao.ToUpper() == ConfiguracoesValidadas.PermissaoDeAcesso_GTI.ToUpper())
                            {
                                lTinhaGTI = true;
                            }

                            if (lPerm.CodigoPermissao.ToUpper() == ConfiguracoesValidadas.PermissaoDeAcesso_Stock.ToUpper())
                            {
                                lTinhaStock = true;
                            }
                        }

                        lUsuario.Permissoes.Clear();

                        var lCount = default(int);

                        do
                        {
                            lPermissao = new PermissaoAssociadaInfo()
                            {
                                CodigoPermissao = lDados.Permissoes.Count > 0 ? lDados.Permissoes[lCount] : string.Empty,
                                Status          = PermissaoAssociadaStatusEnum.Permitido
                            };

                            lUsuario.Permissoes.Add(lPermissao);

                            lRequestBase = new SalvarUsuarioRequest()
                            {
                                CodigoSessao = this.CodigoSessao,
                                Usuario      = lUsuario
                            };

                            lResponseBase = ServicoSeguranca.SalvarUsuario((SalvarUsuarioRequest)lRequestBase);

                            if (lResponseBase.StatusResposta == MensagemResponseStatusEnum.OK)
                            {
                                base.RegistrarLogInclusao(new LogIntranetInfo()
                                {
                                    CdBovespaClienteAfetado = lUsuario.CodigoUsuario.DBToInt32(),

                                    DsObservacao = string.Format("Cód. Usuário logado: {0}; Nome do cliente: {1}; e-Mail:", base.UsuarioLogado.Id, lUsuario.Nome, lUsuario.Email),
                                });

                                if (TipoDeObjeto == "Usuario")
                                {
                                    if (!lTinhaGTI && lPermissao.CodigoPermissao.ToUpper() == ConfiguracoesValidadas.PermissaoDeAcesso_GTI.ToUpper())
                                    {
                                        EnviarEmailDePermissaoGTI(lUsuario.CodigoUsuario.DBToInt32(), "Gradual Trader Interface (GTI)");
                                    }

                                    if (!lTinhaStock && lPermissao.CodigoPermissao.ToUpper() == ConfiguracoesValidadas.PermissaoDeAcesso_Stock.ToUpper())
                                    {
                                        EnviarEmailDePermissaoGTI(lUsuario.CodigoUsuario.DBToInt32(), "Stock Market");
                                    }
                                }
                            }

                            lCount++;
                        } while (lDados.Permissoes.Count > lCount);
                    }
                    else if (lResponse is ReceberUsuarioGrupoResponse)
                    {
                        PermissaoAssociadaInfo lPermissao;
                        UsuarioGrupoInfo       lUsuarioGrupo = ((ReceberUsuarioGrupoResponse)lResponse).UsuarioGrupo;
                        foreach (string itemPermissao in lDados.Permissoes)
                        {
                            lPermissao = new PermissaoAssociadaInfo()
                            {
                                CodigoPermissao = itemPermissao,
                                Status          = PermissaoAssociadaStatusEnum.Permitido
                            };
                            lUsuarioGrupo.Permissoes.Add(lPermissao);

                            lRequestBase = new SalvarUsuarioGrupoRequest()
                            {
                                CodigoSessao = this.CodigoSessao,
                                UsuarioGrupo = lUsuarioGrupo
                            };
                            lResponseBase = ServicoSeguranca.SalvarUsuarioGrupo((SalvarUsuarioGrupoRequest)lRequestBase);
                        }
                    }
                    else
                    {
                        PermissaoAssociadaInfo lPermissao;
                        PerfilInfo             lPerfil = ((ReceberPerfilResponse)lResponse).Perfil;
                        lPerfil.Permissoes.Clear();

                        foreach (string itemPermissao in lDados.Permissoes)
                        {
                            lPermissao = new PermissaoAssociadaInfo()
                            {
                                CodigoPermissao = itemPermissao,
                                Status          = PermissaoAssociadaStatusEnum.Permitido
                            };
                            lPerfil.Permissoes.Add(lPermissao);

                            lRequestBase = new SalvarPerfilRequest()
                            {
                                CodigoSessao = this.CodigoSessao,
                                Perfil       = lPerfil
                            };
                            lResponseBase = ServicoSeguranca.SalvarPerfil((SalvarPerfilRequest)lRequestBase);
                        }
                    }

                    if (lResponseBase.StatusResposta == MensagemResponseStatusEnum.OK)
                    {
                        return(RetornarSucessoAjax("Permissão associada com sucesso."));
                    }
                    else
                    {
                        return(RetornarErroAjax(lResponseBase.DescricaoResposta));
                    }
                }
                else
                {
                    return(RetornarErroAjax(lResponse.DescricaoResposta));
                }
            }
            catch (Exception ex)
            {
                return(RetornarErroAjax(ex.Message));
            }
        }
예제 #27
0
        public string ResponderSalvar()
        {
            string lRetorno     = string.Empty;
            string lObjetoJson  = Request.Params["ObjetoJson"];
            string TipoDeObjeto = Request["TipoDeObjetoPai"];

            TransporteSegurancaItemFilho lDados;

            MensagemRequestBase lRequest;

            MensagemResponseBase lResponse;

            try
            {
                lDados = JsonConvert.DeserializeObject <TransporteSegurancaItemFilho>(lObjetoJson);
                switch (TipoDeObjeto)
                {
                case "Usuario":
                    lRequest = new ReceberUsuarioRequest();
                    ((ReceberUsuarioRequest)lRequest).CodigoUsuario = lDados.ParentId;
                    lRequest.CodigoSessao = this.CodigoSessao;
                    lResponse             = ServicoSeguranca.ReceberUsuario((ReceberUsuarioRequest)lRequest);
                    break;

                case "Grupo":
                    lRequest = new ReceberUsuarioGrupoRequest();
                    ((ReceberUsuarioGrupoRequest)lRequest).CodigoUsuarioGrupo = lDados.ParentId;
                    lRequest.CodigoSessao = this.CodigoSessao;
                    lResponse             = ServicoSeguranca.ReceberUsuarioGrupo((ReceberUsuarioGrupoRequest)lRequest);
                    break;

                default:
                    return(RetornarErroAjax("Não é possível associar um tipo de item que não seja Usuários ou Grupos."));
                }

                if (lResponse.StatusResposta == MensagemResponseStatusEnum.OK)
                {
                    MensagemResponseBase lSalvarResponse;
                    MensagemRequestBase  lSalvarRequest = null;
                    if (lResponse is ReceberUsuarioResponse)
                    {
                        UsuarioInfo lUsuario = ((ReceberUsuarioResponse)lResponse).Usuario;
                        lUsuario.Perfis.Add(lDados.Item);
                        lSalvarRequest = new SalvarUsuarioRequest()
                        {
                            CodigoSessao = this.CodigoSessao,
                            Usuario      = lUsuario
                        };
                        lSalvarResponse = ServicoSeguranca.SalvarUsuario((SalvarUsuarioRequest)lSalvarRequest);
                    }
                    else
                    {
                        UsuarioGrupoInfo lGrupo = ((ReceberUsuarioGrupoResponse)lResponse).UsuarioGrupo;

                        lGrupo.Perfis.Add(lDados.Item);
                        lSalvarRequest = new SalvarUsuarioGrupoRequest()
                        {
                            CodigoSessao = this.CodigoSessao,
                            UsuarioGrupo = lGrupo
                        };
                        lSalvarResponse = ServicoSeguranca.SalvarUsuarioGrupo((SalvarUsuarioGrupoRequest)lSalvarRequest);
                    }

                    if (lSalvarResponse.StatusResposta == MensagemResponseStatusEnum.OK)
                    {
                        base.RegistrarLogInclusao();
                        return(RetornarSucessoAjax(new TransporteRetornoDeCadastro(lDados.ParentId + "|" + lDados.Item + "|" + TipoDeObjeto), "Dados associados com sucesso"));
                    }
                    else
                    {
                        return(RetornarErroAjax(lSalvarResponse.DescricaoResposta));
                    }
                }
                else
                {
                    return(RetornarErroAjax(lResponse.DescricaoResposta));
                }
            }
            catch (Exception ex)
            {
                return(RetornarErroAjax(ex.Message));
            }
        }