示例#1
0
        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));
        }
示例#2
0
        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));
        }