예제 #1
0
        // GET: /Ferias/Create
        public ActionResult Create(int idAluno)
        {
            if (TipoPlano.Selecionar(Aluno.Selecionar(idAluno).tipoPlano).descricao.Equals("MENSAL"))
            {
                return(RedirectToAction("Index", "Ferias", new { idAluno = idAluno }));
            }

            if (Pagamento.SelecionarTodos(idAluno).Count > 0)
            {
                Pagamento pg = Pagamento.SelecionarTodos(idAluno).OrderByDescending(x => x.dataProxima).ToList()[0];

                if (DateTime.Now >= pg.dataProxima)
                {
                    return(RedirectToAction("Index", "Ferias", new { idAluno = idAluno }));
                }
                else
                {
                    int qtdeFeriasExistentes = pg.dataProxima.AddDays(-1).Subtract(pg.dataBaseFim).Days;

                    if (qtdeFeriasExistentes >= 30)
                    {
                        return(RedirectToAction("Index", "Ferias", new { idAluno = idAluno }));
                    }
                    else
                    {
                        if (Ferias.SelecionarTodos(idAluno, pg.dataBaseFim).Count >= 3)
                        {
                            return(RedirectToAction("Index", "Ferias", new { idAluno = idAluno }));
                        }
                    }
                }
            }
            else
            {
                return(RedirectToAction("Index", "Ferias", new { idAluno = idAluno }));
            }

            Ferias ferias = new Ferias();

            ferias.idAluno    = idAluno;
            ferias.dataInicio = DateTime.Now;
            ferias.dataFim    = DateTime.Now;

            return(View(ferias));
        }
예제 #2
0
        // GET: /Ferias/
        public ActionResult Index(int idAluno)
        {
            ViewData["idAluno"] = idAluno;
            ViewData["Erro"]    = "";

            if (TipoPlano.Selecionar(Aluno.Selecionar(idAluno).tipoPlano).descricao.Equals("MENSAL"))
            {
                ViewData["Erro"] = "O plano do aluno " + Aluno.Selecionar(idAluno).nome + " não possui direito a férias";
            }

            if (Pagamento.SelecionarTodos(idAluno).Count > 0)
            {
                Pagamento pg = Pagamento.SelecionarTodos(idAluno).OrderByDescending(x => x.dataProxima).ToList()[0];

                if (DateTime.Now >= pg.dataProxima)
                {
                    ViewData["Erro"] = "O aluno está inadimplente e não é possivel gerar novas férias";
                }
                else
                {
                    int qtdeFeriasExistentes = pg.dataProxima.AddDays(-1).Subtract(pg.dataBaseFim).Days;

                    if (qtdeFeriasExistentes >= 30)
                    {
                        ViewData["Erro"] = "O aluno já excedeu a quantidade permitida de dias de férias para o plano vigente";
                    }
                    else
                    {
                        if (Ferias.SelecionarTodos(idAluno, pg.dataBaseFim).Count >= 3)
                        {
                            ViewData["Erro"] = "O aluno já excedeu a quantidade permitida de períodos de férias";
                        }
                    }
                }
            }
            else
            {
                ViewData["Erro"] = "O aluno não possui plano vigente para solicitar férias";
            }



            return(View(Ferias.SelecionarTodos(idAluno).OrderByDescending(x => x.dataInicio).ToList()));
        }
예제 #3
0
        // GET: /Pagamento/Delete/5
        public ActionResult Delete(int?id)
        {
            ViewData["Erro"] = "";

            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Pagamento pagamento = Pagamento.Selecionar(id.Value);

            if (pagamento == null)
            {
                return(HttpNotFound());
            }

            if (Ferias.SelecionarTodos(pagamento.idAluno, pagamento.dataBaseFim).Count > 0)
            {
                ViewData["Erro"] = "Não é possivel excluir este pagamento pois existem férias lançadas para este contrato";
            }

            return(View(pagamento));
        }