public IActionResult Put([FromForm] UsuarioUpload item) { try { Usuario usuario = item.ToUsuario(); if (item.Foto == null) { usuario.Foto = _serviceUsuario.Get().Where(x => x.Id == item.Id).Select(s => s.Foto).FirstOrDefault(); } usuario.Atualizacao = DateTime.Now; _serviceUsuario.Put <UsuarioValidator>(usuario); return(new NoContentResult()); } catch (ArgumentNullException ex) { return(NotFound(ex)); } catch (Exception ex) { return(Ok(ex.Message)); } }
public async Task PostOrPutUsuarioAsync(UsuarioUpload usuario) { AddBearerToken(); HttpContent content = CreateMultipartContent(usuario); var resposta = await(usuario.Id == 0 ? _httpClient.PostAsync("usuarios", content) : _httpClient.PutAsync("usuarios", content)); resposta.EnsureSuccessStatusCode(); if (resposta.StatusCode != System.Net.HttpStatusCode.NoContent) { throw new InvalidOperationException(resposta.Content.ReadAsStringAsync().Result); } }
public IActionResult Post([FromForm] UsuarioUpload item) { try { _serviceUsuario.Post <UsuarioValidator>(item.ToUsuario()); return(new NoContentResult()); } catch (ArgumentNullException ex) { return(NotFound(ex)); } catch (Exception ex) { return(Ok(ex.Message)); } }
private HttpContent CreateMultipartContent(UsuarioUpload usuario) { var content = new MultipartFormDataContent(); if (usuario.Id > 0) { content.Add(new StringContent(Convert.ToString(usuario.Id)), EnvolveComAspasDuplas("id")); } content.Add(new StringContent(usuario.Nome), EnvolveComAspasDuplas("nome")); content.Add(new StringContent(usuario.Sobrenome), EnvolveComAspasDuplas("Sobrenome")); content.Add(new StringContent(usuario.Nascimento.ToString()), EnvolveComAspasDuplas("nascimento")); content.Add(new StringContent(usuario.Cpf), EnvolveComAspasDuplas("cpf")); content.Add(new StringContent(usuario.Senha), EnvolveComAspasDuplas("senha")); content.Add(new StringContent(usuario.SenhaConfirma), EnvolveComAspasDuplas("senhaconfirma")); content.Add(new StringContent(usuario.Telefone), EnvolveComAspasDuplas("telefone")); content.Add(new StringContent(usuario.Cep.Replace("-", "")), EnvolveComAspasDuplas("cep")); content.Add(new StringContent(usuario.NomeMae), EnvolveComAspasDuplas("nomeMae")); if (!string.IsNullOrEmpty(usuario.Email)) { content.Add(new StringContent(usuario.Email), EnvolveComAspasDuplas("email")); } if (!string.IsNullOrEmpty(usuario.NomePai)) { content.Add(new StringContent(usuario.NomePai), EnvolveComAspasDuplas("nomePai")); } if (usuario.NumeroEndereco != null) { content.Add(new StringContent(Convert.ToString(usuario.NumeroEndereco)), EnvolveComAspasDuplas("numeroEndereco")); } if (usuario.Foto != null) { var imageContent = new ByteArrayContent(usuario.Foto.ConvertToBytes()); imageContent.Headers.ContentType = MediaTypeHeaderValue.Parse("image/png"); content.Add(imageContent, EnvolveComAspasDuplas("foto"), EnvolveComAspasDuplas("foto.png")); } return(content); }
public async Task <IActionResult> Cadastro(UsuarioUpload model) { if (ModelState.IsValid) { try { await _api.PostOrPutUsuarioAsync(model); ModelState.Clear(); await _hubUsuario.Clients.All.SendAsync("AtualizarLista"); return(View()); } catch (Exception e) { return(Json(new { erro = e.Message })); } } return(Ok()); }
public static Usuario ToUsuario(this UsuarioUpload model) { return(new Usuario { Id = model.Id, Nome = model.Nome, Sobrenome = model.Sobrenome, NomeMae = model.NomeMae, NomePai = model.NomePai, Nascimento = model.Nascimento, Cpf = model.Cpf, Senha = model.Senha, Telefone = model.Telefone, Email = model.Email, Foto = model.Foto.ConvertToBytes(), Cep = model.Cep, NumeroEndereco = model.NumeroEndereco, Criacao = DateTime.Now, Atualizacao = DateTime.Now }); }