/// <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);
     }
 }
Example #2
0
        /// <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);
        }