public async Task <IActionResult> Cadastrar([FromRoute] Guid id, [FromBody] AtualizarProdutorCommand command) { var res = await _service.AtualizarProdutor(command.AtribuirId(id)); if (res == null) { return(BadRequest(new FailViewModel("Não foi possível atualizar"))); } return(Ok(res)); }
public async Task <ProdutorViewModel> AtualizarProdutor(AtualizarProdutorCommand command) { var produtor = await _context.Produtores.FindAsync(command.Id); if (produtor == null) { return(null); } var usuario = await _context.Users.FindAsync(produtor.UsuarioId); produtor.NomeEmpresa = command.NomeEmpresa; produtor.InfosPessoais = produtor.InfosPessoais; produtor.LinkGoogleMeuNegocio = produtor.LinkGoogleMeuNegocio; produtor.LinkFotoCapa = produtor.LinkFotoCapa; produtor.CadastroCompleto = produtor.CadastroCompleto; produtor.ValorMinimoCompra = produtor.ValorMinimoCompra; produtor.Endereco ??= new EnderecoProdutor() { Id = Guid.NewGuid(), ProdutorId = produtor.Id, Endereco = new Endereco() { Id = new Guid() } }; produtor.Endereco.Endereco.Logradouro = command.Logradouro; produtor.Endereco.Endereco.Numero = command.Numero; produtor.Endereco.Endereco.CidadeId = command.CidadeId; produtor.Endereco.Endereco.Cep = command.Cep; usuario.Nome = command.Nome; usuario.LinkFotoPerfil = command.LinkFotoPerfil; usuario.DataNascimento = command.DataNascimento; usuario.Genero = command.Genero; usuario.GoogleId = command.GoogleId; usuario.TutorialRalizado = command.TutorialRalizado; _context.Produtores.Update(produtor); _context.Users.Update(usuario); return(await ObterPorId(command.Id)); }