Exemplo n.º 1
0
        public ActionResult Create(reuniao reuniao)
        {
            LoadFormJuriCompleto();

            try
            {
                if (validate(reuniao))
                {
                    return(View(reuniao));
                }
                ReuniaoRepository.Create(reuniao);

                List <inscricao> lst = InscricaoRepository.GetAllBySortAndJuri(reuniao.fk_id_juri);

                foreach (var item in lst)
                {
                    participantes_reuniao temp = new participantes_reuniao();
                    temp.pfk_id_reuniao   = reuniao.id_reuniao;
                    temp.pfk_id_inscricao = item.id_inscricao;

                    ParticipantesReuniaoRepository.Create(temp);
                }

                return(RedirectToAction("List", new { message = "Dados cadastrados com sucesso!" }));
            }
            catch
            {
                return(View(reuniao));
            }
        }
Exemplo n.º 2
0
        public bool validate(reuniao entity)
        {
            bool retorno = false;

            if (string.IsNullOrEmpty(entity.nome_reuniao))
            {
                ModelState.AddModelError("nome_reuniao", "Campo obrigatório");
                retorno = true;
            }
            if (entity.data_hora_reuniao == DateTime.MinValue)
            {
                ModelState.AddModelError("data_hora_reuniao", "Campo obrigatório");
                retorno = true;
            }
            if (string.IsNullOrEmpty(entity.local_reuniao))
            {
                ModelState.AddModelError("local_reuniao", "Campo obrigatório");
                retorno = true;
            }

            List <inscricao> lst = InscricaoRepository.GetAllBySortAndJuri(entity.fk_id_juri);

            if (lst.Count == 0)
            {
                ModelState.AddModelError("", "Não é possivel cadastrar a reunião porque não foram sorteados as funções");
                retorno = true;
            }
            return(retorno);
        }
Exemplo n.º 3
0
 public ActionResult List(inscricao entity, String message, String messageError)
 {
     ViewData["message"]      = message;
     ViewData["messageError"] = messageError;
     if (string.IsNullOrEmpty(entity.usuario.nome_completo) && (entity.fk_id_juri == 0) &&
         string.IsNullOrEmpty(entity.status_inscricao) && (entity.fk_id_funcao == 0) &&
         string.IsNullOrEmpty(entity.usuario.num_matric_aluno))
     {
         return(View(InscricaoRepository.GetAll()));
     }
     else
     {
         return(View(InscricaoRepository.GetAllByCriteria(entity.usuario.nome_completo ?? "", entity.fk_id_juri,
                                                          entity.fk_id_funcao, entity.usuario.num_matric_aluno ?? "", entity.status_inscricao ?? "")));
     }
 }
Exemplo n.º 4
0
        public ActionResult Edit(int id, inscricao inscricao)
        {
            LoadFormFuncao();

            try
            {
                if (validate(inscricao))
                {
                    return(View(inscricao));
                }
                InscricaoRepository.Edit(inscricao);
                return(RedirectToAction("ListByIdJuri", new { id = inscricao.fk_id_juri, message = "Inscrição editada com sucesso!" }));
            }
            catch
            {
                return(View());
            }
        }
Exemplo n.º 5
0
        public ActionResult Delete(int id, inscricao inscricao)
        {
            try
            {
                inscricao = InscricaoRepository.GetOne(id);
                if (inscricao.presenca.Count > 0)
                {
                    return(RedirectToAction("ListByIdJuri", new { id = inscricao.fk_id_juri, messageError = "Essa inscrição possui registros vinculados a seu cadastro. Não é possível excluí-la." }));
                }

                InscricaoRepository.Delete(inscricao);

                return(RedirectToAction("ListByIdJuri", new { id = inscricao.fk_id_juri, message = "Inscrição excluída com sucesso!" }));
            }
            catch
            {
                return(View());
            }
        }
Exemplo n.º 6
0
        // Função de realização de sorteio de funções
        public List <inscricao> Sorteio(List <inscricao> lista, int qtdFuncao)
        {
            Random           randNum    = new Random();
            List <int>       nSorteados = new List <int>();
            List <inscricao> sorteados  = new List <inscricao>();

            while (nSorteados.Count < qtdFuncao)
            {
                var n = randNum.Next(0, (lista.Count - 1));
                if (!nSorteados.Contains(n))
                {
                    nSorteados.Add(n);
                }
            }

            foreach (var insc in lista)
            {
                foreach (var n in nSorteados)
                {
                    if (lista.IndexOf(insc) == n)
                    {
                        sorteados.Add(insc);
                        insc.inscricao_sorteada = true;
                        InscricaoRepository.Edit(insc);
                    }
                }

                if (insc.inscricao_sorteada == false)
                {
                    insc.fk_id_funcao = 6;
                    InscricaoRepository.Edit(insc);
                }
            }

            return(sorteados);
        }
Exemplo n.º 7
0
 public ActionResult Delete(int id)
 {
     return(View(InscricaoRepository.GetOne(id)));
 }
Exemplo n.º 8
0
        public ActionResult Edit(int id)
        {
            LoadFormFuncao();

            return(View(InscricaoRepository.GetOne(id)));
        }
Exemplo n.º 9
0
        public ActionResult Sortear(int id, inscricao inscricao, String messageError)
        {
            ViewData["messageError"] = messageError;
            List <inscricao> PromotorSort    = new List <inscricao>();
            List <inscricao> AdvDefesaSort   = new List <inscricao>();
            List <inscricao> EscrivaoSort    = new List <inscricao>();
            List <inscricao> JuradoSort      = new List <inscricao>();
            List <inscricao> OficJusticaSort = new List <inscricao>();
            List <inscricao> Assistente      = new List <inscricao>();
            List <inscricao> SegurancaSort   = new List <inscricao>();
            List <inscricao> ReuSort         = new List <inscricao>();
            List <inscricao> JuizSort        = new List <inscricao>();

            /*  OS CAMPOS ABAIXO ESTÃO COMENTADOS PORQUE DÁ ERRO NO SORTEIO SE NÃO TIVER UMA QUANTIDADE MÍNIMA DE INSCRIÇÕES FEITAS
             *  EM DETERMINADA FUNÇÃO MAIOR QUE O ÚLTIMO NÚMERO DE CADA LINHA DE CÓDIGO. DESCOMENTAR O CÓDIGO ABAIXO QUANDO TIVER
             *  MUITAS INSCRIÇÕES E FOR EXECUTAR O SORTEIO...  */


            // Verificando se há a quantidade mínima de inscrições para fazer o sorteio
            if (InscricaoRepository.GetPromotorByAuthorization(id).Count < 3 ||
                InscricaoRepository.GetAdvogadoDefesaByAuthorization(id).Count < 3 ||
                InscricaoRepository.GetEscrivaoByAuthorization(id).Count < 1 ||
                InscricaoRepository.GetJuradoByAuthorization(id).Count < 25 ||
                InscricaoRepository.GetOficialJusticaoByAuthorization(id).Count < 4 ||
                InscricaoRepository.GetSegurancaByAuthorization(id).Count < 4 ||
                InscricaoRepository.GetReuByAuthorization(id).Count < 1 ||
                InscricaoRepository.GetJuizByAuthorization(id).Count < 1)
            {
                return(RedirectToAction("List", "Juri", new { messageError = "Não é possível realizar o sorteio porque a quantidade de inscrições autorizadas é insuficiente para preencher todas as funções obrigatórias." }));
            }

            // Realizando o sorteio
            PromotorSort    = Sorteio(InscricaoRepository.GetPromotorByAuthorization(id), 3);
            AdvDefesaSort   = Sorteio(InscricaoRepository.GetAdvogadoDefesaByAuthorization(id), 3);
            EscrivaoSort    = Sorteio(InscricaoRepository.GetEscrivaoByAuthorization(id), 1);
            JuradoSort      = Sorteio(InscricaoRepository.GetJuradoByAuthorization(id), 25);
            OficJusticaSort = Sorteio(InscricaoRepository.GetOficialJusticaoByAuthorization(id), 4);
            SegurancaSort   = Sorteio(InscricaoRepository.GetSegurancaByAuthorization(id), 4);
            ReuSort         = Sorteio(InscricaoRepository.GetReuByAuthorization(id), 1);
            JuizSort        = Sorteio(InscricaoRepository.GetJuizByAuthorization(id), 1);
            Assistente      = InscricaoRepository.GetAssistenteByAuthorization(id);


            // Cria uma lista de sorteados do júri simulado
            List <inscricao> sorteados = new List <inscricao>();

            foreach (var sort in PromotorSort)
            {
                sorteados.Add(sort);
            }
            foreach (var sort in AdvDefesaSort)
            {
                sorteados.Add(sort);
            }
            foreach (var sort in EscrivaoSort)
            {
                sorteados.Add(sort);
            }
            foreach (var sort in JuradoSort)
            {
                sorteados.Add(sort);
            }
            foreach (var sort in OficJusticaSort)
            {
                sorteados.Add(sort);
            }
            foreach (var sort in SegurancaSort)
            {
                sorteados.Add(sort);
            }
            foreach (var sort in ReuSort)
            {
                sorteados.Add(sort);
            }
            foreach (var sort in JuizSort)
            {
                sorteados.Add(sort);
            }
            foreach (var sort in Assistente)
            {
                sorteados.Add(sort);
            }

            //Atribui true a juri_sorteado para mostrar que o júri já foi sorteado e que suas inscrições estão encerradas
            juri juri = JuriRepository.GetOne(id);

            juri.juri_sorteado = true;
            JuriRepository.Edit(juri);

            //Cria a lista de presença
            List <inscricao> lst = InscricaoRepository.GetAllByAutorizados(juri.id_juri);

            foreach (var item in lst)
            {
                presenca temp = new presenca();
                temp.pfk_id_juri      = juri.id_juri;
                temp.pfk_id_inscricao = item.id_inscricao;

                PresencaRepository.Create(temp);
            }


            return(View(sorteados));
        }
Exemplo n.º 10
0
 public ActionResult ListByIdJuri(int id, String message, String messageError)
 {
     ViewData["message"]      = message;
     ViewData["messageError"] = messageError;
     return(View(InscricaoRepository.GetAllByIdJuri(id)));
 }
Exemplo n.º 11
0
 public InscricaoService(InscricaoRepository repository)
 {
     _repository = repository;
 }