public void Save(presenca entity) { DataModel.Entry(entity).State = entity.id_presenca == 0 ? EntityState.Added : EntityState.Modified; DataModel.SaveChanges(); }
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 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 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()); } }
//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 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 })); } }
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 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)); }