private bool MovimentoRepetido(ProcessoMovimento processoMovimento) { var processo = _processoRepository.Find(processoMovimento.Processo.Id); return(processo.UltimoMovimento.Movimento.CdMovimento.Equals(processoMovimento.Movimento .CdMovimento)); }
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); }
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); }
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()); }
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); }
private bool ProcessoEncaminhavel(ProcessoMovimento processoMovimento) { return(processoMovimento.Destino != null); }
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(); } }