Exemplo n.º 1
0
        public static async Task <bool> VerificaUsuarioPermissaoAsync(AcaoViewModel acao, int idusuario, int idCliente)
        {
            if (acao.TipoAcao == 3)
            {
                return(true);
            }

            var perfil = await PerfilDAO.CarregaPerfilByUsuario(idusuario, idCliente);

            var permissoesIDs = perfil.idPermissao.Split(',').Select(id => Convert.ToInt32(id));
            var permissoes    = await PermissaoDAO.GetByIdsAndMotor(permissoesIDs, acao.idMotorAux);

            var retorno = false;

            foreach (var item in permissoes)
            {
                var tipoAcoes = item.idTipoAcao.Split(',').Select(id => Convert.ToInt32(id));

                if (tipoAcoes.Contains(acao.TipoAcao))
                {
                    retorno = true;
                }
            }

            return(retorno);
        }
Exemplo n.º 2
0
        public ActionResult AdicionarAcao()
        {
            AcaoViewModel acaoViewModel = new AcaoViewModel();

            acaoViewModel.Empresas = _empresaRepositorio.ListarTodos();
            return(View(acaoViewModel));
        }
Exemplo n.º 3
0
        public ActionResult BuscarDados(int?IdAcao)
        {
            try
            {
                var acao = new AcaoViewModel();

                if (IdAcao.HasValue)
                {
                    var resposta = Requisicao.Get("http://localhost:5000/api/Acao?id=" + IdAcao);

                    if (!resposta.IsSuccessStatusCode)
                    {
                        Response.StatusCode             = 400;
                        Response.TrySkipIisCustomErrors = true;
                        return(Content("Erro ao buscar dados"));
                    }

                    acao = JsonConvert.DeserializeObject <AcaoViewModel>(resposta.Content.ReadAsStringAsync().Result);
                }

                return(View("_Dados", acao));
            }
            catch (Exception ex)
            {
                return(View("Error:", ex.Message));
            }
        }
        public async Task <JsonResult> Get(string aux, string acao, int idcliente, int idusuario)
        {
            //Colhe informações do motor que o usuario esta tentado acessar

            var MotorAux = await Auxiliares.GetInfoMotorAux(aux, idcliente);

            AcaoViewModel acoesUsuario = MotorAux.Acoes.Where(x => x.Nome == acao).FirstOrDefault();



            //Verifica as permissões do usuario naquele motor
            if (await Auxiliares.VerificaUsuarioPermissaoAsync(acoesUsuario, idusuario, idcliente))
            {
                //Gera o token para acessar o motor auxiliar
                Token token = new Token {
                    idCliente = idcliente, idUsuario = idusuario
                };
                string Guid = TokenBO.GerateTokenValido(token);


                //envia as informações para o motor aux
                Object retorno = await Auxiliares.GetRetornoAuxAsync(MotorAux, acoesUsuario, token, null, idcliente);

                return(Json(retorno));
            }
            else
            {
                return(Json(new { error = "Houve um erro ou sem permissao" }));
            }
        }
Exemplo n.º 5
0
        public ActionResult AdicionarAcao(AcaoViewModel acao)
        {
            Acao a = Mapper.Map <Acao>(acao);

            _acaoRepositorio.Gravar(a);

            return(RedirectToAction("Index"));
        }
        protected virtual void OnGravar(AcaoViewModel obj)
        {
            Action <AcaoViewModel> handler = Gravar;

            if (handler != null)
            {
                handler(obj);
            }
        }
        protected virtual void OnExcluir(AcaoViewModel obj)
        {
            Action <AcaoViewModel> handler = Excluir;

            if (handler != null)
            {
                handler(obj);
            }
        }
Exemplo n.º 8
0
        public ActionResult AdicionarAcao()
        {
            var acaoViewModel = new AcaoViewModel
            {
                Empresas = Mapper.Map <List <EmpresaViewModel> >(_empresaRepositorio.ListarTodos())
            };


            return(View(acaoViewModel));
        }
Exemplo n.º 9
0
        public MotorAuxViewModel acessarmotor(string aux)
        {
            MotorAuxViewModel    retorno  = new MotorAuxViewModel();
            MotorAux             motor    = MotorAuxDAO.GetAll().Where(x => x.Nome == aux).FirstOrDefault();
            List <AcaoViewModel> listAcao = new List <AcaoViewModel>();

            foreach (Acao acao1 in AcaoDAO.GetAll().Where(x => x.idMotorAux == motor.ID).ToList())
            {
                AcaoViewModel acaoFil = new AcaoViewModel();
                acaoFil.ID         = acao1.ID;
                acaoFil.Nome       = acao1.Nome;
                acaoFil.Descricao  = acao1.Descricao;
                acaoFil.Ativo      = acao1.Ativo;
                acaoFil.Status     = acao1.Status;
                acaoFil.Caminho    = acao1.Caminho;
                acaoFil.idMotorAux = acao1.idMotorAux;
                acaoFil.TipoAcao   = acao1.idTipoAcao;

                List <ParametroViewModel> listParametro = new List <ParametroViewModel>();
                foreach (Parametro parametro in ParametroDAO.GetAll().Where(x => x.idAcao == acao1.ID).ToList())
                {
                    ParametroViewModel parametroFil = new ParametroViewModel();

                    parametroFil.idAcao    = parametro.idAcao;
                    parametroFil.Ordem     = parametro.Ordem;
                    parametroFil.Tipo      = parametro.Tipo;
                    parametroFil.Ativo     = parametro.Ativo;
                    parametroFil.Descricao = parametro.Descricao;
                    parametroFil.ID        = parametro.ID;
                    parametroFil.Nome      = parametro.Nome;
                    parametroFil.Status    = parametro.Status;
                    parametroFil.Tipo      = parametro.Tipo;

                    listParametro.Add(parametroFil);
                }

                acaoFil.Parametro = listParametro;

                listAcao.Add(acaoFil);
            }

            retorno.ID        = motor.ID;
            retorno.Nome      = motor.Nome;
            retorno.Descricao = motor.Descricao;
            retorno.Ativo     = true.ToString();
            retorno.Status    = 1;
            retorno.idCliente = motor.idCliente;
            retorno.Url       = motor.Url;
            retorno.Acoes     = listAcao;

            return(retorno);
        }
Exemplo n.º 10
0
        public static async Task <bool> verificaPermissaoAsync(AcaoViewModel acao, int idusuario, int idCliente)
        {
            var permissao = await PermissaoDAO.CarregarPermissaoByUsuarioAsync(idusuario);

            bool retorno = false;

            if (acao.TipoAcao == 4) //Novo id Para Ações Publicas (corrigir)
            {
                return(true);
            }

            string[] acoes = permissao.idTipoAcao.Split(',');
            foreach (string Lacao in acoes)
            {
                if (acao.TipoAcao == int.Parse(Lacao))
                {
                    retorno = true;
                }
            }

            return(retorno);
        }
Exemplo n.º 11
0
        public ActionResult Put(AcaoViewModel acao)
        {
            try
            {
                var resposta = Requisicao.Put("http://localhost:5000/api/Acao", acao);

                if (!resposta.IsSuccessStatusCode)
                {
                    Response.StatusCode             = 400;
                    Response.TrySkipIisCustomErrors = true;
                    return(Content("Falha ao excluir Acao"));
                }

                Response.StatusCode = 200;
                return(Content(""));
            }
            catch (Exception ex)
            {
                Response.StatusCode             = 500;
                Response.TrySkipIisCustomErrors = true;
                return(Content(ex.Message));
            }
        }
Exemplo n.º 12
0
        public static async Task <object> GetRetornoAuxAsync(MotorAuxViewModel motorAux, AcaoViewModel acoesUsuario, Token token, object conteudo, int idCliente)
        {
            List <ParametroViewModel> listaAcaoes = acoesUsuario.Parametro.OrderBy(x => x.Ordem).ToList();

            RestClient  client  = new RestClient(motorAux.Url.Trim());
            var         url     = acoesUsuario.Caminho.Trim();
            RestRequest request = null;

            if (listaAcaoes.Any(x => x.Tipo == "body"))
            {
                if (conteudo != null)
                {
                    foreach (ParametroViewModel parametro in listaAcaoes)
                    {
                        if (parametro.Tipo == "get")
                        {
                            url += "/" + GetPropValue(conteudo, parametro.Nome).ToString().Trim();
                        }
                    }
                }
                url    += "/" + token.GuidSec;
                request = new RestRequest(url, Method.POST);

                try
                {
                    request.AddParameter("application/json", GerareteObjPost(conteudo, listaAcaoes), ParameterType.RequestBody);
                }
                catch (Exception e)
                {
                }
            }
            else
            {
                if (conteudo != null)
                {
                    foreach (ParametroViewModel parametro in listaAcaoes)
                    {
                        if (parametro.Nome == "idCliente")
                        {
                            url += "/" + idCliente;
                        }
                        else if (parametro.Tipo == "get" && parametro.Nome != "idCliente")
                        {
                            url += "/" + GetPropValue(conteudo, parametro.Nome).ToString().Trim();
                        }
                    }
                }
                else
                {
                    foreach (ParametroViewModel parametro in listaAcaoes)
                    {
                        if (parametro.Tipo == "get" && parametro.Nome == "idCliente")
                        {
                            url += "/" + idCliente;
                        }
                    }
                }
                url    += "/" + token.GuidSec;
                request = new RestRequest(url, Method.GET);
            }


            request.RequestFormat = DataFormat.Json;


            var response = await client.ExecuteTaskAsync(request);

            Object         deserializedObject = null;
            JsonSerializer jss = new JsonSerializer();

            deserializedObject = JsonConvert.DeserializeObject <Object>(response.Content);
            return(deserializedObject);
        }
Exemplo n.º 13
0
 void _acaoView_Gravar(AcaoViewModel acao)
 {
     _repositorioAcao.Gravar(Mapper.Map <Acao>(acao));
     RetornarAcoes();
 }