Ejemplo n.º 1
0
        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"));
            }
        }
Ejemplo n.º 2
0
        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"));
        }