Пример #1
0
        private void UserRoleChange(ApplicationUser oldUser, ApplicationUser newUser)
        {
            var oldRole = roleHelper.ListUserRoles(oldUser.Id).FirstOrDefault();
            var newRole = roleHelper.ListUserRoles(newUser.Id).FirstOrDefault();

            if (oldRole != newRole)
            {
                CreateUserHistory(newUser.Id, oldRole, newRole, "Role");
            }
        }
Пример #2
0
        public bool CanCreateProject()
        {
            var userId = HttpContext.Current.User.Identity.GetUserId();
            var myRole = userRoleHelper.ListUserRoles(userId).FirstOrDefault();

            switch (myRole)
            {
            case "Admin":
            case "ProjectManager":
                return(true);

            default:
                return(false);
            }
        }
Пример #3
0
        public static bool TicketDetailViewable()
        {
            var userId = HttpContext.Current.User.Identity.GetUserId();

            var roleName   = roleHelper.ListUserRoles(userId).FirstOrDefault();
            var systemRole = (SystemRole)Enum.Parse(typeof(SystemRole), roleName);

            switch (systemRole)
            {
            case SystemRole.Admin:
                break;

            case SystemRole.ProjectManager:
                break;

            case SystemRole.Developer:
                break;

            case SystemRole.Submitter:
                break;
            }
            return(true);
        }
Пример #4
0
        //private HistoryHelper historyHelper = new HistoryHelper();
        //private NotificationHelper notificationHelper = new NotificationHelper();

        #region ticket Permission methods
        public bool CanEditTicket(int ticketId)
        {
            var userId = HttpContext.Current.User.Identity.GetUserId();
            var myRole = userRoleHelper.ListUserRoles(userId).FirstOrDefault();

            switch (myRole)
            {
            case "Admin":
                return(true);

            case "ProjectManager":
                var user = db.Users.Find(userId);
                return(user.Projects.SelectMany(p => p.Tickets).Any(t => t.Id == ticketId));

            case "Developer":
                var ticket = db.Tickets.Find(ticketId);
                if (ticket.DeveloperId == userId || ticket.SubmitterId == userId)
                {
                    return(true);
                }
                else
                {
                    return(false);
                }

            default:
                return(false);
            }
        }