/// <summary>Obtém acesso na API via Auth basic</summary> /// <param name="usuario">usuario</param> /// <param name="password">password</param> /// <returns> /// <c>string</c> Token da autenticação /// </returns> public async Task <string> LoginAsync(string usuario, string password) { string Token = ""; var grant = $"grant_type=password&username={usuario}&password={password}"; var objectContent = new StringContent(grant, Encoding.UTF8, "application/x-www-form-urlencoded"); await TryCatchAsync(async() => { using (var client = BaseApi.HttpClient()) { var response = await client.PostAsync("api/authentication", objectContent); var resultJson = await response.Content.ReadAsStringAsync(); var result = JsonConvert.DeserializeObject <TokenModel>(resultJson); if (response.IsSuccessStatusCode) { //Insere o Token Gerado pela API Token = result.AccessToken; } else { throw new Exception(result.ErrorDescription); } //Retorno ao try catch return(response); } }); return(Token); }
/// <summary> /// Cria um novo usuário /// </summary> /// <param name="usuario">Usuario a ser criado</param> public async Task CreateUsuarioAsync(Usuario usuario) { await TryCatchAsync(async() => { using (var client = BaseApi.HttpClient()) { var json = JsonConvert.SerializeObject(usuario); var objectContent = new StringContent(json, Encoding.UTF8, "application/json"); var response = await client.PostAsync("api/usuario", objectContent); //Retorno ao try catch return(response); } }); }
/// <summary> /// Atualiza um Pedido /// </summary> /// <param name="pedido">Pedido a ser atualizado</param> public async Task UpdatePedidoAsync(Produto pedido) { await TryCatchAsync(async() => { using (var client = BaseApi.HttpClient()) { var json = JsonConvert.SerializeObject(pedido); var objectContent = new StringContent(json, Encoding.UTF8, "application/json"); var response = await client.PutAsync("api/pedido", objectContent); //Retorno ao try catch return(response); } }); }
/// <summary> /// Retorna o usuário atualmente logado /// </summary> /// <returns>Objeto <c>Usuario</c></returns> public async Task <Usuario> GetUsuarioAsync() { Usuario result = null; await TryCatchAsync(async() => { using (var client = BaseApi.HttpClient()) { var response = await client.GetAsync("api/usuario"); if (response.IsSuccessStatusCode) { var resultJSON = await response.Content.ReadAsStringAsync(); result = JsonConvert.DeserializeObject <Usuario>(resultJSON); } //Retorno ao try catch return(response); } }); return(result); }
/// <summary> /// Retorna todos os pedidos do usuário /// </summary> /// <returns>List <c>Pedido</c></returns> public async Task <List <Pedido> > GetPedidoAsync() { List <Pedido> result = new List <Pedido>(); await TryCatchAsync(async() => { using (var client = BaseApi.HttpClient()) { var response = await client.GetAsync("api/pedido"); if (response.IsSuccessStatusCode) { var resultJSON = await response.Content.ReadAsStringAsync(); result = JsonConvert.DeserializeObject <List <Pedido> >(resultJSON); } //Retorno ao try catch return(response); } }); return(result); }