public ActionResult Criar(string Funcionario, DateTime Data, string Justificativa) { try { if (ModelState.IsValid) { // Valida se já existe folga aprovada para essa data... bool ExistsFolga = FolgaRepository.Listar().Where(p => p.Data == Data.Date && p.Resposta == RespostaSolicitacao.Aprovado && p.Funcionario.Email == Funcionario).Count() > 0; if (ExistsFolga) { TempData["MensagemAtencao"] = "Já existe uma folga aprovada para este dia! Verifique!"; return(RedirectToAction("Solicitar", "Folga")); } // Valida se a folga está dentro de um período de férias bool ExistsFerias = FeriasRepository.Listar().Where(p => p.Inicio <= Data.Date && p.Fim >= Data.Date && p.Funcionario.Email == Funcionario && p.Resposta == RespostaSolicitacao.Aprovado).Count() > 0; if (ExistsFerias) { TempData["MensagemAtencao"] = "Este dia está dentro de um período de férias! Verifique!"; return(RedirectToAction("Solicitar", "Folga")); } // Cria a folga Folga _folga = new Folga(); FolgaCriar _folgaCriar = new FolgaCriar(); _folgaCriar.Funcionario = Funcionario; _folgaCriar.Data = Data; _folgaCriar.Justificativa = Justificativa; ConversorInsert.AplicarValores(_folgaCriar, _folga); _folga.Funcionario = FuncionarioRepository.PesquisaPeloEmail(_folgaCriar.Funcionario); Repository.Salvar(_folga); Context.SaveChanges(); TempData["Mensagem"] = "Sua folga foi solicitada com sucesso!"; return(RedirectToAction("Solicitar", "Folga")); } return(RedirectToAction("Solicitar")); } catch (Exception) { TempData["MensagemErro"] = "Erro ao solicitar folga!"; return(RedirectToAction("Solicitar")); } }
public ActionResult AprovarRejeitarFolga(Guid Id, RespostaSolicitacao resposta) { try { var folga = FolgaRepository.PesquisarPeloId(Id); folga.Resposta = resposta; Context.SaveChanges(); TempData["Mensagem"] = "Folga Aprovada/Rejeitada!"; } catch (Exception) { TempData["MensagemErro"] = "Erro ao Aprovar/Rejeitar folga!"; throw; } return(RedirectToAction("Index")); }