Exemplo n.º 1
0
        public Task <RespostaCasoDeUso> Handle(ListarEstadosBrasileirosQuery request, CancellationToken cancellationToken)
        {
            var estados = EEstadoBrasileiro.ObterTodos().Select(e => new EstadoBrasileiro
            {
                Codigo = e.Codigo,
                Nome   = e.Nome,
                UF     = e.UF
            });

            return(Task.FromResult(RespostaCasoDeUso.ComSucesso(estados)));
        }
 public ProcessoJuridico AsEntity()
 {
     return(new ProcessoJuridico(
                CodigoAdvogadoResponsavel,
                CodigoCliente,
                new NumeroProcessoJuridico(NumeroProcesso),
                new DescricaoCurta(Titulo),
                new Descricao(Descricao),
                JuizResponsavel,
                EEstadoBrasileiro.ObterPorCodigo(CodigoUF),
                Status,
                TipoDePapel
                ));
 }
Exemplo n.º 3
0
        public void Configure(EntityTypeBuilder <ProcessoJuridico> builder)
        {
            builder.ToTable("processos_juridicos");
            builder.HasKey(e => e.Codigo);
            builder.Property(e => e.Codigo).HasColumnName("codigo");
            builder.Property(e => e.CodigoEscritorio).HasColumnName("codigo_escritorio");
            builder.Property(e => e.CodigoAdvogadoResponsavel).HasColumnName("codigo_advogado_responsavel");
            builder.Property(e => e.CodigoCliente).HasColumnName("codigo_cliente");

            builder.OwnsOne(e => e.Numero, numero =>
            {
                numero.Property(n => n.Numero).HasColumnName("numero");
                numero.Ignore(n => n.Notifications);
            });

            builder.OwnsOne(e => e.Titulo, titulo =>
            {
                titulo.Property(t => t.Valor).HasColumnName("descricao_curta");
                titulo.Ignore(t => t.Notifications);
            });

            builder.OwnsOne(e => e.Descricao, descricao =>
            {
                descricao.Property(d => d.Valor).HasColumnName("descricao");
                descricao.Ignore(d => d.Notifications);
            });

            builder.Property(e => e.UF).HasColumnName("uf").HasConversion(
                v => v.UF,
                v => EEstadoBrasileiro.ObterPorUF(v)
                );

            builder.Property(e => e.JuizResponsavel).HasColumnName("juiz_responsavel");
            builder.Property(e => e.Status).HasColumnName("status");
            builder.Property(e => e.TipoDePapel).HasColumnName("tipo_papel");

            builder.HasMany(e => e.Eventos).WithOne(e => e.Processo).HasForeignKey(e => e.CodigoProcesso);
            builder.Metadata.FindNavigation(nameof(ProcessoJuridico.Eventos)).SetPropertyAccessMode(PropertyAccessMode.Field);

            builder.Property(e => e.DataCriacao).HasColumnName("data_criacao");
            builder.Property(e => e.DataUltimaAlteracao).HasColumnName("data_ultima_alteracao");
            builder.Property(e => e.CodigoUsuarioUltimaAlteracao).HasColumnName("codigo_usuario_ultima_alteracao");
            builder.Property(e => e.Apagado).HasColumnName("apagado");
            builder.Ignore(e => e.Notifications);
        }
        public ProcessoJuridico(Guid?idAdvogadoResponsavel,
                                Guid idCliente,
                                NumeroProcessoJuridico numero,
                                DescricaoCurta titulo,
                                Descricao descricao,
                                string juizResponsavel,
                                EEstadoBrasileiro uf,
                                EStatusProcessoJuridico status,
                                ETipoDePapelProcessoJuridico tipoDePapel)
        {
            CodigoAdvogadoResponsavel = idAdvogadoResponsavel;
            CodigoCliente             = idCliente;
            Numero          = numero;
            UF              = uf;
            Titulo          = titulo;
            Descricao       = descricao;
            JuizResponsavel = juizResponsavel;
            Status          = status;
            TipoDePapel     = tipoDePapel;

            _eventos = new List <EventoProcessoJuridico>();
            Validar();
        }
        public async Task <RespostaCasoDeUso> Handle(AtualizarProcessoJuridicoCommand request, CancellationToken cancellationToken)
        {
            var processo = await Context.ProcessosJuridicos
                           .FirstOrDefaultAsync(c => c.Codigo == request.Codigo &&
                                                c.CodigoEscritorio == ServicoUsuarios.EscritorioAtual.Codigo &&
                                                !c.Apagado);

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

            processo.AtualizarCliente(request.CodigoCliente);
            processo.AtualizarAdvogadoResponsavel(request.CodigoAdvogadoResponsavel);
            processo.AtualizarTitulo(new DescricaoCurta(request.Titulo));
            processo.AtualizarDescricao(new Descricao(request.Descricao));
            processo.AtualizarNumero(new NumeroProcessoJuridico(request.NumeroProcesso), EEstadoBrasileiro.ObterPorCodigo(request.CodigoUF));
            processo.AtualizarStatus(request.Status);
            processo.AtualizarTipo(request.TipoDePapel);

            if (processo.Invalid)
            {
                return(RespostaCasoDeUso.ComFalha(processo.Notifications));
            }

            await Context.SaveChangesAsync();

            return(RespostaCasoDeUso.ComSucesso(processo.Codigo));
        }
 public void AtualizarNumero(NumeroProcessoJuridico numero, EEstadoBrasileiro uf)
 {
     AddNotifications(numero, uf);
     Numero = numero;
     UF     = uf;
 }