public UserLogin GetUserLogin()
        {
            MembershipUser loginUser = Membership.GetUser();
            UserLogin      settings  = new UserLogin();

            if (loginUser != null)
            {
                settings.UserName   = loginUser.UserName;
                settings.UserUserId = Utilities.ToGuid(loginUser.ProviderUserKey);
                //settings.UserSiteId = SiteMethods.GetSiteIdForEmployee(settings.UserUserId);
                //settings.UserLicenseKeys = General.ListLicenseKeyByUserId(settings.UserUserId);

                OrganisationSettings orgSetting = new OrganisationSettings();
                settings.UserOrganisationId = Convert.ToInt32(orgSetting.OrganisationId);

                settings.UserOrganisation = ApartmentMethods.GetOrganisation(settings.UserOrganisationId);
                //settings.UserSite = settings.UserSiteId.HasValue ? SiteMethods.GetSite(settings.UserSiteId.Value) : null;


                //settings.ActiveModules = Role.ListActiveModules();
                settings.AspUser = GetAspUser(settings.UserUserId);
                //settings.UserEmployeeId = EmployeeMethods.GetEmployeeId(settings.UserUserId);

                settings.RoleComponentPermissions = ApartmentMethods.ListRoleComponentPermissionByUser(settings.UserUserId);
                if (!settings.AspUser.OrganisationId.HasValue)
                {
                    settings.UserRoleAuths = ApartmentMethods.ListUserRoleAuth(null, settings.UserUserId, null);
                }
                else
                {
                    settings.UserRoleAuths = ApartmentMethods.ListUserRoleAuth(settings.UserOrganisationId, settings.UserUserId, null);
                }

                if (settings.UserSite == null && settings.UserRoleAuths != null && settings.UserRoleAuths.Count > 0 &&
                    settings.UserRoleAuths.Count(i => i.SiteId.HasValue) > 0)
                {
                    settings.UserSiteId = settings.UserRoleAuths.FirstOrDefault(i => i.SiteId.HasValue).SiteId.Value;
                    List <Site> sites = ApartmentMethods.ListSite(null, settings.UserSiteId.Value, true, false);
                    if (sites.Count > 0)
                    {
                        settings.UserSite = sites[0];
                    }
                }
            }
            return(settings);
        }
示例#2
0
        /// <summary>
        /// Validates if the authorisation code as passed is the code for any organisation in the db
        /// or is the special non-organisation high level portal admin password as defined in web.config
        /// </summary>
        /// <param name="authorisationCode">User entered authorisation code.</param>
        /// <returns>An OrganisationSettings with IsValid=true where authcode/password valid.
        /// Else an OrganisationSettings with IsValid=false.
        /// </returns>
        public static OrganisationSettings Validate(string authorisationCode)
        {
            OrganisationSettings result = null;

            // Portal Admins gain access to the login controls by entering config code in org authorisation code.
            // All other users need to have an organisation cookie set before logging in.
            if (authorisationCode == _portalAdminOrgCode)
            {
                result = new OrganisationSettings(true, _portalAdminDisplay, _portalAdminDisplay);
                result.Save();
            }
            else
            {
                Organisation org = ApartmentMethods.GetOrganisation(authorisationCode);
                if (null != org)
                {
                    result = new OrganisationSettings(false, org.NullableRecordId.ToString(), org.Name);
                    result.Save();
                }
            }

            return(result);
        }
 public Organisation GetOrganisationByCode(string authorisationCode)
 {
     return(ApartmentMethods.GetOrganisation(authorisationCode));
 }
 public Organisation GetOrganisation(int organisationId)
 {
     return(ApartmentMethods.GetOrganisation(organisationId));
 }