/// <summary> /// Método para teste simulando a movimentação das tarefas (Serviço) /// </summary> /// <param name="tarefas">lista de tarefas</param> /// <param name="oidTarefaMovida">oid da tarefa movimentada</param> /// <param name="posicaoFinal">posição desejada para a tarefa</param> /// <returns></returns> private static TarefasMovidasDto MoverTarefa(WexDb contexto, List <CronogramaTarefa> tarefas, Guid oidTarefaMovida, Int16 posicaoFinal, List <CronogramaTarefaDto> tarefasCronograma, string alias = null) { List <CronogramaTarefa> listaDeTarefasImpactadas; Int16 novoNbIdTarefaMovida = 0; DateTime dataHoraAcao = new DateTime(); Guid oidCronograma = new Guid(); listaDeTarefasImpactadas = CronogramaTarefaBo.ReordenarTarefas(oidTarefaMovida, posicaoFinal, ref novoNbIdTarefaMovida, ref dataHoraAcao, ref oidCronograma); TarefasMovidasDto movidas = CronogramaTarefaDao.TarefasMovidasDtoFactory(listaDeTarefasImpactadas, DateTime.Now, oidTarefaMovida, novoNbIdTarefaMovida, oidCronograma); movidas.TarefasImpactadas.Add(movidas.OidCronogramaTarefaMovida.ToString(), movidas.NbIDTarefaMovida); TarefasImpactadasDebugUtil.ExibirLogTarefaMovida(movidas, tarefasCronograma, alias); return(movidas); }
/// <summary> /// método responsável por atualizar as tarefas impactadas. /// </summary> /// <param name="oidTarefasExcluidas">lista de oidTarefas excluidas</param> public void CriarComandoAtualizarTarefasImpactadas(Dictionary <string, Int16> tarefasImpactadas, DateTime dataAtualizacao) { Monitor.Enter(_locker); try { lock (this) { tarefasImpactadas = gerenciadorTarefasImpactadas.ListarAtualizacoesValidas(tarefasImpactadas, dataAtualizacao); TarefasImpactadasDebugUtil.ExibirLogAtualizacaoTarefasImpactadas(tarefasImpactadas, new List <CronogramaTarefaGridItem>(Datasource)); comandos.Enqueue(new ComandoAtualizarTarefasImpactadasGrid(this, tarefasImpactadas)); } } catch (Exception e) { throw e; } finally { Monitor.Exit(_locker); } }
/// <summary> /// Método para efetuar a atualização das tarefas impactadas /// </summary> /// <param name="tarefasImpactadas">lista de tarefas impactadas</param> /// <param name="tarefas">lista de tarefas armazenadas(View)</param> /// <returns>retorna a lista com a atualização das tarefas impactadas</returns> public static List <CronogramaTarefaDto> AtualizarTarefaImpactadas(Dictionary <string, short> tarefasImpactadas, List <CronogramaTarefaDto> tarefas, string alias = "") { Debug.WriteLine(string.Format("\n*********** Inicio {0} ************** \n", alias)); TarefasImpactadasDebugUtil.ExibirOrdemTarefas(tarefas, "Ordem Inicial"); if (tarefasImpactadas.Count > 0) { TarefasImpactadasDebugUtil.ExibirLogAtualizacaoTarefasImpactadas(tarefasImpactadas, tarefas); foreach (var item in tarefasImpactadas) { AtualizarNbIdTarefa(item.Value, Guid.Parse(item.Key), tarefas); } tarefas = new List <CronogramaTarefaDto>(tarefas.OrderBy(o => o.NbID)); TarefasImpactadasDebugUtil.ExibirOrdemTarefas(tarefas, "Ordem Final"); } else { Debug.WriteLine("Nenhuma tarefa impactada para atualizar!"); } Debug.WriteLine(string.Format("\n*********** Fim {0} ************** \n", alias)); return(tarefas); }