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); } } }
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, }); }
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; } }
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); } } }