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 ) )); }