當前位置: 首頁>>代碼示例>>C#>>正文


C# Application.IsCreatedBy方法代碼示例

本文整理匯總了C#中iSolutions.iApply.DataContract.Application.IsCreatedBy方法的典型用法代碼示例。如果您正苦於以下問題:C# Application.IsCreatedBy方法的具體用法?C# Application.IsCreatedBy怎麽用?C# Application.IsCreatedBy使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在iSolutions.iApply.DataContract.Application的用法示例。


在下文中一共展示了Application.IsCreatedBy方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的C#代碼示例。

示例1: IsOrganisationEntitled

        /// <summary>
        /// Returns <see langword="true"/> if the user / session has the correct organisation
        /// entitlements to view <paramref name="application"/>, otherwise returns
        /// <see langword="false"/>.
        /// </summary>
        /// <param name="session">The user session.</param>
        /// <param name="application">The application.</param>
        /// <returns>
        /// <see langword="true"/> if the user / session has the correct organisation
        /// entitlements to view <paramref name="application"/>, otherwise <see langword="false"/>.
        /// </returns>
        private bool IsOrganisationEntitled(SecureSession session, Application application)
        {
            if (session == null || session.AuthenticatedUser == null)
            {
                // Have to assume public users are entitled to all orgs.
                return true;
            }

            if (session.AuthenticatedUser != null && session.AuthenticatedUser.AccountType == AccountType.Service)
            {
                return true;
            }

            // Ignore org entitlements for originator and assignee.
            string compareTo = this.GetSessionUserId(session);
            if (application.IsCreatedBy(compareTo) || application.IsAssignedTo(compareTo))
            {
                return true;
            }

            return !string.IsNullOrEmpty(application.OrganisationId) && session.AuthenticatedUser.GetAllOrganisations().ContainsKey(application.OrganisationId);
        }
開發者ID:cgavieta,項目名稱:WORKPAC2016-poc,代碼行數:33,代碼來源:ApplicationEntitlementProvider.cs

示例2: DetermineRolesForUser

        /// <summary>
        /// Determines the applicable roles for <paramref name="session"/>.
        /// </summary>
        /// <param name="session">Contains session and user information used to determine access rights.</param>
        /// <param name="roleList">The list of roles.</param>
        /// <param name="application">The application, if relevant Defaults to <see langword="null"/>.</param>
        /// <returns>The applicable roles for <paramref name="session"/>.</returns>
        private Dictionary<string, string> DetermineRolesForUser(SecureSession session, RoleList roleList, Application application = null)
        {
            session = session ?? new SecureSession();
            application = application ?? new Application();
            Role publicRole = roleList.FirstOrDefault(r => r.SystemDefined && r.RoleName == SecurityConstants.PublicRoleName);
            Dictionary<string, string> roleDict = publicRole == null ? new Dictionary<string, string>() : new Dictionary<string, string> { { publicRole.Id, publicRole.RoleName } };

            string compareTo = this.GetSessionUserId(session);
            if (application.IsCreatedBy(compareTo))
            {
                Role originatorRole = roleList.FirstOrDefault(r => r.SystemDefined && r.RoleName == SecurityConstants.OriginatorRoleName);
                if (originatorRole != null)
                {
                    roleDict.Add(originatorRole.Id, originatorRole.RoleName);
                }
            }

            if (session.AuthenticatedUser == null)
            {
                return roleDict;
            }

            if (session.AuthenticatedUser.IsAdministrator())
            {
                foreach (var role in roleList)
                {
                    if (roleDict.ContainsKey(role.Id))
                    {
                        continue;
                    }

                    roleDict.Add(role.Id, role.RoleName);
                }

                return roleDict;
            }

            foreach (var userRole in session.AuthenticatedUser.Roles)
            {
                if (roleList.Exists(role => role.Id == userRole.Key && role.Enabled))
                {
                    roleDict.Add(userRole.Key, userRole.Value);
                }
            }

            if (!string.IsNullOrEmpty(application.AssignedTo) && session.AuthenticatedUser.Id == application.AssignedTo)
            {
                Role assigneeRole = roleList.FirstOrDefault(r => r.SystemDefined && r.RoleName == SecurityConstants.AssigneeRoleName);
                if (assigneeRole != null)
                {
                    roleDict.Add(assigneeRole.Id, assigneeRole.RoleName);
                }
            }

            return roleDict;
        }
開發者ID:cgavieta,項目名稱:WORKPAC2016-poc,代碼行數:63,代碼來源:ApplicationEntitlementProvider.cs


注:本文中的iSolutions.iApply.DataContract.Application.IsCreatedBy方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。