public async void Enviar(object obj, ETipoAcao acao) { if (_config == null || string.IsNullOrWhiteSpace(_config.CaminhoApi)) { return; } string sUrl = string.Empty; switch (obj) { case ProdutoModel _: sUrl = "produto"; break; case EstoqueModel _: sUrl = "estoque"; break; } using (var client = new HttpClient()) { client.BaseAddress = new Uri(_config.CaminhoApi); client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json")); await client.PostAsJsonAsync($"{sUrl}/sincronizar", new SyncModel { Item = JsonConvert.SerializeObject(obj), Acao = acao }); } }
protected ActionResult CustomResponse(object result = null, ETipoAcao tipoAcao = ETipoAcao.Selecionar) { if (OperacaoValida()) { switch (tipoAcao) { case ETipoAcao.Selecionar: // HTTP Code 200 return(Ok(new CustomResult(true, result))); case ETipoAcao.Adicionado: // HTTP Code 201 if (result is MainViewModel mainView) { return(Created(new Uri($"{Url.ActionContext.HttpContext.Request.Scheme}://{Url.ActionContext.HttpContext.Request.Host}{Url.ActionContext.HttpContext.Request.Path}/{mainView.Id}"), new CustomResult(true, result))); } return(Created(new Uri($"{Url.ActionContext.HttpContext.Request.Scheme}://{Url.ActionContext.HttpContext.Request.Host}{Url.ActionContext.HttpContext.Request.Path}"), new CustomResult(true, result))); case ETipoAcao.Atualizado: // HTTP Code 204 return(new CustomNoContentResult(new CustomResult(true, result))); case ETipoAcao.Excluido: // HTTP Code 204 return(new CustomNoContentResult(new CustomResult(true, "Objeto excluido com sucesso"))); case ETipoAcao.NaoEncontrado: // HTTP Code 404 return(NotFound(new CustomResult(false, "Objeto nâo foi encontrado"))); case ETipoAcao.ModeloInvalido: // HTTP Code 400 return(BadRequest(new CustomResult(false, result))); default: throw new ArgumentOutOfRangeException(nameof(tipoAcao), tipoAcao, null); } } return(BadRequest(new CustomResult(false, _notificador.ObterNotificacoes().Select(n => n.Mensagem)))); }
/// <summary> /// Metodo que verifica se usuario tem determinada permissão /// </summary> /// <param name="acao"></param> /// <returns></returns> public Boolean ContemPermissao(ETipoAcao acao) { return UsuarioLogado.PerfilAcesso.Acoes.Any(x => x.TipoAcao == acao); }