Пример #1
0
        public FYPRole GetUserRole(string username)
        {
            FYPRole role = FYPRole.None;

            if (username == "coordinator")
            {
                role = FYPRole.Coordinator;
            }
            else
            {
                if (myOracleDBAccess.GetAggregateValue("Login", "select count(*) from Faculty where username='******'") == 1)
                {
                    role = FYPRole.Faculty;
                }
                else if (myOracleDBAccess.GetAggregateValue("Login", "select count(*) from CSEStudent where username='******'") == 1)
                {
                    role = FYPRole.Student;
                }
            }
            return(role);
        }
Пример #2
0
        public void SynchLogin(string username)
        {
            IdentityResult roleResult = new IdentityResult();
            var            manager    = Context.GetOwinContext().GetUserManager <ApplicationUserManager>();

            // Set the role of the user.
            FYPRole role = myDBHelpers.GetUserRole(username);

            switch (role)
            {
            case FYPRole.Coordinator:
                break;

            case FYPRole.Faculty:
                ApplicationUser facultyUser = manager.FindByName(username);
                // If the username is not in AspNetUsers, then add the username in the Faculty role.
                if (facultyUser == null)
                {
                    facultyUser = new ApplicationUser()
                    {
                        UserName = username
                    };
                    IdentityResult result = manager.Create(facultyUser, "FYProject1#");
                    if (result.Succeeded)
                    {
                        roleResult = manager.AddToRole(facultyUser.Id, "Faculty");
                        if (!roleResult.Succeeded)
                        {
                            MessageBox.Show(roleResult.Errors.FirstOrDefault());
                        }
                    }
                    else
                    {
                        MessageBox.Show(result.Errors.FirstOrDefault());
                    }
                }
                break;

            case FYPRole.Student:
                ApplicationUser studentUser = manager.FindByName(username);
                // If the username is not in AspNetUsers, then add the username in the Faculty role.
                if (studentUser == null)
                {
                    studentUser = new ApplicationUser()
                    {
                        UserName = username
                    };
                    IdentityResult result = manager.Create(studentUser, "FYProject1#");
                    if (result.Succeeded)
                    {
                        roleResult = manager.AddToRole(studentUser.Id, "Student");
                        if (!roleResult.Succeeded)
                        {
                            MessageBox.Show(roleResult.Errors.FirstOrDefault());
                        }
                    }
                    else
                    {
                        MessageBox.Show(result.Errors.FirstOrDefault());
                    }
                }
                break;

            case FYPRole.None:
                ApplicationUser noUser = manager.FindByName(username);
                // If the username is in AspNetUsers, then delete it.
                if (noUser != null)
                {
                    manager.Delete(noUser);
                }
                break;
            }
        }