Exemple #1
0
        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);
            }
        }
Exemple #3
0
        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
     });
 }