protected void Page_Load(object sender, EventArgs e)
    {
        // Check that the control is included in CMSPage (otherwise an exception is thrown on the Design tab)
        var page = Page as CMSPage;

        if (page == null)
        {
            return;
        }

        int personaID = QueryHelper.GetInteger("personaid", 0);

        if (personaID > 0)
        {
            PersonaInfo persona = PersonaInfoProvider.GetPersonaInfoById(personaID);
            if (persona != null)
            {
                // Display number of contacts in persona
                int personaContactCount = PersonasFactory.GetPersonaService().GetContactsForPersona(persona).Count;
                lblCount.InnerText = String.Format(GetString("personas.ui.contactcount"), personaContactCount);

                // Display ratio of the number of contacts in persona to the number of all contacts
                int totalContactCount = ContactInfoProvider.GetContacts()
                                        .OnSite(SiteContext.CurrentSiteID)
                                        .WhereNull("ContactMergedWithContactID")
                                        .Count;

                double ratio = (totalContactCount == 0) ? 0 : (double)personaContactCount / totalContactCount * 100;
                lblRatio.InnerText = String.Format(GetString("personas.ui.contactratio"), ratio);
            }
        }
    }
        private void GenerateRealFemalePersona(int siteId)
        {
            PersonalDataStructure personalData = new RealPersonalDataGenerator().GeneratePersonalData(UserGenderEnum.Female);

            PersonaInfo persona = new PersonaInfo
            {
                PersonaDisplayName     = personalData.FirstName + " " + personalData.LastName + " (female)",
                PersonaName            = "Persona-" + Guid.NewGuid(),
                PersonaSiteID          = siteId,
                PersonaPointsThreshold = 100,
                PersonaEnabled         = true
            };

            persona.Insert();

            var rule = new RuleInfo
            {
                RuleScoreID     = persona.PersonaScoreID,
                RuleDisplayName = "Is female",
                RuleName        = "Rule-" + Guid.NewGuid(),
                RuleValue       = 1000,
                RuleType        = RuleTypeEnum.Attribute,
                RuleParameter   = "ContactGender",
                RuleCondition   = "<condition><attribute name=\"ContactGender\"><value>2</value></attribute><wherecondition>ContactGender = 2</wherecondition></condition>",
                RuleSiteID      = siteId
            };

            rule.Insert();
        }
    protected void Page_Load(object sender, EventArgs e)
    {
        // Register script for unimenu button selection
        AddMenuButtonSelectScript(this, "Scoring", null, "menu");

        mPersona = EditedObject as PersonaInfo;
        if (mPersona == null)
        {
            RedirectToInformation(GetString("general.objectnotfound"));
        }

        if (!mPersona.CheckPermissions(PermissionsEnum.Read, CurrentSiteName, CurrentUser))
        {
            RedirectToAccessDenied(mPersona.TypeInfo.ModuleName, "Read");
        }

        listElem.ScoreId = mPersona.PersonaScoreID;
        listElem.EditActionUrl = string.Format("Tab_Rules_Edit.aspx?ruleId={{0}}&personaId={0}", mPersona.PersonaID);
        listElem.ModifyPermissions = mPersona.CheckPermissions(PermissionsEnum.Modify, CurrentSiteName, CurrentUser);

        listElem.OverrideUITexts(new CMSModules_Scoring_Controls_UI_Rule_List.UITexts
        {
            RuleValueCaptionResourceString = "personas.rule.points",
            ZeroRowsTextResourceString = "personas.rule.nodatafound",
            RecalculationNeededResourceString = "personas.rule.recalculationneeded",
            RecalculationNotNeededResourceString = "personas.rule.recalculationnotrequired",
        });

        listElem.OverrideObjectType("om.personarule");
    }
    // Fill the PersonaCard with personaINFO, located in the huis-van-morgen.json
    public void FillPersonaCard(PersonaInfo persona)
    {
        this.persona = persona;

        this.personaName.text      = persona.getFullName();
        this.personaBiography.text = persona.biography;

        Rect  a      = this.personaBiography.rectTransform.rect;
        float height = persona.biography.Length * 1.25f;

        this.personaBiography.rectTransform.sizeDelta = new Vector2(a.width, height);
        Vector3 b = this.personaBiography.rectTransform.transform.position;

        b.y = -(height / 2);
        this.personaBiography.rectTransform.transform.position = b;


        this.personaAge.text     = persona.age.ToString();
        this.personaImage.sprite = Resources.Load <Sprite>(persona.mugshotPath);
        this.personaImage.color  = Color.white;

        string limitations = "";

        foreach (string limit in persona.limitations)
        {
            limitations += limit + "\n";
        }
        this.personaLimitation.text = limitations;
    }
Esempio n. 5
0
    protected void Page_Load(object sender, EventArgs e)
    {
        // Register script for unimenu button selection
        AddMenuButtonSelectScript(this, "Scoring", null, "menu");

        mPersona = EditedObject as PersonaInfo;
        if (mPersona == null)
        {
            RedirectToInformation(GetString("general.objectnotfound"));
        }

        if (!mPersona.CheckPermissions(PermissionsEnum.Read, CurrentSiteName, CurrentUser))
        {
            RedirectToAccessDenied(mPersona.TypeInfo.ModuleName, "Read");
        }

        listElem.ScoreId       = mPersona.GetRelatedScore().ScoreID;
        listElem.EditActionUrl = string.Format("Tab_Rules_Edit.aspx?ruleId={{0}}&personaId={0}", mPersona.PersonaID);
        listElem.ModuleNameForPermissionCheck = PersonaInfo.TYPEINFO.ModuleName;

        listElem.OverrideUITexts(new CMSModules_Scoring_Controls_UI_Rule_List.UITexts
        {
            RuleValueCaptionResourceString       = "personas.rule.points",
            ZeroRowsTextResourceString           = "personas.rule.nodatafound",
            RecalculationNeededResourceString    = "personas.rule.recalculationneeded",
            RecalculationNotNeededResourceString = "personas.rule.recalculationnotrequired",
        });

        listElem.OverrideObjectType("om.personarule");
    }
Esempio n. 6
0
        private static void SubscribeCoffeeGeekContactGroupToEmailCampaign(PersonaInfo persona)
        {
            var issueInfo = IssueInfoProvider.GetIssues().WhereIn("IssueNewsletterID",
                                                                  NewsletterInfoProvider.GetNewsletters().WhereEquals("NewsletterName", "CoffeeClubMembership")
                                                                  .Column("NewsletterID")).TopN(1).FirstOrDefault();

            if (issueInfo == null)
            {
                return;
            }

            var contactGroup = CreateContactGroup(persona);

            if (IssueContactGroupInfoProvider.GetIssueContactGroupInfo(issueInfo.IssueID,
                                                                       contactGroup.ContactGroupID) != null)
            {
                return;
            }

            IssueContactGroupInfoProvider.SetIssueContactGroupInfo(new IssueContactGroupInfo
            {
                IssueID        = issueInfo.IssueID,
                ContactGroupID = contactGroup.ContactGroupID
            });
        }
        public async Task RegistrarMatch(PersonaInfo personaIdentificada, short consec, OracleConnection conn)
        {
            #region RegistrarDatos
            string insert = string.Format("INSERT INTO BTS.VALIDA_HUELLA " +
                                          "(ID,CONSEC,ESTADO,MUNICIPIO,CERESO,ANO,FOLIO)" +
                                          " VALUES ({0},{1},{2},{3},'{4}',{5},{6})",
                                          personaIdentificada.id,
                                          consec,
                                          personaIdentificada.estado,
                                          personaIdentificada.municipio,
                                          personaIdentificada.cereso,
                                          personaIdentificada.ano,
                                          personaIdentificada.folio);

            try
            {
                if (conn.State != System.Data.ConnectionState.Open)
                {
                    await conn.OpenAsync();
                }

                OracleCommand cmdInsert = new OracleCommand(insert, conn);

                await cmdInsert.ExecuteNonQueryAsync();
            }
            catch (Exception ex)
            {
                throw;
            }
            #endregion
        }
Esempio n. 8
0
        public PersonaInfo DatosPersona()
        {
            PersonaInfo personaAF = new PersonaInfo();

            personaAF.Nombre = "NombrePersona";

            return(personaAF);
        }
Esempio n. 9
0
        public CurrentContactViewModel(ContactInfo currentContact)
        {
            PersonaInfo contactPersona = currentContact.GetPersona();

            if (contactPersona != null)
            {
                ContactPersonaName        = contactPersona.PersonaName;
                ContactPersonaDisplayName = contactPersona.PersonaDisplayName;
            }
        }
Esempio n. 10
0
        public void Pruebas_AutoFixture_Build_TestPrueba_TModel_OmitAutoProperties()
        {
            //Podemos inicializar las propiedades de un objeto con valores por defecto con la propiedad OmitAutoProperties()
            PersonaInfo resultExpected = fixture.Build <PersonaInfo>().OmitAutoProperties().Create();

            Ejemplo_AutoFixture_Class test = fixture.Create <Ejemplo_AutoFixture_Class>();

            var sut = test.DatosPersona(resultExpected);

            Microsoft.VisualStudio.TestTools.UnitTesting.Assert.AreEqual(resultExpected.GetType(), sut.GetType(), "No hemos obtenido el tipo esperado");
        }
Esempio n. 11
0
        public void Pruebas_AutoFixture_Build_TestPrueba_TModel()
        {
            //Creamos un dato del tipo que queramos pero no le damos valores, los autogenera aleatoriamente
            //Quitaríamos la propiedades del NIF porque no pasarían la validación
            PersonaInfo resultExpected = fixture.Build <PersonaInfo>().Without(persona => persona.PropiedadQuePuedeSerIgnorada).Create();

            Ejemplo_AutoFixture_Class test = fixture.Create <Ejemplo_AutoFixture_Class>();

            var sut = test.DatosPersona(resultExpected);

            Microsoft.VisualStudio.TestTools.UnitTesting.Assert.AreEqual(resultExpected.GetType(), sut.GetType(), "No hemos obtenido el tipo esperado");
        }
Esempio n. 12
0
        public void Pruebas_AutoFixture_Build_TestPrueba_TModel_With()
        {
            //Permite dar un valor a una propiedad
            PersonaInfo resultExpected = fixture.Build <PersonaInfo>().With(persona => persona.Nombre, "NombrePersona")
                                         .Without(persona => persona.PropiedadQuePuedeSerIgnorada).Create();

            Ejemplo_AutoFixture_Class test = fixture.Create <Ejemplo_AutoFixture_Class>();

            var sut = test.DatosPersona(resultExpected);

            Microsoft.VisualStudio.TestTools.UnitTesting.Assert.AreSame(resultExpected, sut, "No hemos obtenido el tipo esperado");
        }
Esempio n. 13
0
        private void GenerateCafeOwnerPersona()
        {
            var infoObj = PersonaInfoProvider.GetPersonaInfoByCodeName(PERSONA_CAFE_OWNER);

            if (infoObj == null)
            {
                infoObj = new PersonaInfo
                {
                    PersonaDisplayName = "Tony, the Cafe Owner",
                    PersonaName        = PERSONA_CAFE_OWNER,
                    PersonaDescription =
                        "Tony has been running his own cafe for the last 7 years. He always looks at ways of improving the service he provides.\r\n\r\nHe offers coffee that he sources from several roasteries. In addition to that, he also sells brewing machines, accessories and grinders for home use.",
                    PersonaPointsThreshold     = 15,
                    PersonaPictureMetafileGUID = new Guid("220C65BA-2CED-4347-9615-8CF69EAC20E5"),
                    PersonaEnabled             = true
                };
                PersonaInfoProvider.SetPersonaInfo(infoObj);
            }

            var treeNode = DocumentHelper.GetDocuments().All().Culture("en-US").Path("/Partnership").Columns("NodeID")
                           .OnCurrentSite().TopN(1).FirstOrDefault();

            if (treeNode != null)
            {
                var rule = GenerateRule("Visited the Partnership section", 5, infoObj.PersonaScoreID,
                                        "<condition>\r\n  <activity name=\"pagevisit\">\r\n    <field name=\"ActivityCreated\">\r\n      <settings>\r\n        <seconddatetime>1/1/0001 12:00:00 AM</seconddatetime>\r\n      </settings>\r\n    </field>\r\n    <field name=\"ActivityNodeID\">\r\n      <value>" +
                                        treeNode.NodeID +
                                        "</value>\r\n    </field>\r\n    <field name=\"ActivityURL\">\r\n      <settings>\r\n        <operator>0</operator>\r\n      </settings>\r\n    </field>\r\n    <field name=\"ActivityTitle\">\r\n      <settings>\r\n        <operator>0</operator>\r\n      </settings>\r\n    </field>\r\n    <field name=\"ActivityComment\">\r\n      <settings>\r\n        <operator>0</operator>\r\n      </settings>\r\n    </field>\r\n    <field name=\"ActivityCampaign\">\r\n      <settings>\r\n        <operator>0</operator>\r\n      </settings>\r\n    </field>\r\n    <field name=\"ActivityURLReferrer\">\r\n      <settings>\r\n        <operator>0</operator>\r\n      </settings>\r\n    </field>\r\n    <field name=\"ActivityABVariantName\">\r\n      <settings>\r\n        <operator>0</operator>\r\n      </settings>\r\n    </field>\r\n    <field name=\"ActivityMVTCombinationName\">\r\n      <settings>\r\n        <operator>0</operator>\r\n      </settings>\r\n    </field>\r\n  </activity>\r\n  <wherecondition>(ActivityType='pagevisit') AND ([ActivityNodeID] = " +
                                        treeNode.NodeID + ")</wherecondition>\r\n</condition>", RuleTypeEnum.Activity, "pagevisit");
                rule.RuleIsRecurring = true;
                rule.RuleMaxPoints   = 15;
                RuleInfoProvider.SetRuleInfo(rule);
            }

            var infoByName = ProviderHelper.GetInfoByName("cms.form", "BusinessCustomerRegistration", _mSite.SiteID);

            if (infoByName != null)
            {
                var obj = infoByName.GetValue("FormName");
                GenerateRule("Submitted the business registration form", 15, infoObj.PersonaScoreID,
                             BuildMacroRuleCondition("{%Rule(\"(Contact.SubmittedForm(\\\"" + obj +
                                                     "\\\", ToInt(0)))\", \"&lt;rules&gt;&lt;r pos=\\\"0\\\" par=\\\"\\\" op=\\\"and\\\" n=\\\"CMSContactHasSubmittedSpecifiedFormInLastXDays\\\" &gt;&lt;p n=\\\"_perfectum\\\"&gt;&lt;t&gt;has&lt;/t&gt;&lt;v&gt;&lt;/v&gt;&lt;r&gt;0&lt;/r&gt;&lt;d&gt;select operation&lt;/d&gt;&lt;vt&gt;text&lt;/vt&gt;&lt;tv&gt;0&lt;/tv&gt;&lt;/p&gt;&lt;p n=\\\"days\\\"&gt;&lt;t&gt;#enter days&lt;/t&gt;&lt;v&gt;0&lt;/v&gt;&lt;r&gt;0&lt;/r&gt;&lt;d&gt;enter days&lt;/d&gt;&lt;vt&gt;text&lt;/vt&gt;&lt;tv&gt;0&lt;/tv&gt;&lt;/p&gt;&lt;p n=\\\"item\\\"&gt;&lt;t&gt;" +
                                                     obj + "&lt;/t&gt;&lt;v&gt;" + obj +
                                                     "&lt;/v&gt;&lt;r&gt;1&lt;/r&gt;&lt;d&gt;select form&lt;/d&gt;&lt;vt&gt;text&lt;/vt&gt;&lt;tv&gt;0&lt;/tv&gt;&lt;/p&gt;&lt;/r&gt;&lt;/rules&gt;\")%}"),
                             RuleTypeEnum.Macro, null, false);
            }

            GenerateRule("Gmail penalization", -10, infoObj.PersonaScoreID,
                         "<condition>\r\n  <attribute name=\"ContactEmail\">\r\n    <value>gmail.com</value>\r\n    <params>\r\n      <ContactEmailOperator>6</ContactEmailOperator>\r\n    </params>\r\n  </attribute>\r\n  <wherecondition>[ContactEmail] LIKE N'%gmail.com'</wherecondition>\r\n</condition>",
                         RuleTypeEnum.Attribute, "ContactEmail");
        }
Esempio n. 14
0
        private void GenerateDisabledPersona(int siteId)
        {
            var realPerson = new RealPersonalDataGenerator().GeneratePersonalData();

            PersonaInfo persona = new PersonaInfo
            {
                PersonaDisplayName     = realPerson.FirstName + " " + realPerson.LastName + " (disabled)",
                PersonaName            = "Persona-" + Guid.NewGuid(),
                PersonaSiteID          = siteId,
                PersonaPointsThreshold = 100,
                PersonaEnabled         = false
            };

            persona.Insert();
        }
Esempio n. 15
0
 void Start()
 {
     // get the persona chosen from the main menu through the configcontroller
     // and the filter object
     configController = GameObject.FindObjectOfType <ConfigController>();
     filter           = GameObject.Find("BadSight");
     if (configController != null)
     {
         persona          = configController.GetSelectedPersona();
         oculusController = GameObject.FindObjectOfType <OculusGoController>();
         if (filter != null)
         {
             filter.GetComponentInChildren <Image>().enabled = false;
         }
         SetIngameEffect(persona);
     }
 }
Esempio n. 16
0
        private void GenerateCoffeeGeekPersona()
        {
            var coffeeGeekPersona = PersonaInfoProvider.GetPersonaInfoByCodeName(PERSONA_COFEE_GEEK);

            if (coffeeGeekPersona != null)
            {
                return;
            }

            coffeeGeekPersona = new PersonaInfo
            {
                PersonaDisplayName         = "Martina, the Coffee Geek",
                PersonaName                = PERSONA_COFEE_GEEK,
                PersonaDescription         = "Martina is 28, she's an online entrepreneur and a foodie girl who likes to blog about her gastronomic experiences. \r\n\r\nThe preparation of her coffee has to be perfect.  She knows all the technical bits that go into the process. Not to leave things to chance, she also owns a professional espresso machine and a grinder.\r\n\r\nMartina drinks a cappuccino or a filtered coffee in the morning and then an espresso or machiato after each meal.",
                PersonaPointsThreshold     = 15,
                PersonaPictureMetafileGUID = new Guid("8A3AF6F7-0914-42E1-9641-B7F2E04AED1B"),
                PersonaEnabled             = true
            };
            PersonaInfoProvider.SetPersonaInfo(coffeeGeekPersona);
        }
Esempio n. 17
0
        private void GenerateCafeOwnerPersona()
        {
            var coffeeOwnerPersona = PersonaInfoProvider.GetPersonaInfoByCodeName(PERSONA_CAFE_OWNER);

            if (coffeeOwnerPersona != null)
            {
                return;
            }

            coffeeOwnerPersona = new PersonaInfo
            {
                PersonaDisplayName         = "Tony, the Cafe Owner",
                PersonaName                = PERSONA_CAFE_OWNER,
                PersonaDescription         = "Tony has been running his own cafe for the last 7 years. He always looks at ways of improving the service he provides.\r\n\r\nHe offers coffee that he sources from several roasteries. In addition to that, he also sells brewing machines, accessories and grinders for home use.",
                PersonaPointsThreshold     = 15,
                PersonaPictureMetafileGUID = new Guid("220C65BA-2CED-4347-9615-8CF69EAC20E5"),
                PersonaEnabled             = true
            };
            PersonaInfoProvider.SetPersonaInfo(coffeeOwnerPersona);
        }
Esempio n. 18
0
        private void GenerateCoffeeGeekPersona()
        {
            var personaInfo = PersonaInfoProvider.GetPersonaInfoByCodeName(PERSONA_COFEE_GEEK);

            if (personaInfo == null)
            {
                personaInfo = new PersonaInfo
                {
                    PersonaDisplayName = "Martina, the Coffee Geek",
                    PersonaName        = PERSONA_COFEE_GEEK,
                    PersonaDescription =
                        "Martina is 28, she's an online entrepreneur and a foodie girl who likes to blog about her gastronomic experiences. \r\n\r\nThe preparation of her coffee has to be perfect.  She knows all the technical bits that go into the process. Not to leave things to chance, she also owns a professional espresso machine and a grinder.\r\n\r\nMartina drinks a cappuccino or a filtered coffee in the morning and then an espresso or machiato after each meal.",
                    PersonaPointsThreshold     = 15,
                    PersonaPictureMetafileGUID = new Guid("8A3AF6F7-0914-42E1-9641-B7F2E04AED1B"),
                    PersonaEnabled             = true
                };
                PersonaInfoProvider.SetPersonaInfo(personaInfo);
            }

            SubscribeCoffeeGeekContactGroupToEmailCampaign(personaInfo);
            var newsletterInfo = NewsletterInfoProvider.GetNewsletterInfo("DancingGoatNewsletter", _mSite.SiteID);

            if (newsletterInfo != null)
            {
                GenerateRule("Is subscribed to the Dancing goat newsletter", 10, personaInfo.PersonaScoreID,
                             "<condition>\r\n  <activity name=\"newslettersubscription\">\r\n    <field name=\"ActivityItemID\">\r\n      <value>" +
                             newsletterInfo.NewsletterID +
                             "</value>\r\n    </field>\r\n    <field name=\"ActivityCreated\">\r\n      <settings>\r\n        <seconddatetime>1/1/0001 12:00:00 AM</seconddatetime>\r\n      </settings>\r\n    </field>\r\n    <field name=\"ActivityURL\">\r\n      <settings>\r\n        <operator>0</operator>\r\n      </settings>\r\n    </field>\r\n    <field name=\"ActivityTitle\">\r\n      <settings>\r\n        <operator>0</operator>\r\n      </settings>\r\n    </field>\r\n    <field name=\"ActivityComment\">\r\n      <settings>\r\n        <operator>0</operator>\r\n      </settings>\r\n    </field>\r\n    <field name=\"ActivityCampaign\">\r\n      <settings>\r\n        <operator>0</operator>\r\n      </settings>\r\n    </field>\r\n    <field name=\"ActivityURLReferrer\">\r\n      <settings>\r\n        <operator>0</operator>\r\n      </settings>\r\n    </field>\r\n  </activity>\r\n  <wherecondition>(ActivityType='newslettersubscription') AND ([ActivityItemID] = " +
                             newsletterInfo.NewsletterID + ")</wherecondition>\r\n</condition>", RuleTypeEnum.Activity,
                             "newslettersubscription");
            }

            GenerateRule("Downloaded the America's coffee poster file", 5, personaInfo.PersonaScoreID,
                         BuildMacroRuleCondition(
                             "<condition>\r\n  <macro>\r\n    <value>{%Rule(\"(Contact.VisitedPage(\\\"/Campaign-assets/Cafe-promotion/America-s-coffee-poster\\\", ToInt(0)))\", \"&lt;rules&gt;&lt;r pos=\\\"0\\\" par=\\\"\\\" op=\\\"and\\\" n=\\\"CMSContactHasDownloadedSpecifiedFileInLastXDays\\\" &gt;&lt;p n=\\\"_perfectum\\\"&gt;&lt;t&gt;has&lt;/t&gt;&lt;v&gt;&lt;/v&gt;&lt;r&gt;0&lt;/r&gt;&lt;d&gt;select operation&lt;/d&gt;&lt;vt&gt;text&lt;/vt&gt;&lt;tv&gt;0&lt;/tv&gt;&lt;/p&gt;&lt;p n=\\\"days\\\"&gt;&lt;t&gt;#enter days&lt;/t&gt;&lt;v&gt;0&lt;/v&gt;&lt;r&gt;0&lt;/r&gt;&lt;d&gt;enter days&lt;/d&gt;&lt;vt&gt;text&lt;/vt&gt;&lt;tv&gt;0&lt;/tv&gt;&lt;/p&gt;&lt;p n=\\\"item\\\"&gt;&lt;t&gt;/Campaign-assets/Cafe-promotion/America-s-coffee-poster&lt;/t&gt;&lt;v&gt;/Campaign-assets/Cafe-promotion/America-s-coffee-poster&lt;/v&gt;&lt;r&gt;1&lt;/r&gt;&lt;d&gt;select file&lt;/d&gt;&lt;vt&gt;text&lt;/vt&gt;&lt;tv&gt;1&lt;/tv&gt;&lt;/p&gt;&lt;/r&gt;&lt;/rules&gt;\")%}</value>\r\n  </macro>\r\n</condition>"),
                         RuleTypeEnum.Macro);
            GenerateRule("Spent between $1 and $100", 10, personaInfo.PersonaScoreID,
                         BuildMacroRuleCondition(
                             "{%Rule(\"(Contact.SpentMoney(ToDouble(1), ToDouble(100), ToInt(90)))\", \"&lt;rules&gt;&lt;r pos=\\\"0\\\" par=\\\"\\\" op=\\\"and\\\" n=\\\"CMSContactHasSpentMoneyInTheStoreInTheLastXDays\\\" &gt;&lt;p n=\\\"money1\\\"&gt;&lt;t&gt;1&lt;/t&gt;&lt;v&gt;1&lt;/v&gt;&lt;r&gt;1&lt;/r&gt;&lt;d&gt;enter value&lt;/d&gt;&lt;vt&gt;double&lt;/vt&gt;&lt;tv&gt;1&lt;/tv&gt;&lt;/p&gt;&lt;p n=\\\"days\\\"&gt;&lt;t&gt;90&lt;/t&gt;&lt;v&gt;90&lt;/v&gt;&lt;r&gt;0&lt;/r&gt;&lt;d&gt;enter days&lt;/d&gt;&lt;vt&gt;integer&lt;/vt&gt;&lt;tv&gt;1&lt;/tv&gt;&lt;/p&gt;&lt;p n=\\\"money2\\\"&gt;&lt;t&gt;100&lt;/t&gt;&lt;v&gt;100&lt;/v&gt;&lt;r&gt;1&lt;/r&gt;&lt;d&gt;enter value&lt;/d&gt;&lt;vt&gt;double&lt;/vt&gt;&lt;tv&gt;1&lt;/tv&gt;&lt;/p&gt;&lt;p n=\\\"_perfectum\\\"&gt;&lt;t&gt;has&lt;/t&gt;&lt;v&gt;&lt;/v&gt;&lt;r&gt;0&lt;/r&gt;&lt;d&gt;select operation&lt;/d&gt;&lt;vt&gt;text&lt;/vt&gt;&lt;tv&gt;0&lt;/tv&gt;&lt;/p&gt;&lt;/r&gt;&lt;/rules&gt;\")%}"),
                         RuleTypeEnum.Macro);
        }
Esempio n. 19
0
 void SetIngameEffect(PersonaInfo persona)
 {
     // set an effect ingame for the chosen persona
     if (persona.inGameEffect.Equals("Slow"))
     {
         oculusController.forwardSpeed = 0.5f;
     }
     if (persona.inGameEffect.Equals("Blurry"))
     {
         if (filter != null)
         {
             filter.GetComponentInChildren <Image>().enabled = true;
         }
     }
     if (persona.inGameEffect.Equals("LowSound"))
     {
         sources = GameObject.FindObjectsOfType(typeof(AudioSource)) as AudioSource[];
         for (int i = 0; i < sources.Length; i++)
         {
             sources[i].volume = 0.5f;
         }
     }
 }
Esempio n. 20
0
        private static ContactGroupInfo CreateContactGroup(PersonaInfo persona)
        {
            var contactGroupInfo = ContactGroupInfoProvider.GetContactGroupInfo(CoffeeGeekPersonaContactGroupName);

            if (contactGroupInfo != null)
            {
                ContactGroupInfoProvider.DeleteContactGroupInfo(contactGroupInfo);
            }

            var groupObj = new ContactGroupInfo();

            groupObj.ContactGroupDisplayName = "Is in persona 'Martina, the Coffee Geek'";
            groupObj.ContactGroupName        = CoffeeGeekPersonaContactGroupName;
            groupObj.ContactGroupEnabled     = true;
            var str = MacroSecurityProcessor.AddSecurityParameters(
                string.Format(
                    "{{%Rule(\"(Contact.IsInPersona(\\\"{0}\\\"))\", \"<rules><r pos=\\\"0\\\" par=\\\"\\\" op=\\\"and\\\" n=\\\"ContactIsInPersona\\\" ><p n=\\\"_is\\\"><t>is</t><v></v><r>0</r><d>select operation</d><vt>text</vt><tv>0</tv></p><p n=\\\"personaguid\\\"><t>{1}</t><v>{0}</v><r>1</r><d>select persona</d><vt>text</vt><tv>0</tv></p></r></rules>\") %}}",
                    persona.PersonaGUID, persona.PersonaDisplayName),
                MacroIdentityOption.FromUserInfo(UserInfoProvider.AdministratorUser), null);

            groupObj.ContactGroupDynamicCondition = str;
            ContactGroupInfoProvider.SetContactGroupInfo(groupObj);
            return(groupObj);
        }
        private void GenerateRealMalePersona(int siteId)
        {
            PersonalDataStructure personalData = new RealPersonalDataGenerator().GeneratePersonalData(UserGenderEnum.Male);

            PersonaInfo persona = new PersonaInfo
            {
                PersonaDisplayName = personalData.FirstName + " " + personalData.LastName + " (male)",
                PersonaName = "Persona-" + Guid.NewGuid(),
                PersonaSiteID = siteId,
                PersonaPointsThreshold = 100,
                PersonaEnabled = true
            };
            persona.Insert();

            var rule = new RuleInfo
            {
                RuleScoreID = persona.PersonaScoreID,
                RuleDisplayName = "Is male",
                RuleName = "Rule-" + Guid.NewGuid(),
                RuleValue = 1000,
                RuleType = RuleTypeEnum.Attribute,
                RuleParameter = "ContactGender",
                RuleCondition = "<condition><attribute name=\"ContactGender\"><value>1</value></attribute><wherecondition>ContactGender = 1</wherecondition></condition>",
                RuleSiteID = siteId
            };
            rule.Insert();
        }
        private void GenerateDisabledPersona(int siteId)
        {
            var realPerson = new RealPersonalDataGenerator().GeneratePersonalData();

            PersonaInfo persona = new PersonaInfo
            {
                PersonaDisplayName = realPerson.FirstName + " " + realPerson.LastName + " (disabled)",
                PersonaName = "Persona-" + Guid.NewGuid(),
                PersonaSiteID = siteId,
                PersonaPointsThreshold = 100,
                PersonaEnabled = false
            };
            persona.Insert();
        }
    private static void GenerateVisitorAndContentRaterPersona()
    {
        var persona = new PersonaInfo
        {
            PersonaDisplayName = "Page visitor and Content rater",
            PersonaName = "Persona-" + Guid.NewGuid(),
            PersonaSiteID = SiteContext.CurrentSiteID,
            PersonaPointsThreshold = 75,
            PersonaEnabled = true
        };
        persona.Insert();

        GenerateBasicRule(
            persona,
            "100 points for content rating activity",
            100,
            RuleTypeEnum.Activity,
            "<condition><activity name=\"rating\"><field name=\"ActivityValue\"><value>0</value><params><operator>11</operator></params></field><field name=\"ActivityCreated\"><params><seconddatetime>1/1/0001 12:00:00 AM</seconddatetime></params></field><field name=\"ActivityURL\"><params><operator>0</operator></params></field><field name=\"ActivityTitle\"><params><operator>0</operator></params></field><field name=\"ActivityComment\"><params><operator>0</operator></params></field><field name=\"ActivityCampaign\"><params><operator>0</operator></params></field><field name=\"ActivityIPAddress\"><params><operator>0</operator></params></field><field name=\"ActivityURLReferrer\"><params><operator>0</operator></params></field></activity><wherecondition>(ActivityType='rating') AND (CASE ISNUMERIC([ActivityValue]) WHEN 1 THEN CAST([ActivityValue] AS FLOAT) ELSE NULL END &gt; CAST(0 AS FLOAT))</wherecondition></condition>",
            "rating"
            );

        GenerateBasicRule(
            persona,
            "15 points for Home landing page",
            15,
            RuleTypeEnum.Activity,
            "<condition><activity name=\"landingpage\"><field name=\"ActivityCreated\"><params><seconddatetime>1/1/0001 12:00:00 AM</seconddatetime></params></field><field name=\"ActivityURL\"><value>Home</value><params><operator>0</operator></params></field><field name=\"ActivityTitle\"><params><operator>0</operator></params></field><field name=\"ActivityComment\"><params><operator>0</operator></params></field><field name=\"ActivityCampaign\"><params><operator>0</operator></params></field><field name=\"ActivityIPAddress\"><params><operator>0</operator></params></field><field name=\"ActivityURLReferrer\"><params><operator>0</operator></params></field><field name=\"PageVisitDetail\"><params><operator>0</operator></params></field><field name=\"PageVisitABVariantName\"><params><operator>0</operator></params></field><field name=\"PageVisitMVTCombinationName\"><params><operator>0</operator></params></field></activity><wherecondition>(ActivityType='landingpage') AND (ISNULL([ActivityURL], '') LIKE N'%Home%')</wherecondition></condition>",
            "landingpage"
            );

        GenerateBasicRule(
            persona,
            "Always satisfied macro rule for 30 points",
            30,
            RuleTypeEnum.Macro,
            "<condition><macro><value>{%Rule(\"Contact.ContactLastName.Contains(\\\"Anonym\\\") || Contact.ContactLastName.NotContains(\\\"Anonym\\\")\", \"&lt;rules&gt;&lt;r pos=\\\"0\\\" par=\\\"\\\" op=\\\"or\\\" n=\\\"CMSContactFieldContainsValue\\\" &gt;&lt;p n=\\\"field\\\"&gt;&lt;t&gt;Last name&lt;/t&gt;&lt;v&gt;ContactLastName&lt;/v&gt;&lt;r&gt;1&lt;/r&gt;&lt;d&gt;select field&lt;/d&gt;&lt;vt&gt;text&lt;/vt&gt;&lt;tv&gt;0&lt;/tv&gt;&lt;/p&gt;&lt;p n=\\\"op\\\"&gt;&lt;t&gt;contains&lt;/t&gt;&lt;v&gt;Contains&lt;/v&gt;&lt;r&gt;0&lt;/r&gt;&lt;d&gt;select operator&lt;/d&gt;&lt;vt&gt;text&lt;/vt&gt;&lt;tv&gt;0&lt;/tv&gt;&lt;/p&gt;&lt;p n=\\\"value\\\"&gt;&lt;t&gt;Anonym&lt;/t&gt;&lt;v&gt;Anonym&lt;/v&gt;&lt;r&gt;0&lt;/r&gt;&lt;d&gt;enter value&lt;/d&gt;&lt;vt&gt;text&lt;/vt&gt;&lt;tv&gt;1&lt;/tv&gt;&lt;/p&gt;&lt;/r&gt;&lt;r pos=\\\"1\\\" par=\\\"\\\" op=\\\"or\\\" n=\\\"CMSContactFieldContainsValue\\\" &gt;&lt;p n=\\\"field\\\"&gt;&lt;t&gt;Last name&lt;/t&gt;&lt;v&gt;ContactLastName&lt;/v&gt;&lt;r&gt;1&lt;/r&gt;&lt;d&gt;select field&lt;/d&gt;&lt;vt&gt;text&lt;/vt&gt;&lt;tv&gt;0&lt;/tv&gt;&lt;/p&gt;&lt;p n=\\\"op\\\"&gt;&lt;t&gt;does not contain&lt;/t&gt;&lt;v&gt;NotContains&lt;/v&gt;&lt;r&gt;0&lt;/r&gt;&lt;d&gt;select operator&lt;/d&gt;&lt;vt&gt;text&lt;/vt&gt;&lt;tv&gt;0&lt;/tv&gt;&lt;/p&gt;&lt;p n=\\\"value\\\"&gt;&lt;t&gt;Anonym&lt;/t&gt;&lt;v&gt;Anonym&lt;/v&gt;&lt;r&gt;0&lt;/r&gt;&lt;d&gt;enter value&lt;/d&gt;&lt;vt&gt;text&lt;/vt&gt;&lt;tv&gt;1&lt;/tv&gt;&lt;/p&gt;&lt;/r&gt;&lt;/rules&gt;\")%}</value></macro></condition>"
            );

        var pageVisitRule = GenerateBasicRule(
            persona,
            "10 points per every page visit",
            10,
            RuleTypeEnum.Activity,
            "<condition><activity name=\"pagevisit\"><field name=\"ActivityCreated\"><params><seconddatetime>1/1/0001 12:00:00 AM</seconddatetime></params></field><field name=\"ActivityURL\"><value>XXXYYYZZZ</value><params><operator>1</operator></params></field><field name=\"ActivityTitle\"><params><operator>0</operator></params></field><field name=\"ActivityComment\"><params><operator>0</operator></params></field><field name=\"ActivityCampaign\"><params><operator>0</operator></params></field><field name=\"ActivityIPAddress\"><params><operator>0</operator></params></field><field name=\"ActivityURLReferrer\"><params><operator>0</operator></params></field><field name=\"PageVisitDetail\"><params><operator>0</operator></params></field><field name=\"PageVisitABVariantName\"><params><operator>0</operator></params></field><field name=\"PageVisitMVTCombinationName\"><params><operator>0</operator></params></field></activity><wherecondition>(ActivityType='pagevisit') AND (ISNULL([ActivityURL], '') NOT LIKE N'%XXXYYYZZZ%')</wherecondition></condition>",
            "pagevisit"
            );
        pageVisitRule.RuleMaxPoints = 35;
        pageVisitRule.RuleIsRecurring = true;
        pageVisitRule.Update();
    }
    private static void GenerateDisabledPersona()
    {
        var persona = new PersonaInfo
        {
            PersonaDisplayName = "Disabled persona with various rules",
            PersonaName = "Persona-" + Guid.NewGuid(),
            PersonaSiteID = SiteContext.CurrentSiteID,
            PersonaPointsThreshold = 5,
            PersonaEnabled = false
        };
        persona.Insert();

        GenerateBasicRule(
            persona,
            "100 points for content rating activity",
            100,
            RuleTypeEnum.Activity,
            "<condition><activity name=\"rating\"><field name=\"ActivityValue\"><value>0</value><params><operator>11</operator></params></field><field name=\"ActivityCreated\"><params><seconddatetime>1/1/0001 12:00:00 AM</seconddatetime></params></field><field name=\"ActivityURL\"><params><operator>0</operator></params></field><field name=\"ActivityTitle\"><params><operator>0</operator></params></field><field name=\"ActivityComment\"><params><operator>0</operator></params></field><field name=\"ActivityCampaign\"><params><operator>0</operator></params></field><field name=\"ActivityIPAddress\"><params><operator>0</operator></params></field><field name=\"ActivityURLReferrer\"><params><operator>0</operator></params></field></activity><wherecondition>(ActivityType='rating') AND (CASE ISNUMERIC([ActivityValue]) WHEN 1 THEN CAST([ActivityValue] AS FLOAT) ELSE NULL END &gt; CAST(0 AS FLOAT))</wherecondition></condition>",
            "rating"
            );

        GenerateBasicRule(
            persona,
            "Always satisfied macro rule for 30 points",
            30,
            RuleTypeEnum.Macro,
            "<condition><macro><value>{%Rule(\"Contact.ContactLastName.Contains(\\\"Anonym\\\") || Contact.ContactLastName.NotContains(\\\"Anonym\\\")\", \"&lt;rules&gt;&lt;r pos=\\\"0\\\" par=\\\"\\\" op=\\\"or\\\" n=\\\"CMSContactFieldContainsValue\\\" &gt;&lt;p n=\\\"field\\\"&gt;&lt;t&gt;Last name&lt;/t&gt;&lt;v&gt;ContactLastName&lt;/v&gt;&lt;r&gt;1&lt;/r&gt;&lt;d&gt;select field&lt;/d&gt;&lt;vt&gt;text&lt;/vt&gt;&lt;tv&gt;0&lt;/tv&gt;&lt;/p&gt;&lt;p n=\\\"op\\\"&gt;&lt;t&gt;contains&lt;/t&gt;&lt;v&gt;Contains&lt;/v&gt;&lt;r&gt;0&lt;/r&gt;&lt;d&gt;select operator&lt;/d&gt;&lt;vt&gt;text&lt;/vt&gt;&lt;tv&gt;0&lt;/tv&gt;&lt;/p&gt;&lt;p n=\\\"value\\\"&gt;&lt;t&gt;Anonym&lt;/t&gt;&lt;v&gt;Anonym&lt;/v&gt;&lt;r&gt;0&lt;/r&gt;&lt;d&gt;enter value&lt;/d&gt;&lt;vt&gt;text&lt;/vt&gt;&lt;tv&gt;1&lt;/tv&gt;&lt;/p&gt;&lt;/r&gt;&lt;r pos=\\\"1\\\" par=\\\"\\\" op=\\\"or\\\" n=\\\"CMSContactFieldContainsValue\\\" &gt;&lt;p n=\\\"field\\\"&gt;&lt;t&gt;Last name&lt;/t&gt;&lt;v&gt;ContactLastName&lt;/v&gt;&lt;r&gt;1&lt;/r&gt;&lt;d&gt;select field&lt;/d&gt;&lt;vt&gt;text&lt;/vt&gt;&lt;tv&gt;0&lt;/tv&gt;&lt;/p&gt;&lt;p n=\\\"op\\\"&gt;&lt;t&gt;does not contain&lt;/t&gt;&lt;v&gt;NotContains&lt;/v&gt;&lt;r&gt;0&lt;/r&gt;&lt;d&gt;select operator&lt;/d&gt;&lt;vt&gt;text&lt;/vt&gt;&lt;tv&gt;0&lt;/tv&gt;&lt;/p&gt;&lt;p n=\\\"value\\\"&gt;&lt;t&gt;Anonym&lt;/t&gt;&lt;v&gt;Anonym&lt;/v&gt;&lt;r&gt;0&lt;/r&gt;&lt;d&gt;enter value&lt;/d&gt;&lt;vt&gt;text&lt;/vt&gt;&lt;tv&gt;1&lt;/tv&gt;&lt;/p&gt;&lt;/r&gt;&lt;/rules&gt;\")%}</value></macro></condition>"
            );

        GenerateBasicRule(
            persona,
            "Contact has got e-mail address filled for 50p",
            50,
            RuleTypeEnum.Attribute,
            "<condition><attribute name=\"ContactEmail\"><value>@</value><params><Operator>0</Operator></params></attribute><wherecondition>ISNULL([ContactEmail], '') LIKE N'%@%'</wherecondition></condition>",
            "ContactEmail"
            );

        GenerateBasicRule(
            persona,
            "Contact has filled \"Contact us\" form for 50p",
            50,
            RuleTypeEnum.Macro,
            "<condition><macro><value>{%Rule(\"Contact.SubmittedForm(\\\"ContactUs\\\", ToInt(150))\", \"&lt;rules&gt;&lt;r pos=\\\"0\\\" par=\\\"\\\" op=\\\"and\\\" n=\\\"CMSContactHasSubmittedSpecifiedFormInLastXDays\\\" &gt;&lt;p n=\\\"_perfectum\\\"&gt;&lt;t&gt;has&lt;/t&gt;&lt;v&gt;&lt;/v&gt;&lt;r&gt;0&lt;/r&gt;&lt;d&gt;select operation&lt;/d&gt;&lt;vt&gt;text&lt;/vt&gt;&lt;tv&gt;0&lt;/tv&gt;&lt;/p&gt;&lt;p n=\\\"days\\\"&gt;&lt;t&gt;150&lt;/t&gt;&lt;v&gt;150&lt;/v&gt;&lt;r&gt;0&lt;/r&gt;&lt;d&gt;enter days&lt;/d&gt;&lt;vt&gt;integer&lt;/vt&gt;&lt;tv&gt;1&lt;/tv&gt;&lt;/p&gt;&lt;p n=\\\"item\\\"&gt;&lt;t&gt;&amp;lt;Contact Us&amp;gt;&lt;/t&gt;&lt;v&gt;ContactUs&lt;/v&gt;&lt;r&gt;1&lt;/r&gt;&lt;d&gt;select form&lt;/d&gt;&lt;vt&gt;text&lt;/vt&gt;&lt;tv&gt;0&lt;/tv&gt;&lt;/p&gt;&lt;/r&gt;&lt;/rules&gt;\")%}</value></macro></condition>"
            );

        var pageVisitRule = GenerateBasicRule(
            persona,
            "5 points per every page visit",
            5,
            RuleTypeEnum.Activity,
            "<condition><activity name=\"pagevisit\"><field name=\"ActivityCreated\"><params><seconddatetime>1/1/0001 12:00:00 AM</seconddatetime></params></field><field name=\"ActivityURL\"><value>XXXYYYZZZ</value><params><operator>1</operator></params></field><field name=\"ActivityTitle\"><params><operator>0</operator></params></field><field name=\"ActivityComment\"><params><operator>0</operator></params></field><field name=\"ActivityCampaign\"><params><operator>0</operator></params></field><field name=\"ActivityIPAddress\"><params><operator>0</operator></params></field><field name=\"ActivityURLReferrer\"><params><operator>0</operator></params></field><field name=\"PageVisitDetail\"><params><operator>0</operator></params></field><field name=\"PageVisitABVariantName\"><params><operator>0</operator></params></field><field name=\"PageVisitMVTCombinationName\"><params><operator>0</operator></params></field></activity><wherecondition>(ActivityType='pagevisit') AND (ISNULL([ActivityURL], '') NOT LIKE N'%XXXYYYZZZ%')</wherecondition></condition>",
            "pagevisit"
            );
        pageVisitRule.RuleMaxPoints = 100000;
        pageVisitRule.RuleIsRecurring = true;
        pageVisitRule.Update();
    }
    private static RuleInfo GenerateBasicRule(PersonaInfo persona, string displayName, int ruleValue, RuleTypeEnum ruleType, string ruleCondition, string ruleParameter = null)
    {
        var rule = new RuleInfo
        {
            RuleScoreID = persona.PersonaScoreID,
            RuleDisplayName = displayName,
            RuleName = "Rule-" + Guid.NewGuid(),
            RuleValue = ruleValue,
            RuleType = ruleType,
            RuleParameter = ruleParameter,
            RuleCondition = ruleCondition,
            RuleSiteID = persona.PersonaSiteID,
            RuleBelongsToPersona = true,
            RuleIsRecurring = false
        };
        rule.Insert();

        return rule;
    }
Esempio n. 26
0
 public PersonaInfo DatosPersona(PersonaInfo personaAF)
 {
     return(personaAF);
 }
Esempio n. 27
0
 public void SetSelectedPersona(PersonaInfo persona)
 {
     this.currPersona = persona;
 }