示例#1
0
        private async Task UpdateUserAndUserRole(UniUser user, string newRoleName)
        {
            var res1 = await UserManager.RemoveFromRoleAsync(user.Id, user.Role);

            var res2 = await UserManager.AddToRoleAsync(user.Id, newRoleName);

            user.Role = newRoleName;
            var oldUser = db.Users.Find(user.Id);

            db.Entry(oldUser).CurrentValues.SetValues(user);
            db.SaveChanges();
        }
示例#2
0
        // GET: Users/Details/5
        public ActionResult Details(string id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            UniUser uniUser = db.Users.Find(id);

            if (uniUser == null)
            {
                return(HttpNotFound());
            }
            return(View(uniUser));
        }
示例#3
0
        public async Task <ActionResult> DeleteConfirmed(string id)
        {
            var isadmin = await userIsAdmin(id);

            if (isadmin)
            {
                return(RedirectToAction("Index"));
            }

            UniUser uniUser = db.Users.Find(id);

            db.Users.Remove(uniUser);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
        public CoursesForRegistrationViewModel(IEnumerable <Course> courses, UniUser user)
        {
            Courses = new List <RegistrationCourse>();
            foreach (var course in courses)
            {
                RegistrationCourse registrationCourse = new RegistrationCourse();
                registrationCourse.Id      = course.Id;
                registrationCourse.Name    = course.Name;
                registrationCourse.Teacher = course.Teacher;

                if (course.Students.Any(x => x.Id == user.Id))
                {
                    registrationCourse.AlreadyRegistered = true;
                    registrationCourse.Message           = "You have already registered for this course.";
                }
                Courses.Add(registrationCourse);
            }
            Student = user;
        }
示例#5
0
        // GET: UsersManagement/Delete/5
        public async Task <ActionResult> Delete(string id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            UniUser uniUser = db.Users.Find(id);

            if (uniUser == null)
            {
                return(HttpNotFound());
            }
            var isadmin = await userIsAdmin(id);

            if (isadmin)
            {
                return(View("Index"));
            }
            return(View(uniUser));
        }
示例#6
0
        // GET: UsersManagement/Edit/5
        public async Task <ActionResult> Edit(string id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            UniUser uniUser = db.Users.Find(id);

            uniUser.Role = await GetUserRole(uniUser.Id);

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

            var model = new UserCreationViewModel();

            model.UserRoles    = UserRoles;
            model.User         = uniUser;
            model.SelectedRole = uniUser.Role;

            return(View(model));
        }
 public StudentGradesViewModel(Course course, UniUser student, IEnumerable <Grade> grades)
 {
     Student = student;
     Grades  = grades;
     Course  = course;
 }
示例#8
0
        public static void InitializeIdentity(UniContext context)
        {
            var userManager = new UniUserManager(new UserStore <UniUser>(context));
            var roleManager = new UniRoleManager(new RoleStore <IdentityRole>(context));

            const string name     = "*****@*****.**";
            const string password = "******";

            //Create Role Admin if it does not exist
            var adminRole = roleManager.FindByName("Admin");

            if (adminRole == null)
            {
                adminRole = new IdentityRole("Admin");
                var roleresult = roleManager.Create(adminRole);
            }
            //create Role Student if it does not exist
            var teacherRole = roleManager.FindByName("Teacher");

            if (teacherRole == null)
            {
                teacherRole = new IdentityRole("Teacher");
                var roleresult = roleManager.Create(teacherRole);
            }
            //create Role Teacher if it does not exist
            var studentRole = roleManager.FindByName("Student");

            if (studentRole == null)
            {
                studentRole = new IdentityRole("Student");
                var roleresult = roleManager.Create(studentRole);
            }

            var user = userManager.FindByName(name);

            if (user == null)
            {
                user = new UniUser {
                    UserName = name, Email = name, FirstName = name, LastName = name
                };
                var result = userManager.Create(user, password);

                var a = result;
            }

            // Add user admin to Role Admin if not already added
            var rolesForUser = userManager.GetRoles(user.Id);

            if (!rolesForUser.Contains(adminRole.Name))
            {
                var result = userManager.AddToRole(user.Id, adminRole.Name);
            }

            var students = new List <UniUser>
            {
                new UniUser {
                    FirstName = "Jan", LastName = "Kowalski", UserName = "******", Email = "*****@*****.**"
                },
                new UniUser {
                    FirstName = "Jan2", LastName = "Kowalski2", UserName = "******", Email = "*****@*****.**"
                },
                new UniUser {
                    FirstName = "Jan3", LastName = "Kowalski3", UserName = "******", Email = "*****@*****.**"
                },
                new UniUser {
                    FirstName = "Jan4", LastName = "Kowalski4", UserName = "******", Email = "*****@*****.**"
                },
                new UniUser {
                    FirstName = "Jan5", LastName = "Kowalski5", UserName = "******", Email = "*****@*****.**"
                }
            };
            var teachers = new List <UniUser>
            {
                new UniUser {
                    FirstName = "Pan", LastName = "Nauczyciel", UserName = "******", Email = "*****@*****.**"
                },
                new UniUser {
                    FirstName = "Michal", LastName = "Wykladowca", UserName = "******", Email = "*****@*****.**"
                }
            };

            students.ForEach(s =>
            {
                var res  = userManager.Create(s, password);
                var res2 = userManager.AddToRole(s.Id, studentRole.Name);
            }
                             );
            teachers.ForEach(s =>
            {
                var res  = userManager.Create(s, password);
                var res2 = userManager.AddToRole(s.Id, teacherRole.Name);
            }
                             );

            //courses
            Course course = new Course()
            {
                Name = "Analiza matematyczna 1"
            };

            course.Teacher = teachers[0];
            context.Courses.Add(course);
            context.SaveChanges();
            Course course1 = new Course()
            {
                Name = "Analiza matematyczna 2"
            };

            course1.Teacher = teachers[0];
            context.Courses.Add(course1);
            context.SaveChanges();

            Course course2 = new Course()
            {
                Name = "Algebra liniowa 1"
            };

            course2.Teacher = teachers[1];
            context.Courses.Add(course2);
            context.SaveChanges();

            DatabaseOperationsUtility.RegisterStudentForCourse(context, students[0].Id, course2.Id);

            context.SaveChanges();
        }