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