/// <summary>
        /// Método responsável por excluir um cronograma.
        /// Antes faz uma verificação para analisar se existem tarefas associadas ao cronograma
        /// caso não tenha, exclui as ultimas seleções dos usuários para aquele cronograma
        /// para então excluí-lo.
        /// </summary>
        /// <param name="session">Sessão Corrente</param>
        /// <param name="oidCronograma">Guid (ID) do cronograma a ser excluido</param>
        /// <returns>Boolean confirmando ou não a exclusão</returns>
        public static bool ExcluirCronograma(WexDb contexto, Guid oidCronograma)
        {
            if (contexto == null || oidCronograma == null)
            {
                throw new ArgumentException("Os parâmetros Session e OidCronograma não podem ser nulos.");
            }

            Cronograma cronograma = CronogramaDao.ConsultarCronogramaCronogramaTarefasETarefasPodOidCronograma(contexto, oidCronograma);

            if (cronograma != null)
            {
                if (cronograma.CronogramaTarefas.Any())
                {
                    List <CronogramaTarefa> cronogramaTarefasParaExcluir = CronogramaTarefaDao.ConsultarCronogramaTarefasPorOidCronograma(cronograma.Oid, o => o.Tarefa.TarefaHistoricoTrabalhos);
                    for (int i = 0; i < cronogramaTarefasParaExcluir.Count; i++)
                    {
                        if (cronogramaTarefasParaExcluir[i].Tarefa.TarefaHistoricoTrabalhos != null)
                        {
                            List <TarefaHistoricoTrabalho> historicosParaExcluir = cronogramaTarefasParaExcluir[i].Tarefa.TarefaHistoricoTrabalhos.ToList();

                            for (int j = 0; j < historicosParaExcluir.Count; j++)
                            {
                                historicosParaExcluir[j].CsExcluido = true;
                            }

                            cronogramaTarefasParaExcluir[i].Tarefa.TarefaHistoricoTrabalhos = null;
                        }
                        cronogramaTarefasParaExcluir[i].CsExcluido        = true;
                        cronogramaTarefasParaExcluir[i].Tarefa.CsExcluido = true;
                    }
                }
                CronogramaBo.RemoverSelecoesAssociadasAoCronograma(contexto, cronograma.Oid);
                cronograma.CsExcluido = true;
                contexto.SaveChanges();

                return(true);
            }

            return(false);
        }