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); }
public ActionResult AdicionarAcao() { AcaoViewModel acaoViewModel = new AcaoViewModel(); acaoViewModel.Empresas = _empresaRepositorio.ListarTodos(); return(View(acaoViewModel)); }
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" })); } }
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); } }
public ActionResult AdicionarAcao() { var acaoViewModel = new AcaoViewModel { Empresas = Mapper.Map <List <EmpresaViewModel> >(_empresaRepositorio.ListarTodos()) }; return(View(acaoViewModel)); }
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); }
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); }
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)); } }
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); }
void _acaoView_Gravar(AcaoViewModel acao) { _repositorioAcao.Gravar(Mapper.Map <Acao>(acao)); RetornarAcoes(); }