Esempio n. 1
0
        public void CriarTarefasSolicitacaoBeneficio(SolicitacaoBeneficio mSolicitacaoBeneficio, Guid usuarioId, int Ordem)
        {
            Guid?beneficioPrograma = null;

            if (mSolicitacaoBeneficio.BeneficioPrograma != null)
            {
                beneficioPrograma = mSolicitacaoBeneficio.BeneficioPrograma.Id;
            }

            Model.Processo tmpProcesso = RepositoryService.Processo.ObterPorTipoDeSolicitacao(mSolicitacaoBeneficio.TipoSolicitacao.Id, beneficioPrograma);

            if (tmpProcesso == null)
            {
                return;
            }

            string ParecerAnterior = String.Empty;

            if (Ordem > 1)
            {
                ParecerAnterior = OrdemMaior1(mSolicitacaoBeneficio.ID.Value);
            }


            List <ParticipantesDoProcesso> lstParticipanteDoProcesso = RepositoryService.ParticipantesDoProcesso.ListarPor(tmpProcesso.ID.Value, Ordem);
            bool CriouTarefa = false;

            foreach (ParticipantesDoProcesso PartProcesso in lstParticipanteDoProcesso.GroupBy(x => x.Ordem).Select(grp => grp.First()))
            {
                Lookup referenteA = new Lookup(mSolicitacaoBeneficio.ID.Value, SDKore.Crm.Util.Utility.GetEntityName <SolicitacaoBeneficio>());
                CriouTarefa = false;
                if (PartProcesso.Papel.Name == "Informado")
                {
                    //TODO: KSYS 45784 - Precisa corrigir o problema para não parar o fluxo
                    this.CriarEmail(referenteA, PartProcesso);
                }
                else
                {
                    CriouTarefa = this.CriarTarefa(referenteA, mSolicitacaoBeneficio.TipoSolicitacao.Name, mSolicitacaoBeneficio.Descricao, ParecerAnterior, PartProcesso);
                }

                if (!CriouTarefa)
                {
                    CriarTarefasSolicitacaoBeneficio(mSolicitacaoBeneficio, usuarioId, Ordem + 1);
                }
            }
        }
Esempio n. 2
0
 public static ProcessoListResponseData ToResponseData(this Model.Processo model)
 {
     return(new ProcessoListResponseData
     {
         Id = model.Id,
         IdGestor = model.IdGestor,
         IdLocal = model.IdLocal,
         DtProcessamento = model.DtProcessamento,
         CdPrograma = model.CdPrograma,
         IdProcesso = model.IdProcesso,
         NmProcesso = model.NmProcesso,
         DsDescricao = model.DsDescricao,
         DtInclusao = model.DtInclusao,
         DtAlteracao = model.DtAlteracao,
         FlErro = model.FlErro,
     });
 }
Esempio n. 3
0
 public List<Model.Processo> ListDadosProcesso(MMAA.Pedidos.Model.Processo processo, string dt_distribuicao_de, string dt_distribuicao_ate, string dt_autuacao_de, string dt_autuacao_ate, int qtd_registros)
 {
     try
     {
         DB data = new DB();
         List<Model.Processo> dadosProcesso = new List<Model.Processo>();
         Model.Processo objProcesso = new Model.Processo();
         DataTable dt = new DataTable();
         data.AddParametro("@CD_PROCESSO", processo.CdProcesso);
         data.AddParametro("@NR_PASTA", processo.NrPasta);
         data.AddParametro("@nr_processo", processo.NrProcesso);
         data.AddParametro("@uf", processo.NrUf);
         data.AddParametro("@cd_comarca", processo.CdComarca);
         data.AddParametro("@cd_forum", processo.CdForum);
         data.AddParametro("@cd_vara", processo.CdVara);
         data.AddParametro("@outro_codigo", processo.NrOutroCodigo);
         data.AddParametro("@cd_cliente", processo.NrCliente);
         data.AddParametro("@grupo_cliente", processo.CdGrupoCliente);
         data.AddParametro("@subgrupo_cliente", processo.CdSubGrupoCliente);
         data.AddParametro("@dt_distribuicao_de", dt_distribuicao_de);
         data.AddParametro("@dt_distribuicao_ate", dt_distribuicao_ate);
         data.AddParametro("@dt_autuacao_de", dt_autuacao_de);
         data.AddParametro("@dt_autuacao_ate", dt_autuacao_ate);
         data.AddParametro("@cd_risco", processo.CdRisco);
         data.AddParametro("@cd_assunto", processo.CdAssunto);
         data.AddParametro("@qtd_registros", qtd_registros);
         dt = data.ExecuteReader("PROCESSO_SELECIONA");
         dadosProcesso.Capacity = dt.Rows.Count;
         foreach (DataRow dr in dt.Rows)
         {
             objProcesso.CdProcesso = int.Parse(dr["cd_processo"].ToString());
             objProcesso.NrPasta = dr["nr_pasta"].ToString();
             objProcesso.CdComarca = dr["cd_comarca"].ToString().Equals("") ? 0 : int.Parse(dr["cd_comarca"].ToString());
             objProcesso.CdForum = dr["cd_forum"].ToString().Equals("") ? 0 : int.Parse(dr["cd_forum"].ToString());
             objProcesso.CdVara = dr["cd_vara"].ToString().Equals("") ? 0 : int.Parse(dr["cd_vara"].ToString());
             //objProcesso.CdTribunal = dr["cd_tribunal"].ToString().Equals("") ? 0 : int.Parse(dr["cd_tribunal"].ToString());
             //objProcesso.CdCamara = dr["cd_camara"].ToString().Equals("") ? 0 : int.Parse(dr["cd_camara"].ToString());
             objProcesso.CdProcedimento = dr["cd_procedimento"].ToString().Equals("") ? 0 : int.Parse(dr["cd_procedimento"].ToString());
             objProcesso.CdEspecialidade = dr["cd_especialidade"].ToString().Equals("") ? 0 : int.Parse(dr["cd_especialidade"].ToString());
             objProcesso.NrProcesso = dr["nr_processo"].ToString();
             //objProcesso.DtDistribuicao = dr["dt_distribuicao"].ToString();
             //objProcesso.NrRefCliente = dr["nr_refCliente"].ToString();
             //objProcesso.DtEncerramento = dr["DT_ENCERRAMENTO"].ToString();
             //objProcesso.Desdobramento = dr["DESDOBRAMENTO"].ToString();
             //objProcesso.SgPasta = dr["SG_PASTA"].ToString();
             //objProcesso.DsRisco = dr["DS_RISCO"].ToString();
             //objProcesso.DsComarca = dr["DS_COMARCA"].ToString();
             //objProcesso.NmForum = dr["NM_FORUM"].ToString();
             //objProcesso.NmVara = dr["NM_VARA"].ToString();
             //objProcesso.NmEstado = dr["NM_ESTADO"].ToString();
             //objProcesso.NmCliente = dr["NM_CLIENTE"].ToString();
             //objProcesso.NmGrupo = dr["NM_GRUPO"].ToString();
             //objProcesso.CdEstado = dr["CD_ESTADO"].ToString();
             dadosProcesso.Add(objProcesso);
             objProcesso = new MMAA.Pedidos.Model.Processo();
         }
         return dadosProcesso;
     }
     catch (Exception ex)
     {
         Log.Save(ex.Message.ToString());
         return null;
     }
 }
Esempio n. 4
0
        public void CriacaoDeTarefasSolicitacaoDeCadastro(SolicitacaoCadastro SolCadastro, Guid usuarioId, int Ordem)
        {
            Model.Processo tmpProcesso = RepositoryService.Processo.ObterPorTipoDeSolicitacao(SolCadastro.TipoDeSolicitacao.Id, null);

            if (tmpProcesso == null)
            {
                return;
            }

            string ParecerAnterior = String.Empty;

            if (Ordem > 1)
            {
                //Busca os pareceres anteriores.
                //SolCadastro.ID.Value
                ParecerAnterior = OrdemMaior1(SolCadastro.ID.Value);
            }

            List <ParticipantesDoProcesso> lstParticipanteDoProcesso = RepositoryService.ParticipantesDoProcesso.ListarPor(tmpProcesso.ID.Value, Ordem);
            bool CriouTarefa = false;

            foreach (ParticipantesDoProcesso PartProcesso in lstParticipanteDoProcesso)
            {
                Lookup referenteA = new Lookup(SolCadastro.ID.Value, SDKore.Crm.Util.Utility.GetEntityName <SolicitacaoCadastro>());
                CriouTarefa = false;
                if (PartProcesso.Papel.Name == "Informado")
                {
                    this.CriarEmail(referenteA, PartProcesso);

                    #region código comentado, foi isolado um método generico citado acima
                    //var email = new Domain.Model.Email(NomeDaOrganizacao, _isOffline);
                    //email.Assunto = "a definir";
                    //email.Mensagem = "a definir";
                    //email.De = new Lookup[1];
                    //email.De[0] = new Lookup { Id = SolCadastro.Proprietario.Id, Type = SolCadastro.Proprietario.Type };
                    //email.RefenteA = new Lookup { Id = SolCadastro.ID.Value, Type = "itbc_solicitacaodecadastro" };

                    //if (PartProcesso.Equipe != null)
                    //{
                    //    List<TeamMembership> lstTeam = RepositoryService.TeamMembership.ListarPor(PartProcesso.Equipe.Id);
                    //    email.Para = new Lookup[lstTeam.Count()];
                    //    int i = 0;

                    //    foreach (TeamMembership team in lstTeam)
                    //    {
                    //        email.Para[i] = new Lookup { Id = team.Usuario, Type = "systemuser" };
                    //        i++;
                    //    }
                    //}

                    //if (PartProcesso.Usuario != null)
                    //{
                    //    email.Para = new Lookup[1];
                    //    email.Para[0] = new Lookup { Id = PartProcesso.Usuario.Id, Type = PartProcesso.Usuario.Type };
                    //}

                    //if (PartProcesso.Contato != null)
                    //{
                    //    email.Para = new Lookup[1];
                    //    email.Para[0] = new Lookup { Id = PartProcesso.Contato.Id, Type = PartProcesso.Contato.Type };
                    //}

                    //email.Direcao = false;
                    //email.ID = RepositoryService.Email.Create(email);

                    ////RepositoryService.RepositorioEmail.EnviarEmail(email.ID.Value);
                    #endregion
                }
                else
                {
                    CriouTarefa = this.CriarTarefa(referenteA, SolCadastro.TipoDeSolicitacao.Name, SolCadastro.Descricao, ParecerAnterior, PartProcesso);

                    #region código comentado, foi isolado um método generico citado acima
                    //Model.Tarefa task = new Model.Tarefa(NomeDaOrganizacao, _isOffline);
                    //task.Assunto = "Plugin - " + SolCadastro.Nome;
                    //task.ReferenteA = new Lookup(SolCadastro.ID.Value, "itbc_solicitacaodecadastro");
                    //task.Assunto = PartProcesso.Papel.Name + " - " + SolCadastro.TipoDeSolicitacao.Name;
                    //task.Ordem = PartProcesso.Ordem;
                    //task.PareceresAnteriores = ParecerAnterior;
                    //task.DescricaoSolicitacao = SolCadastro.Descricao;
                    //task.Conclusao = DateTime.Now.AddDays(1).AddHours(3);


                    //TipoDeAtividade tmpTipoDeAtividade = RepositoryService.TipoDeAtividade.ObterPorPapel(PartProcesso.Papel.Id);

                    //if (tmpTipoDeAtividade == null)
                    //    throw new ArgumentException("Tipo de Atividade do Participante Não Encontrado!");

                    //if (tmpTipoDeAtividade.ID.HasValue)
                    //    task.TipoDeAtividade = new Lookup(tmpTipoDeAtividade.ID.Value, "itbc_tipoatividade");

                    //if (PartProcesso.Equipe != null)
                    //    task.Proprietario = new Lookup(PartProcesso.Equipe.Id, PartProcesso.Equipe.Type);

                    //if (PartProcesso.Usuario != null)
                    //    task.Proprietario = new Lookup(PartProcesso.Usuario.Id, PartProcesso.Usuario.Type);

                    //if (PartProcesso.Contato != null)
                    //    task.Proprietario = new Lookup(PartProcesso.Contato.Id, PartProcesso.Contato.Type);

                    //RepositoryService.Tarefa.Create(task);
                    //CriouTarefa = true;
                    #endregion
                }

                if (!CriouTarefa)
                {
                    CriacaoDeTarefasSolicitacaoDeCadastro(SolCadastro, usuarioId, Ordem + 1);
                }
            }
        }