public void CriarTarefaChecklist(Tarefa tarefa) { if (tarefa.ReferenteA != null && tarefa.ReferenteA.Type.Equals("account")) { return; } var conta = RepositoryService.Conta.Retrieve(tarefa.ReferenteA.Id, "itbc_classificacaoid", "name"); if (conta == null || conta.Classificacao == null) { return; } var parametroGlobalService = new Servicos.ParametroGlobalService(RepositoryService); var pAtividadeCheckList = parametroGlobalService.ObterPor((int)Domain.Enum.TipoParametroGlobal.FrequenciaChecklist, null, conta.Classificacao.Id, null, null, null, null, (int)Domain.Enum.ParametroGlobal.Parametrizar.VisitaComercial); var pListaAtividades = parametroGlobalService.ObterPor((int)Domain.Enum.TipoParametroGlobal.AtividadesChecklist, null, conta.Classificacao.Id, null, null, null, null, (int)Domain.Enum.ParametroGlobal.Parametrizar.VisitaComercial); if (pAtividadeCheckList == null || String.IsNullOrEmpty(pAtividadeCheckList.Valor)) { throw new ArgumentException("(CRM) Operação Cancelada. O parâmetro global de Frequência de Checklist (64) para Visita Comercial de canais com classificação : " + conta.Classificacao.Name + " não foi configurado. Para resolver o problema você deve criar esse parâmetro global."); } if (pListaAtividades == null || String.IsNullOrEmpty(pListaAtividades.Valor)) { throw new ArgumentException("(CRM) Operação Cancelada. O parâmetro global de Atividade de Checklist (63) para Visita Comercial de canais com classificação : " + conta.Classificacao.Name + " não foi configurado. Para resolver o problema você deve criar esse parâmetro global."); } var tarefaService = new Domain.Servicos.TarefaService(RepositoryService.NomeDaOrganizacao, RepositoryService.IsOffline, RepositoryService.Provider); var tipoAtividade = tarefaService.BuscarTipoTarefa("Checklist"); var novaTarefa = new Domain.Model.Tarefa(RepositoryService); novaTarefa.Assunto = "Checklist - " + conta.RazaoSocial; novaTarefa.Conclusao = DateTime.Now.AddDays(Convert.ToInt16(pAtividadeCheckList.Valor)); novaTarefa.ReferenteA = new SDKore.DomainModel.Lookup(conta.ID.Value, "account"); novaTarefa.Descricao = pListaAtividades.Valor; if (tipoAtividade != null) { novaTarefa.TipoDeAtividade = new SDKore.DomainModel.Lookup(tipoAtividade.ID.Value, tipoAtividade.Nome, ""); } tarefaService.Persistir(novaTarefa); Guid idTarefa = tarefaService.Persistir(tarefa); if (idTarefa != Guid.Empty) { Usuario proprietario = new Domain.Servicos.UsuarioService(RepositoryService.NomeDaOrganizacao, RepositoryService.IsOffline, RepositoryService.Provider).BuscarProprietario("task", "activityid", tarefa.Id); if (proprietario != null) { new Domain.Servicos.UtilService(RepositoryService.NomeDaOrganizacao, RepositoryService.IsOffline, RepositoryService.Provider).MudarProprietarioRegistro("systemuser", proprietario.Id, "task", idTarefa); } } }
public void GerarAtividadesVisitaComercial(Conta conta) { List <Model.RelacionamentoCanal> lstRelacionamento = new Domain.Servicos.RelacionamentoCanalService(RepositoryService).ListarAtivosPorCanal(conta.ID.Value); if (lstRelacionamento.Count > 0) { var parametroGlobalService = new Servicos.ParametroGlobalService(RepositoryService); var pAtividadeCheckList = parametroGlobalService.ObterPor((int)Domain.Enum.TipoParametroGlobal.FrequenciaChecklist, null, conta.Classificacao.Id, null, null, null, null, (int)Domain.Enum.ParametroGlobal.Parametrizar.VisitaComercial); var pListaAtividades = parametroGlobalService.ObterPor((int)Domain.Enum.TipoParametroGlobal.AtividadesChecklist, null, conta.Classificacao.Id, null, null, null, null, (int)Domain.Enum.ParametroGlobal.Parametrizar.VisitaComercial); if (pAtividadeCheckList == null || String.IsNullOrEmpty(pAtividadeCheckList.Valor)) { throw new ArgumentException("(CRM) Operação Cancelada.O parâmetro global de Frequência de Checklist (64) para Visita Comercial de canais com classificação : " + conta.Classificacao.Name + " não foi configurado. Para resolver o problema você deve criar esse parâmetro global."); } if (pListaAtividades == null || String.IsNullOrEmpty(pListaAtividades.Valor)) { throw new ArgumentException("(CRM) Operação Cancelada.O parâmetro global de Atividade de Checklist (63) para Visita Comercial de canais com classificação : " + conta.Classificacao.Name + " não foi configurado. Para resolver o problema você deve criar esse parâmetro global."); } var tarefaService = new Domain.Servicos.TarefaService(RepositoryService.NomeDaOrganizacao, RepositoryService.IsOffline, RepositoryService.Provider); var tipoAtividade = tarefaService.BuscarTipoTarefa("Checklist"); foreach (RelacionamentoCanal registro in lstRelacionamento) { if (registro.Supervisor != null) { var tarefa = new Domain.Model.Tarefa(RepositoryService.NomeDaOrganizacao, RepositoryService.IsOffline, RepositoryService.Provider); if (tipoAtividade != null) { tarefa.TipoDeAtividade = new SDKore.DomainModel.Lookup(tipoAtividade.ID.Value, tipoAtividade.Nome, ""); } tarefa.Assunto = "Checklist - " + conta.RazaoSocial; tarefa.Conclusao = DateTime.Now.AddDays(Convert.ToInt16(pAtividadeCheckList.Valor)); tarefa.Descricao = pListaAtividades.Valor; tarefa.ReferenteA = new SDKore.DomainModel.Lookup(conta.ID.Value, "account"); Guid idTarefa = tarefaService.Persistir(tarefa); if (idTarefa != Guid.Empty) { new Domain.Servicos.UtilService(RepositoryService.NomeDaOrganizacao, RepositoryService.IsOffline, RepositoryService.Provider).MudarProprietarioRegistro("systemuser", registro.Supervisor.Id, "task", idTarefa); } } } } }
public void CriarTarefaChecklist(RelacionamentoCanal relacionamentoCanal) { if (relacionamentoCanal.Canal == null) { throw new ApplicationException("Canal precisa estar preenchido para criação das atividades de checklist!"); } if (relacionamentoCanal.Supervisor == null) { throw new ApplicationException("Supervisor precisa estar preenchido para criação das atividades de checklist!"); } var conta = RepositoryService.Conta.Retrieve(relacionamentoCanal.Canal.Id, "itbc_classificacaoid", "name", "itbc_participa_do_programa"); if (!conta.ParticipantePrograma.HasValue || conta.ParticipantePrograma.Value != (int)Domain.Enum.Conta.ParticipaDoPrograma.Sim) { return; } if (conta == null || conta.Classificacao == null) { throw new ApplicationException("Canal precisa estar classificado para criação das atividades de checklist!"); } var parametroGlobalService = new Servicos.ParametroGlobalService(RepositoryService); var pAtividadeCheckList = parametroGlobalService.ObterPor((int)Domain.Enum.TipoParametroGlobal.FrequenciaChecklist, null, conta.Classificacao.Id, null, null, null, null, (int)Domain.Enum.ParametroGlobal.Parametrizar.VisitaComercial); var pListaAtividades = parametroGlobalService.ObterPor((int)Domain.Enum.TipoParametroGlobal.AtividadesChecklist, null, conta.Classificacao.Id, null, null, null, null, (int)Domain.Enum.ParametroGlobal.Parametrizar.VisitaComercial); if (pAtividadeCheckList == null || String.IsNullOrEmpty(pAtividadeCheckList.Valor)) { throw new ApplicationException("Operação Cancelada. O parâmetro global de Frequência de Checklist (64) para Visita Comercial de canais com classificação : " + conta.Classificacao.Name + " não foi configurado. Para resolver o problema você deve criar esse parâmetro global."); } if (pListaAtividades == null || String.IsNullOrEmpty(pListaAtividades.Valor)) { throw new ApplicationException("Operação Cancelada. O parâmetro global de Atividade de Checklist (63) para Visita Comercial de canais com classificação : " + conta.Classificacao.Name + " não foi configurado. Para resolver o problema você deve criar esse parâmetro global."); } var tarefaService = new Domain.Servicos.TarefaService(RepositoryService.NomeDaOrganizacao, RepositoryService.IsOffline, RepositoryService.Provider); var tipoAtividade = tarefaService.BuscarTipoTarefa("Checklist"); var novaTarefa = new Domain.Model.Tarefa(RepositoryService); novaTarefa.Assunto = "Checklist - " + conta.RazaoSocial; novaTarefa.Conclusao = DateTime.Now.AddDays(Convert.ToInt16(pAtividadeCheckList.Valor)); novaTarefa.ReferenteA = new SDKore.DomainModel.Lookup(conta.ID.Value, "account"); novaTarefa.Descricao = pListaAtividades.Valor; if (tipoAtividade != null) { novaTarefa.TipoDeAtividade = new SDKore.DomainModel.Lookup(tipoAtividade.ID.Value, tipoAtividade.Nome, ""); } novaTarefa.ID = tarefaService.Persistir(novaTarefa); if (novaTarefa.ID.HasValue) { Usuario proprietario = new Domain.Servicos.UsuarioService(RepositoryService.NomeDaOrganizacao, RepositoryService.IsOffline, RepositoryService.Provider).BuscarProprietario("task", "activityid", relacionamentoCanal.Supervisor.Id); if (proprietario != null) { new Domain.Servicos.UtilService(RepositoryService.NomeDaOrganizacao, RepositoryService.IsOffline, RepositoryService.Provider).MudarProprietarioRegistro("systemuser", proprietario.ID.Value, "task", novaTarefa.ID.Value); } } }