Beispiel #1
0
        public IEnumerable <PolicyTextInfoPart> GetUserLinkedPolicies(string culture = null)
        {
            IEnumerable <PolicyTextInfoPart> policies;

            if (UserRegistrationExtensionsSettings.IncludePendingPolicy == Policy.IncludePendingPolicyOptions.No)
            {
                return(new List <PolicyTextInfoPart>());                                                                                                 // se selezionato No allora nessuna policy è obbligatoria e ritorno una collection vuota
            }
            if (UserRegistrationExtensionsSettings.PolicyTextReferences.FirstOrDefault() == null || UserRegistrationExtensionsSettings.PolicyTextReferences.FirstOrDefault() == "{All}")
            {
                policies = _policySerivces.GetPolicies(culture);
            }
            else
            {
                var ids = UserRegistrationExtensionsSettings.PolicyTextReferences.Select(x => Convert.ToInt32(x.Replace("{", "").Replace("}", ""))).ToArray();
                policies = _policySerivces.GetPolicies(culture, ids);
            }
            return(policies);
        }
        public JsonResult GetPolicyList(string lang = null, PoliciesRequestType type = PoliciesRequestType.All)
        {
            string outputFormat = _workContext.GetContext().HttpContext.Request.Headers["OutputFormat"];
            IEnumerable <PolicyTextInfoPart> policies = _policyServices.GetPolicies(lang);

            var orchardUsersSettings    = _orchardServices.WorkContext.CurrentSite.As <UserRegistrationSettingsPart>();
            var registrationPoliciesIds = new Int32[0];

            if (orchardUsersSettings.PolicyTextReferences.Contains("{All}"))
            {
                registrationPoliciesIds = policies.Select(x => x.Id).ToArray();
            }
            else
            {
                registrationPoliciesIds = orchardUsersSettings.PolicyTextReferences.Select(x => Convert.ToInt32(x.Replace("{", "").Replace("}", ""))).ToArray();
            }

            if (type == PoliciesRequestType.ForRegistration)
            {
                policies = policies.Where(x => registrationPoliciesIds.Contains(x.Id));
            }
            else if (type == PoliciesRequestType.NotForRegistration)
            {
                policies = policies.Where(x => !registrationPoliciesIds.Contains(x.Id));
            }

            var jsonResult = "";

            if (String.Equals(outputFormat, "LMNV", StringComparison.OrdinalIgnoreCase))
            {
                jsonResult = _policyServices.PoliciesLMNVSerialization(policies);
            }
            else
            {
                jsonResult = _policyServices.PoliciesPureJsonSerialization(policies);
            }

            var serializer = new JavaScriptSerializer();

            return(Json(serializer.DeserializeObject(jsonResult), JsonRequestBehavior.AllowGet));
        }
Beispiel #3
0
 private IEnumerable <PolicyTextInfoPart> CheckoutPoliciesForCulture(string culture)
 {
     return(_policyServices.GetPolicies(culture, CheckoutPolicyIds()));
 }