public void AtribuirHoras(presenca presenca) { var usuario = presenca.inscricao.usuario; var inscricao = presenca.inscricao; var juri = presenca.juri; presenca.horas_certif = calcularHoras(presenca).ToString(); }
public void Save(presenca entity) { DataModel.Entry(entity).State = entity.id_presenca == 0 ? EntityState.Added : EntityState.Modified; DataModel.SaveChanges(); }
public ActionResult List(presenca entity, String message) { ViewData["message"] = message; if (string.IsNullOrEmpty(entity.inscricao.usuario.num_matric_aluno) && string.IsNullOrEmpty(entity.inscricao.usuario.nome_completo) && (entity.inscricao.funcao.id_funcao == 0) && (entity.pfk_id_juri == 0)) { return View(PresencaRepository.GetAll()); } else { return View(PresencaRepository.GetAllByCriteria(entity.inscricao.usuario.nome_completo ?? "", entity.inscricao.funcao.id_funcao, entity.pfk_id_juri)); } }
public ActionResult Index(presenca presenca) { LoadFormJuri(); var idUser = ((Sisjuri.Models.usuario)Session["usuario"]).id_usuario; var presencaJuri = PresencaRepository.GetOneByJuriAndPresenca(presenca.pfk_id_juri, idUser ); if (validate(presencaJuri)) { return View(presenca); } else { AtribuirHoras(presencaJuri); presenca = presencaJuri; PresencaRepository.Edit(presenca); return RedirectToAction("GerarCertificado", new { idJuri = presenca.pfk_id_juri, idUsuario = idUser }); } }
//Calcular horas do certificado public TimeSpan calcularHoras(presenca presenca) { var usuario = presenca.inscricao.usuario; var inscricao = presenca.inscricao; var juri = presenca.juri; TimeSpan qtdeHoras = TimeSpan.Zero; TimeSpan ref2hrs = new TimeSpan(2, 0, 0); TimeSpan ref3hrs = new TimeSpan(3, 0, 0); TimeSpan ref4hrs = new TimeSpan(4, 0, 0); TimeSpan ref5hrs = new TimeSpan(5, 0, 0); if (inscricao.fk_id_funcao == 1 || inscricao.fk_id_funcao == 2 || inscricao.fk_id_funcao == 9) { qtdeHoras = new TimeSpan(15, 0, 0); } if (inscricao.fk_id_funcao == 3 || inscricao.fk_id_funcao == 4 || inscricao.fk_id_funcao == 5 || inscricao.fk_id_funcao == 7 || inscricao.fk_id_funcao == 8) { qtdeHoras = new TimeSpan(5, 0, 0); } if (inscricao.fk_id_funcao == 6 && presenca.pres_saida_total == true && presenca.pres_saida_parcial == false) { qtdeHoras = new TimeSpan(5, 0, 0); } if (inscricao.fk_id_funcao == 6 && presenca.pres_saida_total == false && presenca.pres_saida_parcial == true) { var calcHoras = presenca.hora_saida_parcial - juri.data_hora_juri.TimeOfDay; if (calcHoras < ref2hrs) { qtdeHoras = ref2hrs; } if (calcHoras > ref2hrs && calcHoras < ref3hrs) { qtdeHoras = ref3hrs; } if (calcHoras > ref3hrs && calcHoras < ref5hrs) { qtdeHoras = ref4hrs; } } return qtdeHoras; }
public bool validate(presenca entity) { bool retorno = false; if (entity != null) { if (entity.pres_saida_parcial == false && entity.pres_saida_total == false) { ModelState.AddModelError("", "Você não participou deste júri simulado"); retorno = true; } } else { ModelState.AddModelError("", "Você não participou deste júri simulado"); retorno = true; } return retorno; }
public void Delete(presenca entity) { DataModel.presenca.Remove(entity); DataModel.SaveChanges(); }
public void Edit(presenca entity) { Save(entity); }
public void Create(presenca entity) { Save(entity); }
public ActionResult Edit(int id, int idJuri, presenca presenca) { LoadFormJuri(); LoadFormFuncao(); try { PresencaRepository.Edit(presenca); return RedirectToAction("ListAllByAutorizados", new { id = presenca.pfk_id_juri, idJuri = presenca.pfk_id_juri, message = "Dados editados com sucesso!" }); } catch { return View(); } }
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); }