Esempio n. 1
0
        public async Task <ActionResult> RegisterLecturer(LecturerRegisterModel model)
        {
            if (ModelState.IsValid)
            {
                ApplicationUser user = new Domain.Core.Lecturer()
                {
                    BirthDate   = model.BirthDate,
                    FirstName   = model.FirstName,
                    MiddleName  = model.MiddleName,
                    LastName    = model.LastName,
                    Gender      = model.Gender,
                    PhoneNumber = model.Phone,
                    UserName    = model.Login,
                    Department  = model.Department,
                    Email       = model.Email
                };

                IdentityResult result = await UserManager.CreateAsync(user, model.Password);

                if (result.Succeeded)
                {
                    UserManager.AddToRole(user.Id, "teacher");
                    _logger.Info("Method RegisterLecturer(Post). Lecturer was succes registered.");
                    return(RedirectToAction("LecturerList"));
                }

                foreach (string error in result.Errors)
                {
                    ModelState.AddModelError("", error);
                    _logger.Error("RegisterLecturer method of controller Admin: Error creating a user.", error);
                }
            }
            return(View(model));
        }
        /// <summary>
        /// View info about lecturer.
        /// </summary>
        public ActionResult Index()
        {
            Domain.Core.Lecturer user = (Domain.Core.Lecturer)UserManager.FindByNameAsync(User.Identity.Name).Result;
            if (user != null)
            {
                return(View(user));
            }
            _logger.Warn("Index method of controller Lecturer: user=null, user received HttpUnauthorizedResult");

            return(HttpNotFound());
        }
        /// <returns>All courses from db.</returns>
        public ActionResult CourseList()
        {
            Domain.Core.Lecturer user = (Domain.Core.Lecturer)UserManager.FindByNameAsync(User.Identity.Name).Result;
            if (user != null)
            {
                var courses = _courseRepository.GetAll().ToList();
                courses = courses.Where(course => course.Lecturer.IfNotNull(l => l.UserName.Equals(user.UserName)))
                          .ToList();
                if (courses.Count != 0)
                {
                    return(PartialView(courses));
                }

                return(new ContentResult {
                    Content = "<p>You are not assigned to any course.</p>"
                });
            }

            _logger.Warn("CourseList method of controller Lecturer: user=null, user received HttpUnauthorizedResult");
            return(HttpNotFound());
        }