public override async void CommitEditingStyle(UITableView tableView, UITableViewCellEditingStyle editingStyle, NSIndexPath indexPath) { if (editingStyle != UITableViewCellEditingStyle.Delete) { return; } using (var client = new TarefaService()) { try { await client.DeleteAsync(_tarefas[indexPath.Row]); } catch (Exception) { const string retorno = "Ocorreu um erro ao realizar operação! Por favor, tente novamente mais tarde!"; new UIAlertView("Deletar Tarefa", retorno, null, "OK", null).Show(); return; } } using (var client = new TarefaService()) { _tarefas = await client.ListarAsync(); } if (_tarefas != null && _tarefas?.Count > 0) { TableView.ReloadData(); } }
private void DadosAutomaticos() { servicoConta = new ContaService(); servicoTarefa = new TarefaService(); Tarefas = new ObservableCollection <Model.Tarefa>(servicoTarefa.ObterTarefasDoUsuarioLogado(false).Where(c => c.Situacao == "Atrasada")); NomeUsuario = "Bem vindo, " + servicoConta.ObterUsuarioPorIdLogado().NomeUsuario; }
protected override void Execute(IPluginExecutionContext context, IOrganizationServiceFactory serviceFactory, IOrganizationService adminService, IOrganizationService userService) { switch (Util.Utilitario.ConverterEnum <Domain.Enum.Plugin.MessageName>(context.MessageName)) { case Domain.Enum.Plugin.MessageName.Create: if (context.InputParameters.Contains("Target") && context.InputParameters["Target"] is Entity) { var entidade = (Entity)context.InputParameters["Target"]; Domain.Model.CompromissosDoCanal CompromissoTarget = entidade.Parse <Domain.Model.CompromissosDoCanal>(context.OrganizationName, context.IsExecutingOffline, adminService); var compromissosDoCanalService = new CompromissosDoCanalService(context.OrganizationName, context.IsExecutingOffline, adminService); CompromissosDoPrograma mCompromissosDoPrograma = compromissosDoCanalService.BuscarCompromissoDoPrograma(CompromissoTarget.Compromisso.Id); #region Pendencias KeyAccount-representante if (mCompromissosDoPrograma.TipoMonitoramento == (int)Domain.Enum.CompromissoPrograma.TipoMonitoramento.PorTarefas) { if (mCompromissosDoPrograma.Codigo.Value != (int)Domain.Enum.CompromissoPrograma.Codigo.Showroom) { List <string> lstAtividades = new TarefaService(context.OrganizationName, context.IsExecutingOffline, adminService).ListarAtividadesCheckup(CompromissoTarget.Compromisso.Id); if (lstAtividades == null || lstAtividades.Count <= 0) { throw new ArgumentException("(CRM) Lista de atividades não encontrada para o Compromisso : " + mCompromissosDoPrograma.Nome + " .Operação cancelada."); } string atividade = new TarefaService(context.OrganizationName, context.IsExecutingOffline, adminService).ObterProximaAtividadeCheckup(lstAtividades, null); if (!string.IsNullOrEmpty(atividade)) { Domain.Model.Usuario proprietario = new UsuarioService(context.OrganizationName, context.IsExecutingOffline, adminService).BuscarProprietario("itbc_compdocanal", "itbc_compdocanalid", CompromissoTarget.Id); if (proprietario != null) { compromissosDoCanalService.GerarAtividadeChecklist(atividade, CompromissoTarget, proprietario); } } } } #endregion } break; case Domain.Enum.Plugin.MessageName.Update: if (context.PostEntityImages.Contains("imagem") && context.PostEntityImages["imagem"] is Entity && context.InputParameters.Contains("Target") && context.InputParameters["Target"] is Entity) { var entidade = (Entity)context.InputParameters["Target"]; Domain.Model.CompromissosDoCanal CompromissoPost = ((Entity)context.PostEntityImages["imagem"]).Parse <Domain.Model.CompromissosDoCanal>(context.OrganizationName, context.IsExecutingOffline, adminService); Domain.Model.CompromissosDoCanal CompromissoTarget = entidade.Parse <Domain.Model.CompromissosDoCanal>(context.OrganizationName, context.IsExecutingOffline, adminService); if (CompromissoTarget.StatusCompromisso != null) { var compromissosDoCanalService = new CompromissosDoCanalService(context.OrganizationName, context.IsExecutingOffline, adminService); // CASO DE USO 6 – ALTERAÇÃO DE STATUS DE COMPROMISSO DE UM CANAL - ATUALIZA STATUS DO BENEFÍCIO DO CANAL compromissosDoCanalService.AtualizarBeneficiosECompromissosCascata(CompromissoPost); } } break; } }
public CronogramasViewModel() { NoPrazoCommand = new Command(SinalizarNoPrazo); AtrasadaCommand = new Command(SinalizarAtrasada); FinalizadaCommand = new Command(SinalizarFinalizada); servicoTarefa = new TarefaService(); Tarefas = new ObservableCollection <Model.Tarefa>(ListaTarefas); }
public TarefaServiceTest() { _tarefaRepositoryMock = new Mock <ITarefaRepository>(); _criarTarefaRequestValidator = new CriarTarefaRequestValidator(); _alterarTarefaRequestValidator = new AlterarTarefaRequestValidator(); _tarefaAdapter = new TarefaAdapter(); _tarefaService = new TarefaService(_tarefaRepositoryMock.Object, _criarTarefaRequestValidator, _tarefaAdapter, _alterarTarefaRequestValidator); }
public void Execute(IServiceProvider serviceProvider) { lock (thisLock) { var context = (IPluginExecutionContext)serviceProvider.GetService(typeof(IPluginExecutionContext)); ITracingService trace = (ITracingService)serviceProvider.GetService(typeof(ITracingService)); IOrganizationServiceFactory serviceFactory = (IOrganizationServiceFactory)serviceProvider.GetService(typeof(IOrganizationServiceFactory)); IOrganizationService service = serviceFactory.CreateOrganizationService(null); PausaTarefaService pausaTarefaService = new PausaTarefaService(context.OrganizationName, context.IsExecutingOffline, service); try { trace.Trace(context.MessageName); switch (Util.Utilitario.ConverterEnum <Domain.Enum.Plugin.MessageName>(context.MessageName)) { case Domain.Enum.Plugin.MessageName.Create: var entidade = (Entity)context.InputParameters["Target"]; //altera a entidade Tarefa para ficar com o mesmo motivo da Pausa var pausaCreate = pausaTarefaService.BuscaPausaTarefa(entidade.Id); if (!pausaTarefaService.PersistirMotivoPausaNaTarefa(pausaCreate)) { throw new ArgumentException("Não foi possível atualizar o Motivo da pausa na Tarefa."); } break; case Domain.Enum.Plugin.MessageName.Update: if (context.PostEntityImages.Contains("imagem") && context.PostEntityImages["imagem"] is Entity) { PausaTarefa pausaUpdate = context.PostEntityImages["imagem"].Parse <PausaTarefa>(context.OrganizationName, context.IsExecutingOffline, service); if (pausaUpdate.DataTermino != null || pausaUpdate.DataTermino != DateTime.MinValue) { //atribui vazio para o Motivo da Pausa na Tarefa var tarefa = pausaTarefaService.BuscaTarefa(pausaUpdate.Tarefa.Id); tarefa.MotivoPausa = " "; //para salvar no banco, não funciona se usar null ou string.Empty TarefaService tarefaService = new TarefaService(context.OrganizationName, context.IsExecutingOffline, service); tarefaService.Persistir(tarefa); } } break; } } catch (Exception ex) { string message = SDKore.Helper.Error.Handler(ex); trace.Trace(SDKore.Helper.Error.GetMessageError(ex)); throw new InvalidPluginExecutionException(message, ex); } } }
public CriarTarefaViewModel() { SalvarTarefaCommand = new Command(CriarTarefa); AtribuirResponsavelCommand = new Command(AtribuirAoResponsavel); DadosAutomaticos(); servicoConta = new ContaService(); servicoGrupo2 = new GrupoService(); servicoProjeto = new ProjetoService(); Contatos = new ObservableCollection <Usuario>(servicoGrupo2.ObterMembrosDoGrupoContatos()); Projetos = new ObservableCollection <Model.Projeto>(servicoProjeto.ObterProjetosDoUsuarioLogado(false)); servicoTarefa = new TarefaService(); }
public void AlternarStatusTarefa_TarefaNaoEncontrada_DeveDarErro() { // Act var mock = new Mock <ITarefaRepository>(); mock.Setup(x => x.ObterPorId(Guid.NewGuid())).Returns <object>(null); var service = new TarefaService(mock.Object, _mapper.Object); // Assert Assert.ThrowsAsync <Exception>(() => service.Alternar(Guid.NewGuid())); }
private void MonitoramentoPorTarefa() { try { TarefaService service = new TarefaService(OrganizationName, IsOffline); service.MonitoramentoPorTarefas(); } catch (Exception ex) { string mensagem = SDKore.Helper.Error.Handler(ex); Console.WriteLine("Erro no Monitoramento Automatico: " + mensagem); } }
public override async void ViewDidLoad() { base.ViewDidLoad(); // Perform any additional setup after loading the view, typically from a nib. using (var client = new TarefaService()) { _tarefas = await client.ListarAsync(); } if (_tarefas != null && _tarefas?.Count > 0) { TableView.ReloadData(); } }
public void SolicitacaoShowroom() { string organizationName = ConfigurationManager.GetSettingValue("OrganizacaoIntelbras"); Intelbras.CRM2013.Domain.Model.SolicitacaoBeneficio SolicitBeneficioPost = new Domain.Servicos.SolicitacaoBeneficioService(organizationName, false).ObterPor(new Guid("501E2383-194E-E411-93F5-00155D013E70")); Domain.Model.CompromissosDoCanal compromissoCanal = new Domain.Model.CompromissosDoCanal(organizationName, false); Domain.Model.Conta canal = new Domain.Servicos.ContaService(organizationName, false) .BuscaConta(SolicitBeneficioPost.Canal.Id); Domain.Model.CompromissosDoPrograma compromissoPrograma = new Domain.Servicos.CompromissosDoCanalService(organizationName, false) .BuscarCompromissoDoPrograma((int)Domain.Enum.CompromissoPrograma.Codigo.Showroom); if (canal == null) { throw new ArgumentException("Canal não encontrado.Operação cancelada."); } if (compromissoPrograma == null) { throw new ArgumentException("Compromisso do Programa não encontrado.Operação cancelada."); } Domain.Model.CompromissosDoCanal compCanal = new Intelbras.CRM2013.Domain.Servicos.CompromissosDoCanalService(organizationName, false).BuscarCompromissoCanal(compromissoPrograma.ID.Value, SolicitBeneficioPost.UnidadedeNegocio.Id, canal.ID.Value); if (compCanal == null) { throw new ArgumentException("Compromisso do Canal para o compromisso : " + compromissoPrograma.Nome + " não encontrado.Operação cancelada."); } List <string> lstAtividades = new TarefaService(organizationName, false).ListarAtividadesCheckup(compCanal.Compromisso.Id); if (lstAtividades == null || lstAtividades.Count <= 0) { throw new ArgumentException("Lista de atividades não encontrada para o Compromisso : " + compromissoPrograma.Nome + " .Operação cancelada."); } string atividade = new TarefaService(organizationName, false).ObterProximaAtividadeCheckup(lstAtividades, null); if (!string.IsNullOrEmpty(atividade)) { Domain.Model.Usuario proprietario = new Domain.Servicos.UsuarioService(organizationName, false).BuscarProprietario("itbc_compdocanal", "itbc_compdocanalid", compCanal.Id); if (proprietario != null) { new Intelbras.CRM2013.Domain.Servicos.CompromissosDoCanalService(organizationName, false).GerarAtividadeChecklist(atividade, compCanal, proprietario); } } }
public void ExcluirTarefa_TarefaNaoEncontrada_DeveDarErro() { // Arrange var tarefaId = Guid.NewGuid(); var usuarioId = Guid.NewGuid(); // Act var mock = new Mock <ITarefaRepository>(); mock.Setup(x => x.ObterPorId(tarefaId)).Returns(Task.FromResult <Tarefa>(null)); var service = new TarefaService(mock.Object, _mapper.Object); // Assert Assert.ThrowsAsync <Exception>(() => service.Remover(tarefaId, usuarioId)); }
public async Task AdicionarTarefa_Validacao_DeveDarErro(string descricao, string estimado) { // Arrange var tarefa = new TarefaRequestViewModel { Descricao = descricao, Estimado = Convert.ToDateTime(estimado) }; // Act var service = new TarefaService(_mock.Object, _mapper.Object); var adicionar = await service.Adicionar(tarefa, Guid.NewGuid()); // Assert Assert.False(adicionar); Assert.False(tarefa.ValidationResult.IsValid); }
async public void GravarTarefaTest() { #region Given TarefaService service = MontarConstrutor(); #endregion #region When _tarefaRepositoryMock.Setup(s => s.CriarAsync(It.IsAny <Tarefa>())).Returns(Task.FromResult(new TarefaTestBuilder().Default().Build())); var result = await service.CadastarTarefaAsync(new TarefaTestBuilder().Default().Build()); #endregion #region result.Should().NotBeNull(); result.DataEdicao.Should().BeNull(); #endregion }
public void ExcluirTarefa_TarefaNaoPertenceUsuario_DeveDarErro() { // Arrange var tarefaId = Guid.NewGuid(); var usuarioId = Guid.NewGuid(); var tarefa = new Tarefa(tarefaId, "xxx", DateTime.Now, Guid.NewGuid()); // Act var mock = new Mock <ITarefaRepository>(); mock.Setup(x => x.ObterPorId(tarefaId)).Returns(Task.FromResult(tarefa)); var service = new TarefaService(mock.Object, _mapper.Object); // Assert Assert.ThrowsAsync <Exception>(() => service.Remover(tarefaId, usuarioId)); }
public void CriarTarefa() { if (DataPrevInicio > DataPrevTermino) { DataMaiorQueInicio = DataPrevInicio; Toast.LongMessage(Mensagem.MENS_FORM_47); return; } servicoTarefa = (projetoDefinido) ? new TarefaService(NomeTarefa, TipoTarefaView, Descricao, DataPrevInicio, DataPrevTermino, IdResponsavel, IdProjeto) : new TarefaService(NomeTarefa, TipoTarefaView, Descricao, DataPrevInicio, DataPrevTermino, IdResponsavel); if (servicoTarefa.CriarNovaTarefa()) { Application.Current.MainPage.Navigation.PopAsync(); } }
async public void ObterTarefasCadastradasPorUsuarioTest() { #region Given TarefaService service = MontarConstrutor(); #endregion #region When _tarefaRepositoryMock.Setup(s => s.ObterTarefasPorIdUsuarioAsync(It.IsAny <Guid>(), It.IsAny <bool>())) .Returns(Task.FromResult(new TarefaTestBuilder().DefaultList().BuildList())); var result = await service.ObterTarefasCadastradasPorUsuario(new TarefaTestBuilder().DefaultGuid(), new TarefaTestBuilder().DefaultBoolean()); #endregion #region Then result.Should().NotBeNull(); result.Should().NotBeEmpty(); result.Should().HaveCount(3); #endregion }
public override async void ViewDidAppear(bool animated) { base.ViewDidAppear(animated); var isUpdatedApi = NSUserDefaults.StandardUserDefaults.BoolForKey("UpdatedApi"); if (!_isStarted || !isUpdatedApi) { return; } using (var client = new TarefaService()) { _tarefas = await client.ListarAsync(); } TableView.ReloadData(); NSUserDefaults.StandardUserDefaults.SetBool(false, "UpdatedApi"); }
public async Task AlternarStatusTarefa_AlternarTarefaComSucesso() { // Arrange var id = Guid.NewGuid(); var tarefa = new Tarefa(Guid.NewGuid(), "xxx", DateTime.Now, Guid.NewGuid()); // Act var mock = new Mock <ITarefaRepository>(); mock.Setup(x => x.ObterPorId(id)).Returns(Task.FromResult(tarefa)); mock.Setup(c => c.Alternar(tarefa)); mock.Setup(c => c.UnitOfWork.Commit()).Returns(Task.FromResult(true)); var service = new TarefaService(mock.Object, _mapper.Object); var alternar = await service.Alternar(id); // Assert Assert.True(alternar); }
private void DadosAutomaticos() { servicoTarefa = new TarefaService(); servicoTarefa.SalvarIdTarefaSelecionada(); tarefa = servicoTarefa.ObterTarefaSelecionada(); NomeTarefaView = tarefa.NomeTarefa; TipoTarefaView = tarefa.TipoTarefa; DescricaoView = tarefa.DescricaoTarefa; DataPrevInicioView = tarefa.DataPrevInicio; DataPrevTerminoView = tarefa.DataPrevTermino; CriadorView = servicoTarefa.ObterNomeCriadorTarefa(); ResponsavelView = servicoTarefa.ObterNomeResponsavelTarefa(); ProjetoSelecionado = servicoTarefa.ObterNomeProjetoDaTarefa(); EstadoView = tarefa.Estado; EstadoAnterior = tarefa.Estado; Estados = servicoTarefa.ListarEstadosDisponiveis(tarefa.Estado); RazaoView = tarefa.Motivo; }
public async Task ExcluirTarefa_TarefaRemovidaComSucesso() { // Arrange var tarefaId = Guid.NewGuid(); var usuarioId = Guid.NewGuid(); var tarefa = new Tarefa(tarefaId, "xxx", DateTime.Now, usuarioId); // Act var mock = new Mock <ITarefaRepository>(); mock.Setup(x => x.ObterPorId(tarefaId)).Returns(Task.FromResult(tarefa)); mock.Setup(c => c.UnitOfWork.Commit()).Returns(Task.FromResult(true)); var service = new TarefaService(mock.Object, _mapper.Object); var remover = await service.Remover(tarefaId, usuarioId); // Assert Assert.True(remover); }
public async Task AdicionarTarefa_CriarTarefaComSucesso() { // Arrange var tarefaViewModel = new TarefaRequestViewModel { Descricao = "abc", Estimado = DateTime.Now.AddDays(1) }; var tarefa = new Tarefa(Guid.NewGuid(), "abc", DateTime.Now.AddDays(1), Guid.NewGuid()); // Act var mock = new Mock <ITarefaRepository>(); mock.Setup(c => c.Adicionar(tarefa)); mock.Setup(c => c.UnitOfWork.Commit()).Returns(Task.FromResult(true)); var service = new TarefaService(mock.Object, _mapper.Object); var adicionar = await service.Adicionar(tarefaViewModel, Guid.NewGuid()); // Assert Assert.True(adicionar); }
public void ObterTodos_DeveRetornarUmaLista() { // Arrange IEnumerable <Tarefa> lista = new List <Tarefa>() { new Tarefa(Guid.NewGuid(), "tarefa", DateTime.Now, Guid.NewGuid()) }; var clientId = Guid.NewGuid(); var data = DateTime.Now; // Act var mock = new Mock <ITarefaRepository>(); mock.Setup(t => t.ObterTodos(clientId, data)).Returns(lista); var service = new TarefaService(mock.Object, _mapper.Object); service.ObterTodos(clientId, data); // Assert mock.VerifyAll(); }
private async void AdicionarButton_TouchUpInside(object sender, EventArgs e) { AdicionarButton.Enabled = false; using (var client = new TarefaService()) { try { await client.GravarAsync(new Tarefa { Descricao = TarefaTextField.Text }); } catch (Exception) { const string retorno = "Ocorreu um erro ao realizar operação! Por favor, tente novamente mais tarde!"; new UIAlertView("Adicionar Tarefa", retorno, null, "OK", null).Show(); AdicionarButton.Enabled = true; return; } } NSUserDefaults.StandardUserDefaults.SetBool(true, "UpdatedApi"); NavigationController.PopToRootViewController(true); // }
public void Execute(IServiceProvider serviceProvider) { lock (thisLock) { var context = (IPluginExecutionContext)serviceProvider.GetService(typeof(IPluginExecutionContext)); ITracingService trace = (ITracingService)serviceProvider.GetService(typeof(ITracingService)); IOrganizationServiceFactory serviceFactory = (IOrganizationServiceFactory)serviceProvider.GetService(typeof(IOrganizationServiceFactory)); IOrganizationService service = serviceFactory.CreateOrganizationService(null); TarefaService ServiceTarefas = new TarefaService(context.OrganizationName, context.IsExecutingOffline, service); CompromissosDoCanalService ServiceCompromissosDoCanal = new CompromissosDoCanalService(context.OrganizationName, context.IsExecutingOffline, service); try { trace.Trace(context.MessageName); Intelbras.CRM2013.Domain.Model.Tarefa mTarefa = null; switch (Util.Utilitario.ConverterEnum <Domain.Enum.Plugin.MessageName>(context.MessageName)) { case Domain.Enum.Plugin.MessageName.Create: var entidade = (Entity)context.InputParameters["Target"]; mTarefa = ServiceTarefas.BuscaTarefa(entidade.Id); new Intelbras.CRM2013.Domain.Servicos.TarefaService(context.OrganizationName, context.IsExecutingOffline, service).CriarParecerParaSolicitacao(mTarefa); Guid tipoAtividadeExecucao; if (!Guid.TryParse(SDKore.Configuration.ConfigurationManager.GetSettingValue("TipoAtividadeExecucao"), out tipoAtividadeExecucao)) { throw new ArgumentException("(CRM) Faltando parâmetro TipoAtividadeExecucao no SDKore"); } trace.Trace("Parâmetro do Config: TipoAtividadeExecucao '{0}'", tipoAtividadeExecucao); if (mTarefa.ReferenteA != null && mTarefa.TipoDeAtividade != null && mTarefa.TipoDeAtividade.Id == tipoAtividadeExecucao) { trace.Trace("Tarefa do tipo Execução."); SolicitacaoBeneficio solBenef = new Intelbras.CRM2013.Domain.Servicos.SolicitacaoBeneficioService(context.OrganizationName, context.IsExecutingOffline, service).ObterPor(mTarefa.ReferenteA.Id); if (solBenef == null) { throw new ArgumentException("(CRM) Solicitação não encontrada."); } if (solBenef.TipoSolicitacao != null && solBenef.AjusteSaldo.Value) { trace.Trace("Solicitação do tipo Ajuste."); Tarefa _mTarefa = new Intelbras.CRM2013.Domain.Model.Tarefa(context.OrganizationName, context.IsExecutingOffline, service); _mTarefa.ID = context.PrimaryEntityId; _mTarefa.Resultado = (int)Domain.Enum.Tarefa.Resultado.PagamentoEfetuadoPedidoGerado; _mTarefa.State = 1; string retorno; TarefaService tarefaService = new Intelbras.CRM2013.Domain.Servicos.TarefaService(context.OrganizationName, context.IsExecutingOffline, service); tarefaService.Persistir(_mTarefa, out retorno); trace.Trace(tarefaService.Trace.StringTrace.ToString()); tarefaService.Trace.Save(); } } mTarefa.TempoAtuacao = 0; break; case Domain.Enum.Plugin.MessageName.SetStateDynamicEntity: if (context.PostEntityImages.Contains("imagem") && context.PostEntityImages["imagem"] is Entity) { Tarefa Tarefa = context.PostEntityImages["imagem"].Parse <Tarefa>(context.OrganizationName, context.IsExecutingOffline, service); if (Tarefa.ReferenteA == null || Tarefa.State.Value != (int)Domain.Enum.Tarefa.StateCode.Fechada) { break; } if (Tarefa.ReferenteA.Type.ToLower() == SDKore.Crm.Util.Utility.GetEntityName <SolicitacaoBeneficio>().ToLower()) { new ProcessoDeSolicitacoesService(context.OrganizationName, context.IsExecutingOffline, service) .ConcluirTarefaSolicitacaoBeneficio(Tarefa, context.UserId); } else if (Tarefa.ReferenteA.Type.ToLower() == SDKore.Crm.Util.Utility.GetEntityName <SolicitacaoCadastro>().ToLower()) { new ProcessoDeSolicitacoesService(context.OrganizationName, context.IsExecutingOffline, service) .ConcluirTarefaSolicitacaoDeCadastro(Tarefa, context.UserId); } else if (Tarefa.ReferenteA.Type.ToLower() == SDKore.Crm.Util.Utility.GetEntityName <CompromissosDoCanal>().ToLower()) { new ProcessoDeSolicitacoesService(context.OrganizationName, context.IsExecutingOffline, service) .ConcluirTarefaCompromissoCanal(Tarefa); } else if (Tarefa.ReferenteA.Type.ToLower() == SDKore.Crm.Util.Utility.GetEntityName <Conta>().ToLower()) { if (Tarefa.TipoDeAtividade.Name.Contains("Checklist")) { #region Pendencia Key-Account comentada Conta canal = new Intelbras.CRM2013.Domain.Servicos.ContaService(context.OrganizationName, context.IsExecutingOffline, service).BuscaConta(Tarefa.ReferenteA.Id); if (canal == null || canal.Classificacao == null) { throw new ArgumentException("(CRM) Conta cadastrada no campo 'Referente a' não encontrada!"); } ParametroGlobal paramGlobal = new Intelbras.CRM2013.Domain.Servicos.ParametroGlobalService(context.OrganizationName, context.IsExecutingOffline, service).ObterPor((int)Domain.Enum.TipoParametroGlobal.FrequenciaChecklist, null, canal.Classificacao.Id, null, null, null, null, (int)Domain.Enum.ParametroGlobal.Parametrizar.VisitaComercial); ParametroGlobal paramGlobalListaAtividades = new Intelbras.CRM2013.Domain.Servicos.ParametroGlobalService(context.OrganizationName, context.IsExecutingOffline, service).ObterPor((int)Domain.Enum.TipoParametroGlobal.AtividadesChecklist, null, canal.Classificacao.Id, null, null, null, null, (int)Domain.Enum.ParametroGlobal.Parametrizar.VisitaComercial); List <String> lstAtividades = new Intelbras.CRM2013.Domain.Servicos.TarefaService(context.OrganizationName, context.IsExecutingOffline, service).ConverterParametroParaLista(paramGlobalListaAtividades.Valor); if (lstAtividades.Count > 0) { string atividade = ServiceTarefas.ObterProximaAtividadeCheckup(lstAtividades, Tarefa.Assunto); if (!string.IsNullOrEmpty(atividade)) { Domain.Model.Tarefa novaTarefa = new Domain.Model.Tarefa(context.OrganizationName, context.IsExecutingOffline, service); Domain.Model.TipoDeAtividade tipoAtividade = new Domain.Servicos.TarefaService(context.OrganizationName, context.IsExecutingOffline, service).BuscarTipoTarefa("Checklist"); if (tipoAtividade != null) { novaTarefa.TipoDeAtividade = new SDKore.DomainModel.Lookup(tipoAtividade.ID.Value, tipoAtividade.Nome, ""); } novaTarefa.Assunto = atividade; novaTarefa.Conclusao = DateTime.Now.AddDays(Convert.ToInt16(paramGlobal.Valor)); novaTarefa.ReferenteA = new SDKore.DomainModel.Lookup(canal.ID.Value, "account"); novaTarefa.ID = new Domain.Servicos.TarefaService(context.OrganizationName, context.IsExecutingOffline, service).Persistir(novaTarefa); if (novaTarefa.ID.HasValue) { Usuario proprietario = new Domain.Servicos.UsuarioService(context.OrganizationName, context.IsExecutingOffline, service).BuscarProprietario("task", "activityid", Tarefa.Id); if (proprietario != null) { new Domain.Servicos.UtilService(context.OrganizationName, context.IsExecutingOffline, service).MudarProprietarioRegistro("systemuser", proprietario.ID.Value, "task", novaTarefa.ID.Value); } } } } else { Domain.Model.CompromissosDoCanal CompromissoCanal = ServiceCompromissosDoCanal.BuscarPorGuid(Tarefa.ReferenteA.Id); if (CompromissoCanal != null && CompromissoCanal.Compromisso != null) { List <string> listaAtividadesCheckup2 = ServiceTarefas.ListarAtividadesCheckup(CompromissoCanal.Compromisso.Id); if (listaAtividadesCheckup2.Count > 0) { string atividade = ServiceTarefas.ObterProximaAtividadeCheckup(listaAtividadesCheckup2, Tarefa.Assunto); if (!string.IsNullOrEmpty(atividade)) { Domain.Model.Usuario proprietario = new Domain.Servicos.UsuarioService(context.OrganizationName, context.IsExecutingOffline, service).BuscarProprietario("itbc_compdocanal", "itbc_compdocanalid", CompromissoCanal.Id); if (proprietario != null) { new Intelbras.CRM2013.Domain.Servicos.CompromissosDoCanalService(context.OrganizationName, context.IsExecutingOffline, service).GerarAtividadeChecklist(atividade, CompromissoCanal, proprietario); } } } } } #endregion } } } break; } } catch (Exception ex) { string message = SDKore.Helper.Error.Handler(ex); trace.Trace(SDKore.Helper.Error.GetMessageError(ex)); throw new InvalidPluginExecutionException(message, ex); } } }
protected override void Execute(IPluginExecutionContext context, IOrganizationServiceFactory serviceFactory, IOrganizationService adminService, IOrganizationService userService) { switch (EnumConverter <MessageName>(context.MessageName.ToLower())) { #region Create case MessageName.Create: break; #endregion #region Update case MessageName.Update: break; #endregion #region SetStateDynamicEntity case MessageName.SetStateDynamicEntity: EntityReference entity = (EntityReference)context.InputParameters["EntityMoniker"]; OptionSetValue state = (OptionSetValue)context.InputParameters["State"]; //OptionSetValue status = (OptionSetValue)context.InputParameters["Status"]; IOrganizationService service = serviceFactory.CreateOrganizationService(null); if (state.Value == (int)Tarefa.StateCode.Fechada) { TarefaService ServiceTarefas = new TarefaService(context.OrganizationName, context.IsExecutingOffline, service); var task = ServiceTarefas.BuscaTarefa(entity.Id); //Alteração para obter tempo de resposta ignorando finais de semana e feriados task.TempoResposta = (Decimal)CalcularDiferencaHorasEntreDatas(context, task.CriadoEm.Value.ToLocalTime(), DateTime.Now.ToLocalTime()); //calcula as pausas da Tarefa PausaTarefaService pausaTarefaService = new PausaTarefaService(context.OrganizationName, context.IsExecutingOffline, service); var pausas = pausaTarefaService.ListarPausaTarefa(entity.Id); decimal TempoPausa = 0; pausas.ForEach(p => { //finaliza as pausas pendentes if (p.DataTermino == null || p.DataTermino == DateTime.MinValue) { p.DataTermino = DateTime.Now.AddHours(3); pausaTarefaService.Persistir(p); } //calcula o tempo das pausas (em minutos) TempoPausa = (Decimal)CalcularDiferencaHorasEntreDatas(context, p.DataInicio.ToLocalTime(), p.DataTermino.ToLocalTime()); }); //atualiza o campo de tempo de atuação da tarefa if (task.TempoResposta.HasValue) { task.TempoAtuacao = (task.TempoResposta.Value - TempoPausa); } else { task.TempoAtuacao = TempoPausa; } task.MotivoPausa = " "; //para salvar no banco, não funciona se usar null ou string.Empty ServiceTarefas.Persistir(task); } break; #endregion } }
public HomeController(TarefaService service) { _TarefaService = service; }
public ObservableCollection <Model.Tarefa> ListarTarefas() { servicoTarefa = new TarefaService(); Tarefas = new ObservableCollection <Model.Tarefa>(servicoTarefa.ObterTarefasDoUsuarioLogado()); return(Tarefas); }
public TarefaController() { service = new TarefaService(); }
public TarefaController(TarefaService tarefaService) { _tarefaService = tarefaService; }