Пример #1
0
        private bool MovimentoRepetido(ProcessoMovimento processoMovimento)
        {
            var processo = _processoRepository.Find(processoMovimento.Processo.Id);

            return(processo.UltimoMovimento.Movimento.CdMovimento.Equals(processoMovimento.Movimento
                                                                         .CdMovimento));
        }
Пример #2
0
        public ProcessoMovimento Movimentar(ProcessoMovimento processoMovimento)
        {
            var agora = DateTime.Now;

            var processo = _processoRepository.Find(processoMovimento.Processo.Id);

            processoMovimento.Processo = processo;

            if (MovimentoRepetido(processoMovimento))
            {
                throw new MovimentoRepetidoException();
            }

            processoMovimento.Data = agora;

            processo.UltimoMovimento = _processoMovimentoRepository.Add(processoMovimento);

            if (ProcessoEncaminhavel(processoMovimento))
            {
                processo.UltimoMovimento     = Encaminhar(processoMovimento);
                processo.PessoaDestino       = processo.UltimoMovimento.PessoaDestino;
                processo.OrgaoUnidadeDestino = processo.UltimoMovimento.OrgaoUnidadeDestino;
            }

            processo.UltimaModificacao = agora;

            _processoRepository.AddOrUpdate(processo);

            return(processoMovimento);
        }
Пример #3
0
        public Processo Salvar(Processo processo)
        {
            var agora = DateTime.Now;

            processo.UltimaModificacao = agora;

            var autor = _pessoaRepository.Find(processo.Autor.Id);

            processo.Autor = autor;

            if (processo.Destinatario.Tipo.Equals(new OrgaoUnidade().GetType().Name))
            {
                processo.OrgaoUnidadeDestino = new OrgaoUnidade
                {
                    IdOrgaoUnidade = processo.Destinatario.Id,
                    DsOrgaoUnidade = processo.Destinatario.Descricao
                };
            }
            else if (processo.Destinatario.Tipo.Equals(new Pessoa().GetType().Name))
            {
                processo.PessoaDestino = new Pessoa
                {
                    Matricula = processo.Destinatario.Id,
                    Nome      = processo.Destinatario.Descricao
                };
            }
            else
            {
                throw new NotImplementedException("Destinatário inválido.");
            }

            _processoRepository.AddOrUpdate(processo);

            var processoMovimentoEncaminhamento = new ProcessoMovimento
            {
                Data                = agora,
                PessoaOrigem        = autor,
                OrgaoUnidadeOrigem  = autor.OrgaoUnidadeLotacao,
                PessoaDestino       = processo.PessoaDestino,
                OrgaoUnidadeDestino = processo.OrgaoUnidadeDestino,
                Autor               = autor,
                Processo            = processo,
                Movimento           = _movimentoRepository.Get(_processoSettings.CodigoMovimentoEncaminhamentoOrgaoInterno)
            };

            _processoMovimentoRepository.Add(processoMovimentoEncaminhamento);

            processo.UltimoMovimento = processoMovimentoEncaminhamento;

            _processoRepository.AddOrUpdate(processo);

            return(processo);
        }
Пример #4
0
 public JsonResult Salvar(ProcessoMovimento processoMovimento)
 {
     try
     {
         processoMovimento.Autor = new Pessoa {
             Matricula = Usuario.Matricula
         };
         _processoService.Movimentar(processoMovimento);
     }
     catch (MovimentoRepetidoException ex)
     {
         return(JsonError("Movimento repetido."));
     }
     catch (Exception ex)
     {
         Console.WriteLine(ex);
         throw;
     }
     return(Done());
 }
Пример #5
0
        public ProcessoMovimento Encaminhar(ProcessoMovimento processoMovimento)
        {
            var movimentoEncaminhamento = new ProcessoMovimento
            {
                Processo  = processoMovimento.Processo,
                Data      = DateTime.Now,
                Autor     = processoMovimento.Autor,
                Movimento = new Movimento
                {
                    CdMovimento = _processoSettings.CodigoMovimentoEncaminhamentoOrgaoInterno
                }
            };

            if (processoMovimento.Destino.Tipo.Equals(new OrgaoUnidade().GetType().Name))
            {
                movimentoEncaminhamento.OrgaoUnidadeDestino = new OrgaoUnidade
                {
                    IdOrgaoUnidade = processoMovimento.Destino.Id,
                    DsOrgaoUnidade = processoMovimento.Destino.Descricao
                };
            }
            else if (processoMovimento.Destino.Tipo.Equals(new Pessoa().GetType().Name))
            {
                movimentoEncaminhamento.PessoaDestino = new Pessoa
                {
                    Matricula = processoMovimento.Destino.Id,
                    Nome      = processoMovimento.Destino.Descricao
                };
            }
            else
            {
                throw new NotImplementedException("Destinatário inválido.");
            }

            _processoMovimentoRepository.Add(movimentoEncaminhamento);
            return(movimentoEncaminhamento);
        }
Пример #6
0
 private bool ProcessoEncaminhavel(ProcessoMovimento processoMovimento)
 {
     return(processoMovimento.Destino != null);
 }
Пример #7
0
            public void Start()
            {
                using (var session = _sessionFactory.OpenSession())
                {
                    var player1 = new Player {
                        Name = "Aaron Rogers", Position = "QB", Team = "Green Bay Packers"
                    };
                    var player2 = new Player {
                        Name = "Tom Brady", Position = "QB", Team = "New England Patriots"
                    };

                    var ship1 = new Spacecraft {
                        Name = "Apollo", Agency = "NASA"
                    };
                    var ship2 = new Spacecraft {
                        Name = "Soyuz", Agency = "Roscosmos"
                    };

                    var ouCsi = new OrgaoUnidade {
                        DsOrgaoUnidade = "CSI", IdOrgaoUnidade = 1, Atributos = "D"
                    };
                    var ouCorregedoria = new OrgaoUnidade {
                        DsOrgaoUnidade = "Corregedoria-Geral do Ministério Público", IdOrgaoUnidade = 2, Atributos = "D"
                    };

                    var assuntoCorreicaoOrdinaria = new Assunto {
                        CdAssunto = 930406, DsAssunto = "Correição Ordinária"
                    };
                    var assuntoCorreicaoExtra = new Assunto {
                        CdAssunto = 930407, DsAssunto = "Correição Extraordinária"
                    };
                    var assuntoFerias = new Assunto {
                        CdAssunto = 930152, DsAssunto = "Férias"
                    };

                    var movimentoEncaminhamento = new Movimento {
                        CdMovimento = 920025, DsMovimento = "Encaminhamento a Órgão Interno", DsMovimentoSimples = "Encaminhamento a Órgão Interno"
                    };
                    var movimentoEntrada = new Movimento {
                        CdMovimento = 920246, DsMovimento = "Entrada da carga", DsMovimentoSimples = "Entrada da carga"
                    };
                    var movimentoDeferimento = new Movimento {
                        CdMovimento = 920370, DsMovimento = "Deferido / Concedido / Procedente / Autorizado", DsMovimentoSimples = "Deferido / Concedido / Procedente / Autorizado"
                    };
                    var movimentoIndeferimento = new Movimento {
                        CdMovimento = 920372, DsMovimento = "Indeferido / Prejudicado / Improcedente / Não autorizado", DsMovimentoSimples = "Indeferido / Prejudicado / Improcedente / Não autorizado"
                    };
                    var cienciaDecisao = new Movimento {
                        CdMovimento = 920311, DsMovimento = "Ciência de Decisão Administrativa", DsMovimentoSimples = "Ciência de Decisão Administrativa"
                    };

                    var ruiDaBaea = new Pessoa {
                        Matricula = 353547, Nome = "Rui Maurício", OrgaoUnidadeLotacao = ouCsi
                    };
                    var tiagoCorreria = new Pessoa {
                        Nome = "Tiago Magalhães", Matricula = 352862, OrgaoUnidadeLotacao = ouCorregedoria
                    };

                    var processoCorreicao = new Processo
                    {
                        Assunto             = assuntoCorreicaoOrdinaria,
                        Autor               = tiagoCorreria,
                        Cadastro            = DateTime.Now,
                        Complemento         = "Se ligue aí",
                        OrgaoUnidadeDestino = ouCsi,
                        Interessado         = ruiDaBaea.Nome
                    };

                    var movimentoEncaminhamentoCorreicao = new ProcessoMovimento
                    {
                        Autor               = tiagoCorreria,
                        Data                = DateTime.Now,
                        Movimento           = movimentoEncaminhamento,
                        OrgaoUnidadeDestino = ouCsi,
                        OrgaoUnidadeOrigem  = ouCorregedoria,
                        PessoaOrigem        = tiagoCorreria,
                        Processo            = processoCorreicao
                    };

                    session.Save(player1);
                    session.Save(player2);
                    session.Save(ship1);
                    session.Save(ship2);
                    session.Save(ouCsi);
                    session.Save(ouCorregedoria);
                    session.Save(assuntoCorreicaoExtra);
                    session.Save(assuntoCorreicaoOrdinaria);
                    session.Save(assuntoFerias);
                    session.Save(movimentoEncaminhamento);
                    session.Save(movimentoEntrada);
                    session.Save(movimentoDeferimento);
                    session.Save(movimentoIndeferimento);
                    session.Save(cienciaDecisao);
                    session.Save(ruiDaBaea);
                    session.Save(tiagoCorreria);
                    session.Save(processoCorreicao);
                    session.Save(movimentoEncaminhamentoCorreicao);
                    processoCorreicao.UltimoMovimento   = movimentoEncaminhamentoCorreicao;
                    processoCorreicao.UltimaModificacao = movimentoEncaminhamentoCorreicao.Data;
                    session.Save(processoCorreicao);
                    session.Flush();
                }
            }