Esempio n. 1
0
        public ActionResult Criar(string Funcionario, DateTime Inicio, DateTime Fim, string Justificativa)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    Ferias      _ferias      = new Ferias();
                    FeriasCriar _feriasCriar = new FeriasCriar();
                    _feriasCriar.Funcionario   = Funcionario;
                    _feriasCriar.Inicio        = Inicio;
                    _feriasCriar.Fim           = Fim;
                    _feriasCriar.Funcionario   = Funcionario;
                    _feriasCriar.Justificativa = Justificativa;
                    ConversorInsert.AplicarValores(_feriasCriar, _ferias);
                    _ferias.Funcionario = FuncionarioRepository.PesquisaPeloEmail(_feriasCriar.Funcionario);

                    Repository.Salvar(_ferias);
                    Context.SaveChanges();

                    TempData["Mensagem"] = "Suas férias foram solicitadas com sucesso!";

                    return(RedirectToAction("Solicitar", "Ferias"));
                }
                return(RedirectToAction("Solicitar"));
            }
            catch (Exception)
            {
                TempData["MensagemErro"] = "Erro ao solicitar férias!";
                return(RedirectToAction("Solicitar"));
            }
        }
        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 Criar(SolicitacaoCriar SolicitacaoNovo)
        {
            Solicitacao Solicitacao = new Solicitacao();

            ConversorInsert.AplicarValores(SolicitacaoNovo, Solicitacao);

            //Pega o Funcionario pelo Email
            Solicitacao.Funcionario = FuncionarioRepository.PesquisaPeloEmail(SolicitacaoNovo.Funcionario);

            if (SolicitacaoNovo.Tipo != TipoSolicitacao.Inclusao)
            {
                //Pega ponto pelo GUID
                Solicitacao.Ponto = PontoRepository.PesquisarPeloId(SolicitacaoNovo.Ponto);
            }

            Repository.Salvar(Solicitacao);
            Context.SaveChanges();

            TempData["Mensagem"] = "Solicitação criada com sucesso!";
            return(RedirectToAction("Lista", "Ponto"));
        }