public IActionResult Edit(TeacherInfoViewModel teacher, string id)
        {
            int currentPage = this.GetPagesCountFromString(id);
            int teacherId   = this.GetTeacherIdFromString(id);

            teacher.Id = teacherId.ToString();

            if (!this.ModelState.IsValid)
            {
                return(this.View(teacher));
            }

            var teacherToEdit = this.teachersService.GetTeacherById(int.Parse(teacher.Id));

            using (this.db)
            {
                teacherToEdit.Name       = teacher.Name;
                teacherToEdit.MiddleName = teacher.MiddleName;
                teacherToEdit.LastName   = teacher.LastName;
                teacherToEdit.BirthDate  = teacher.BirthDate;
                teacherToEdit.Gender     = teacher.Gender;
                teacherToEdit.Phone      = teacher.Phone;
                teacherToEdit.Address    = teacher.Address;

                this.db.SaveChanges();
                return(this.RedirectToAction("AllTeachers", new { page = currentPage }));
            }
        }
Exemple #2
0
        public async Task <ActionResult> CompleteTeacherRegistration(string id, TeacherInfoViewModel model)
        {
            if (ModelState.IsValid)
            {
                var user = this.Data.Users.GetById(id);

                if (user == null)
                {
                    return(new HttpStatusCodeResult(400, "Bad Request"));
                }

                var teacher = Mapper.Map <Teacher>(model);
                teacher.Id = id;

                var userStore   = new UserStore <User>(this.Data.Context.DbContext);
                var userManager = new UserManager <User>(userStore);

                this.Data.Teachers.Add(teacher);
                this.Data.SaveChanges();

                userManager.AddToRole(user.Id, GlobalConstants.COMPLETE_USER);
                userManager.RemoveFromRole(user.Id, GlobalConstants.NOT_COMPLETE_USER);

                this.Data.SaveChanges();

                await this.SignInUser(user);

                CreateNotification(id);

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

            return(View());
        }
Exemple #3
0
        public ActionResult TeacherHomePage(string username, string password, string teaid, string requestApproved, string requestDeclined, string declinedReleased)
        {
            booktrackingdbEntities db = new booktrackingdbEntities();

            if (requestApproved == "yes")
            {
                TempData["confirm"] = "Request has been approved.";
            }
            if (requestDeclined == "yes")
            {
                TempData["confirm"] = "Request has been declined.";
            }
            if (declinedReleased == "yes")
            {
                TempData["confirm"] = "Declined request has been released, now you can approve the request.";
            }

            if (teaid != null)
            {
                int id = Convert.ToInt32(teaid);
                username = db.Teachers.Where(x => x.TeacherID == id).FirstOrDefault().email;
                password = db.Teachers.Where(x => x.TeacherID == id).FirstOrDefault().password;
            }

            var model = new TeacherInfoViewModel();

            model.TeacherListing = db.Teachers.Where(x => x.email == username && x.password == password).ToList();

            if (model.TeacherListing.Count() == 0)
            {
                return(RedirectToAction("TeacherLogin", new { status = "login failed" }));
            }
            else
            {
                ViewBag.firstname = model.TeacherListing.FirstOrDefault().FirstName;
                ViewBag.lastname  = model.TeacherListing.FirstOrDefault().LastName;
                ViewBag.email     = model.TeacherListing.FirstOrDefault().email;
                ViewBag.teacherid = model.TeacherListing.FirstOrDefault().TeacherID;

                model.TeacherID = model.TeacherListing.FirstOrDefault().TeacherID;
                int id = ViewBag.teacherid;

                ViewBag.classIDOne   = model.TeacherListing.FirstOrDefault().classIDOne;
                ViewBag.classIDTwo   = model.TeacherListing.FirstOrDefault().classIDTwo;
                ViewBag.classIDThree = model.TeacherListing.FirstOrDefault().classIDThree;

                model.OrderListing = db.Orders.Where(x => x.Status == "Pending" || x.Status == "Approved").ToList();
                model.OrderListing = model.OrderListing.Where(x => x.OClassID == ViewBag.classIDOne || x.OClassID == ViewBag.classIDTwo || x.OClassID == ViewBag.classIDThree).ToList();

                model.DeclinedListing = db.Orders.Where(x => x.Status == "Declined").ToList();
                model.DeclinedListing = model.DeclinedListing.Where(x => x.OClassID == ViewBag.classIDOne || x.OClassID == ViewBag.classIDTwo || x.OClassID == ViewBag.classIDThree).ToList();

                model.StudentListing = db.Students.ToList();
                model.BookListing    = db.Books.ToList();

                return(View(model));
            }
        }
Exemple #4
0
        public ActionResult viewTeacher(int admid)
        {
            booktrackingdbEntities db = new booktrackingdbEntities();

            var model = new TeacherInfoViewModel();

            model.TeacherListing = db.Teachers.ToList();

            return(View(model));
        }
        public async Task<ActionResult> CompleteTeacherRegistration(string id, TeacherInfoViewModel model)
        {
            if (ModelState.IsValid)
            {
                var user = this.Data.Users.GetById(id);

                if (user == null)
                {
                    return new HttpStatusCodeResult(400, "Bad Request");
                }

                var teacher = Mapper.Map<Teacher>(model);
                teacher.Id = id;

                var userStore = new UserStore<User>(this.Data.Context.DbContext);
                var userManager = new UserManager<User>(userStore);

                this.Data.Teachers.Add(teacher);
                this.Data.SaveChanges();

                userManager.AddToRole(user.Id, GlobalConstants.COMPLETE_USER);
                userManager.RemoveFromRole(user.Id, GlobalConstants.NOT_COMPLETE_USER);

                this.Data.SaveChanges();

                await this.SignInUser(user);

                CreateNotification(id);

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

            return View();
        }