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)); } }
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); }
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 ?? ""))); } }
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()); } }
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()); } }
// 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); }
public ActionResult Delete(int id) { return(View(InscricaoRepository.GetOne(id))); }
public ActionResult Edit(int id) { LoadFormFuncao(); return(View(InscricaoRepository.GetOne(id))); }
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)); }
public ActionResult ListByIdJuri(int id, String message, String messageError) { ViewData["message"] = message; ViewData["messageError"] = messageError; return(View(InscricaoRepository.GetAllByIdJuri(id))); }
public InscricaoService(InscricaoRepository repository) { _repository = repository; }