예제 #1
0
        public ActionResult Create([Bind(Include = "id,idAluno,valor,dataProxima,dataBaseInicio,dataBaseFim")] Pagamento pagamento)
        {
            if (pagamento.valor > TipoPlano.Selecionar(Aluno.Selecionar(pagamento.idAluno).tipoPlano).valor)
            {
                ModelState.AddModelError("valor", "O valor pago não pode ser maior que o valor do plano atual");
            }

            if (ModelState.IsValid)
            {
                if (TipoPlano.Selecionar(Aluno.Selecionar(pagamento.idAluno).tipoPlano).descricao.Equals("MENSAL"))
                {
                    pagamento.dataBaseFim = pagamento.dataBaseInicio.AddMonths(1);
                    pagamento.dataProxima = pagamento.dataBaseInicio.AddMonths(1);
                }
                else
                {
                    pagamento.dataBaseFim = pagamento.dataBaseInicio.AddYears(1);
                    pagamento.dataProxima = pagamento.dataBaseInicio.AddYears(1);
                }

                pagamento.dataProxima = pagamento.dataProxima.AddDays(1);

                Pagamento.Incluir(pagamento);
                return(RedirectToAction("Index", new { idAluno = pagamento.idAluno }));
            }

            return(View(pagamento));
        }
예제 #2
0
        // GET: /Pagamento/Create
        public ActionResult Create(int idAluno)
        {
            Pagamento pg = new Pagamento();

            pg.idAluno = idAluno;
            pg.valor   = TipoPlano.Selecionar(Aluno.Selecionar(idAluno).tipoPlano).valor;

            return(View(pg));
        }
예제 #3
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));
        }
예제 #4
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()));
        }