public async Task <RespostaCasoDeUso> Handle(ObterProcessoJuridicoQuery request, CancellationToken cancellationToken)
        {
            var processo = await Context.ProcessosJuridicos
                           .Include(p => p.Cliente)
                           .Include(p => p.Eventos)
                           .ThenInclude(e => e.Anexos)
                           .FirstOrDefaultAsync(p => p.Codigo == request.Codigo &&
                                                p.CodigoEscritorio == ServicoUsuarios.EscritorioAtual.Codigo &&
                                                !p.Apagado);

            if (processo == null)
            {
                return(RespostaCasoDeUso.ComStatusCode(HttpStatusCode.NotFound));
            }

            var usuarioUltimaAlteracao = await ServicoUsuarios.ObterInformacoesDeUsuario(processo.CodigoUsuarioUltimaAlteracao);

            var processoDto = ProcessoJuridico.FromEntity(processo);

            processoDto.NomeUsuarioUltimaAlteracao = usuarioUltimaAlteracao.ObterNomeCompleto();

            if (processoDto.CodigoAdvogadoResponsavel.HasValue)
            {
                var usuarioAdvogadoResponsavel = await ServicoUsuarios.ObterInformacoesDeUsuario(processoDto.CodigoAdvogadoResponsavel.Value);

                processoDto.NomeAdvogadoResponsavel = usuarioUltimaAlteracao.ObterNomeCompleto();
            }

            return(RespostaCasoDeUso.ComSucesso(processoDto));
        }
        private async Task <RespostaCasoDeUso> AdicionarCompromissoNaAgenda(ProcessoJuridico processo, AdicionarEventoCommand request)
        {
            var compromissoCommand = new AdicionarCompromissoCommand()
            {
                CodigoCliente = processo.CodigoCliente,
                Titulo        = request.Titulo,
                Descricao     = request.Descricao,
                Inicio        = request.DataHoraEvento
            };

            return(await _mediator.Send(compromissoCommand));
        }
Exemplo n.º 3
0
        private string ConstruirCorpoEmail(ProcessoJuridico processo, EventoProcessoJuridico evento)
        {
            return($@"
<h3>O seu processo jurídico com número {processo.Numero.Numero} tem uma nova atualização: </h3><br/>

<strong>Evento:</strong> {evento.Titulo.Valor} <br /><br />

<strong>Dia e horário:</strong> {evento.DataHora.Valor.ToString("dd/MM/yyyy HH:mm")} <br/><br/>

{evento.Descricao.Valor} <br /><br />

Entre em contato com o seu advogado para maiores informações. <br /><br/>

<strong>Jurify.</strong>");
        }