public async Task <IActionResult> Create([FromBody] UniversityRole item)
        {
            if (item == null)
            {
                return(BadRequest());
            }
            await RoleRepository.AddMapping(item);

            return(Created("api/UniversityRole", item));
        }
Esempio n. 2
0
        public bool SynchLoginAndApplicationDatabases(string email, Literal literalControl)
        {
            bool synchResult = true;
            var  manager     = Context.GetOwinContext().GetUserManager <ApplicationUserManager>();

            // Get the role of the user.
            UniversityRole  role = GetUserRole(email);
            ApplicationUser user = manager.FindByName(email);

            switch (role)
            {
            case UniversityRole.None:
                // The user is not an admin or a student. If the user is in AspNetUsers, then delete him/her from AspNetUsers.
                if (user != null)
                {
                    manager.Delete(user);
                }
                break;

            case UniversityRole.Student:
                // If the user is in UniversityDB, but not in AspNetUsers, add the user to AspNetUsers in his/her specified role.
                if (user == null)
                {
                    user = new ApplicationUser()
                    {
                        UserName = email
                    };
                    IdentityResult result = manager.Create(user, "University1#");
                    if (result.Succeeded)
                    {
                        IdentityResult roleResult = manager.AddToRole(user.Id, role.ToString());
                        if (!roleResult.Succeeded)
                        {
                            manager.Delete(user);
                            literalControl.Text = "Cannot create role " + role.ToString() + " for user with email '" + email + "'. Please contact 3311rep.";
                            synchResult         = false;
                        }
                    }
                    else
                    {
                        literalControl.Text = ((string[])result.Errors)[0] + " Please contact 3311rep.";
                        synchResult         = false;
                    }
                }
                break;

            default:
                // No action need for Admin role.
                break;
            }
            return(synchResult);
        }
Esempio n. 3
0
        protected void Page_Load(object sender, EventArgs e)
        {
            UniversityRole role = UniversityRole.None;

            // Hide all menu items.
            // Hide admin menu items.
            liAdminDropDown.Visible                   = false;
            liCreateStudentRecord.Visible             = false;
            liSearchStudentRecord.Visible             = false;
            liDisplayDepartmentStudentRecords.Visible = false;
            // Hide student menu items.
            liEnrollInCourses.Visible        = false;
            liDisplayEnrolledCourses.Visible = false;

            string userId  = HttpContext.Current.User.Identity.GetUserId();
            var    manager = Context.GetOwinContext().GetUserManager <ApplicationUserManager>();

            if (userId != null)
            {
                if (manager.IsInRole(userId, "Admin"))
                {
                    role = UniversityRole.Admin;
                }
                if (manager.IsInRole(userId, "Student"))
                {
                    role = UniversityRole.Student;
                }
            }
            {
                switch (role)
                {
                case UniversityRole.Admin:
                    // Show admin menu items.
                    liAdminDropDown.Visible                   = true;
                    liCreateStudentRecord.Visible             = true;
                    liSearchStudentRecord.Visible             = true;
                    liDisplayDepartmentStudentRecords.Visible = true;
                    break;

                case UniversityRole.Student:
                    // Show student menu items.
                    liEnrollInCourses.Visible        = true;
                    liDisplayEnrolledCourses.Visible = true;
                    break;

                case UniversityRole.None:
                    break;
                }
            }
        }
        public async Task <IActionResult> Get(int universityId, int roleId)
        {
            var item = await RoleRepository.Find(universityId, roleId);

            if (item == null)
            {
                var blankData = new UniversityRole
                {
                    RoleId       = 0,
                    UniversityId = 0
                };
                return(Ok(blankData));
            }
            return(Ok(item));
        }
Esempio n. 5
0
        public UniversityRole GetUserRole(string email)
        {
            // If the user is neither an admin nor a student, return the None role.
            UniversityRole resultRole = UniversityRole.None;

            // If the username is admin, return the Admin role.
            if (email == "admin")
            {
                resultRole = UniversityRole.Admin;
            }

            // Else if the user is a student, return the Student role.
            else if (myUniversityDB.IsUserInRole(UniversityRole.Student.ToString(), "email", email) == 1)
            {
                resultRole = UniversityRole.Student;
            }

            return(resultRole);
        }
        public async Task AddMapping(UniversityRole item)
        {
            await _context.UniversityRoles.AddAsync(item);

            await _context.SaveChangesAsync();
        }