Пример #1
0
        private void GeneratePersonaContactHistoryRecords()
        {
            var contactsWithoutPersona = 2658;
            var contactsInB2BPersona   = 426;
            var contactsInB2CPersona   = 1037;
            var personaInfoByCodeName1 = PersonaInfoProvider.GetPersonaInfoByCodeName(PERSONA_CAFE_OWNER);
            var personaInfoByCodeName2 = PersonaInfoProvider.GetPersonaInfoByCodeName(PERSONA_COFEE_GEEK);
            var now        = DateTime.Now;
            var dateTime1  = now.AddDays(30.0);
            var dateTime2  = now.AddDays(-60.0);
            var collection = new Collection <PersonaContactHistoryInfo>();

            for (var time = dateTime2; time < dateTime1; time = time.AddDays(1.0))
            {
                IncreaseContactsCount(time, now, ref contactsWithoutPersona, ref contactsInB2BPersona,
                                      ref contactsInB2CPersona);
                ChangeCountsIfCampaign1IsRunning(time, now, ref contactsInB2CPersona);
                ChangeCountsIfCampaign2IsSendingMails(time, now, ref contactsWithoutPersona, ref contactsInB2CPersona);
                ChangeCountsWhenPersonaRulesChanged(time, now, ref contactsWithoutPersona, ref contactsInB2BPersona,
                                                    ref contactsInB2CPersona);
                collection.Add(CreatePersonaContactHistoryInfo(contactsWithoutPersona, time, new int?()));
                collection.Add(CreatePersonaContactHistoryInfo(contactsInB2BPersona, time,
                                                               personaInfoByCodeName1.PersonaID));
                collection.Add(CreatePersonaContactHistoryInfo(contactsInB2CPersona, time,
                                                               personaInfoByCodeName2.PersonaID));
            }

            PersonaContactHistoryInfoProvider.BulkInsert(collection);
        }
Пример #2
0
 private void GeneratePersonaContactHistory()
 {
     PersonaContactHistoryInfoProvider.GetPersonaContactHistory().ForEachObject(
         PersonaContactHistoryInfoProvider
         .DeletePersonaContactHistoryInfo);
     GeneratePersonaContactHistoryRecords();
 }