public async Task <Response <Escritorio> > Handle(ModificarEscritorioCommand request, CancellationToken cancellationToken)
        {
            var result = Response <Escritorio> .WithResult(null);

            var escritorio = await _context.Escritorios.Include(b => b.Endereco)
                             .FirstOrDefaultAsync(u => u.Informacoes.CNPJ == request.CNPJ);

            var enderecoCompleto = $"{request.Endereco.Rua}, {request.Endereco.Numero} - {request.Endereco.Cidade} - {request.Endereco.Estado}";

            var(lat, lon) = await _geocodingService.ObterCoordenadas(enderecoCompleto);

            if (escritorio == null)
            {
                result.AddError("Usuario não encontrado para modificar");
                return(result);
            }

            escritorio.AtualizarInformacoesEscritorio(new InformacoesDoEscritorio(request.NomeFantasia, request.RazaoSocial, request.CNPJ));
            escritorio.Endereco.AtualizarDadosEndereco(
                request.Endereco.CEP,
                request.Endereco.Rua,
                request.Endereco.Numero,
                request.Endereco.Complemento,
                request.Endereco.Bairro,
                request.Endereco.Cidade,
                request.Endereco.Estado,
                lat,
                lon
                );

            _context.Escritorios.Update(escritorio);
            await _context.SaveChangesAsync();

            return(Response <Escritorio> .WithResult(escritorio));
        }
        public async Task <Escritorio> AsOffice(IGeocodingService geocodingService)
        {
            var enderecoCompleto = $"{Endereco.Rua}, {Endereco.Numero} - {Endereco.Cidade} - {Endereco.Estado}";

            var(lat, lon) = await geocodingService.ObterCoordenadas(enderecoCompleto);

            return(new Escritorio(
                       new InformacoesDoEscritorio(NomeFantasia, RazaoSocial, CNPJ),
                       new Domain.Model.Entities.Endereco(
                           Endereco.CEP,
                           Endereco.Rua,
                           Endereco.Numero,
                           Endereco.Complemento,
                           Endereco.Bairro,
                           Endereco.Cidade,
                           Endereco.Estado,
                           lat,
                           lon
                           )
                       ));
        }