コード例 #1
0
ファイル: AccountController.cs プロジェクト: RoganMelo/MizeUP
        public ActionResult ChangePassword(StudentModel editedModel, string ActualPassword)
        {
            try
            {
                using (ISession session = NHibernateHelper.OpenSession())
                {
                    StudentModel model = session.Get<StudentModel>(editedModel.Id);

                    if (model.Password.Equals(ActualPassword))
                    {
                        if (editedModel.Password.Equals(editedModel.ConfirmPassword))
                        {
                            model.Password = editedModel.Password;

                            using (ITransaction transaction = session.BeginTransaction())
                            {
                                session.Save(model);
                                transaction.Commit();
                            }
                        }
                        else
                        {
                            ModelState.AddModelError("", Languages.InvalidConfirmPassword);

                            ViewBag.Institutions = session.Query<InstitutionModel>().ToList();

                            return RedirectToAction("Edit", "Student");
                        }
                    }
                    else
                    {
                        ModelState.AddModelError("", Languages.InvalidEmailOrPassword);

                        ViewBag.Institutions = session.Query<InstitutionModel>().ToList();

                        return RedirectToAction("Edit", "Student");
                    }
                }

                return RedirectToAction("Index", "Home").WithMessage(Languages.Success, "alert-success", "glyphicon glyphicon-ok-sign");
            }
            catch (PropertyValueException)
            {
                ModelState.AddModelError("", Languages.InvalidModelState);

                using (ISession session = NHibernateHelper.OpenSession())
                {
                    ViewBag.Institutions = session.Query<InstitutionModel>().ToList();
                }

                return View();
            }
            catch (System.Exception)
            {
                return RedirectToAction("Index", "Home").WithMessage(Languages.Error, "alert-danger", "glyphicon glyphicon-remove-sign");
            }
        }
コード例 #2
0
ファイル: StudentController.cs プロジェクト: RoganMelo/MizeUP
        public ActionResult Edit(StudentModel editedModel, int Level)
        {
            try
            {
                using (ISession session = NHibernateHelper.OpenSession())
                {
                    StudentModel model = session.Get<StudentModel>(editedModel.Id);

                    model.Level = session.Get<LevelModel>(Level);
                    model.Email = editedModel.Email;
                    model.Name = editedModel.Name;
                    model.LastName = editedModel.LastName;

                    using (ITransaction transaction = session.BeginTransaction())
                    {
                        session.Save(model);
                        transaction.Commit();

                        Session["LoggedAccount"] = new StudentModel()
                        {
                            Id = model.Id,
                            Name = model.Name,
                            LastName = model.LastName,
                            Email = model.Email
                        };
                    }

                    return RedirectToAction("Index", "Home").WithMessage(Languages.Success, "alert-success", "glyphicon glyphicon-ok-sign");
                }
            }
            catch (PropertyValueException)
            {
                ModelState.AddModelError("", Languages.InvalidModelState);

                using (ISession session = NHibernateHelper.OpenSession())
                {
                    ViewBag.Institutions = session.Query<InstitutionModel>().ToList();
                }

                return View();
            }
            catch(System.Exception)
            {
                return RedirectToAction("Index", "Home").WithMessage(Languages.Error, "alert-danger", "glyphicon glyphicon-remove-sign");
            }
        }
コード例 #3
0
        public ActionResult Index(SyllabusModel model)
        {
            using (ISession session = NHibernateHelper.OpenSession())
            {
                IList<SubjectModel> subjects = session.Query<SubjectModel>().ToList();
                // criar uma classe para receber a posição e o nome da disciplina

                List<String> primeiraColuna = new List<String>();
                string[,] matriz;

                foreach (var subject in subjects)
                {
                    primeiraColuna.Sort();
                    foreach (var horario in subject.Schedules)
                    {
                        bool jaTem = false;
                        foreach (var linha in primeiraColuna)
                        {
                            if (linha == horario.StartTime.ToShortTimeString())
                            {
                                jaTem = true;
                                break;
                            }
                        }
                        if (!jaTem)
                            primeiraColuna.Add(horario.StartTime.ToShortTimeString());
                        // adiciona um item a primeira coluna, a coluna dos horários.
                    }
                }

                // Esta matriz irá guardar a tabela em si
                matriz = new string[primeiraColuna.Count, 7];

                for (int i = 0; i < primeiraColuna.Count; i++)
                {
                    for (int j = 0; j < 7; j++)
                    {
                        matriz[i, j] = "-";
                    }
                }

                foreach (var subject in subjects)
                {
                    // Passa por todas as disciplinas
                    foreach (var horario in subject.Schedules)
                    {
                        // Passa por todos os horários
                        for (int i = 0; i < primeiraColuna.Count; i++)
                        {
                            // se o horário da disciplina for compatível com o horário do FOR atual
                            if (primeiraColuna[i] == horario.StartTime.ToShortTimeString())
                            {
                                // então adicione o nome na matriz na posição i (dia da semana), horário
                                matriz[i, Int16.Parse("" + horario.Day) - 1] = horario.Subject.Name;
                                // é aqui que colocaria o segundo dia...
                            }
                        }
                    }

                    ViewBag.viewBagMatriz = matriz;
                    ViewBag.primeiraColuna = primeiraColuna;
                }

                IList<Object> objetives = new List<Object>();

                objetives.Add(new
                {
                    Id = '1',
                    Name = "ENEM"
                });
                objetives.Add(new
                {
                    Id = '2',
                    Name = "Prova"
                });
                objetives.Add(new
                {
                    Id = '3',
                    Name = "Concurso"
                });

                ViewBag.Objectives = new SelectList(objetives, "Id", "Name");

                StudentModel account = Session["LoggedAccount"] as StudentModel;

                StudentModel student = session.Get<StudentModel>(account.Id);

                model.Student = student;

                using (ITransaction transaction = session.BeginTransaction())
                {
                    session.Save(model);

                    SyllabusModel syllabus = session.Get<SyllabusModel>(model.Id);

                    student.Syllabus = syllabus;

                    session.Save(student);

                    Session["LoggedAccount"] = new StudentModel()
                    {
                        Id = student.Id,
                        Name = student.Name,
                        LastName = student.LastName,
                        Email = student.Email,
                        Syllabus = student.Syllabus
                    };

                    transaction.Commit();
                }
            }

            return RedirectToAction("Index", "Syllabus");
        }
コード例 #4
0
ファイル: AccountController.cs プロジェクト: RoganMelo/MizeUP
        public ActionResult LogIn(string Email, string Password)
        {
            using (ISession session = NHibernateHelper.OpenSession())
            {
                IList<StudentModel> models = session.Query<StudentModel>().ToList();

                foreach (StudentModel model in models)
                {
                    if (model.Email.Equals(Email) && model.Password.Equals(Password))
                    {
                        Session["LoggedAccount"] = new StudentModel()
                        {
                            Id = model.Id,
                            Name = model.Name,
                            LastName = model.LastName,
                            Email = model.Email,
                            Syllabus = model.Syllabus
                        };

                        return RedirectToAction("Index", "Home");
                    }
                }

                return RedirectToAction("Index", "Home").WithMessage(Languages.InvalidEmailOrPassword, "alert-danger", "glyphicon glyphicon-remove-sign");
            }
        }