Tracks when a person is viewed.
Inheritance: ITransaction
Beispiel #1
0
        protected override void OnInit( EventArgs e )
        {
            base.OnInit( e );

            if ( CurrentPerson != null )
                lPersonName.Text = "Person Name: " + CurrentPerson.FullName;
            else
                lPersonName.Text = "Person Name: " + "???";

            lBlockDetails.Text = string.Format(
                "PageId: {0}<br/>Zone: {1}<br/>InstanceBlock: {2}<br/>Path: {3}<br/>",
                base.PageInstance.Id,
                base.BlockInstance.Zone,
                base.BlockInstance.Id,
                base.BlockInstance.Block.Path );

            lBlockTime.Text = DateTime.Now.ToLongTimeString();

            if ( !IsPostBack )
                DisplayItem();

            string itemTest = PageInstance.GetSharedItem( "itemTest" ) as string;
            if ( itemTest == null )
                itemTest = "A";
            else
                itemTest += "B";

            PageInstance.SaveSharedItem( "itemTest", itemTest );

            lItemTest.Text = itemTest;

            Rock.Groups.GroupTypeService _service = new Rock.Groups.GroupTypeService();
            Rock.Groups.GroupType groupType = _service.Get( 2 );

            foreach ( Rock.Groups.GroupType parentType in groupType.ParentGroupTypes )
                lParentGroups.Text += parentType.Name + ":";
            foreach ( Rock.Groups.GroupType childType in groupType.ChildGroupTypes )
                lChildGroups.Text += childType.Name + ":";

            this.AttributesUpdated += MyBlock_AttributesUpdated;
            this.AddAttributeUpdateTrigger(pnlAttributeValues);

            ShowAttributeValue();

            /* make a test word doc */
            /*
            DocX doc = DocX.Load( "D:\\Development\\Rock-ChMS\\RockWeb\\Assets\\Word Merge Docs\\test.docx" );

            doc.AddCustomProperty( new CustomProperty( "nick_name", "Mike" ) );
            doc.AddCustomProperty( new CustomProperty( "last_name", "Sever" ) );

            doc.SaveAs( "d:\\out.docx" );
             * */

            /* test person viewed transaction */
            PersonViewTransaction transaction = new PersonViewTransaction();
            transaction.DateViewed = DateTime.Now;
            transaction.Source = "Site: " + PageInstance.Site.Id.ToString() + "Page: " + PageInstance.Id.ToString();
            if ( CurrentPersonId != null )
                transaction.ViewerPersonId = ( int )CurrentPersonId;
            transaction.IPAddress = Request.UserHostAddress;

            RockQueue.TransactionQueue.Enqueue( transaction );

            Rock.Communication.SendGridEmailProvider sgp = new Rock.Communication.SendGridEmailProvider();
            List<Rock.Communication.BouncedEmail> bouncedMail = sgp.BouncedEmails(false);
            bool result = sgp.DeleteBouncedEmail( "*****@*****.**" );
        }
        /// <summary>
        /// Raises the <see cref="E:System.Web.UI.Control.Load" /> event.
        /// </summary>
        /// <param name="e">The <see cref="T:System.EventArgs" /> object that contains the event data.</param>
        protected override void OnLoad( EventArgs e )
        {
            base.OnLoad( e );

            if ( !Page.IsPostBack &&
                CurrentPersonAlias != null &&
                Context.Items["PersonViewed"] == null &&
                Person != null &&
                Person.PrimaryAlias != null &&
                Person.PrimaryAlias.Id != CurrentPersonAlias.Id )
            {
                var transaction = new PersonViewTransaction();
                transaction.DateTimeViewed = RockDateTime.Now;
                transaction.TargetPersonAliasId = Person.PrimaryAlias.Id;
                transaction.ViewerPersonAliasId = CurrentPersonAlias.Id;
                transaction.Source = RockPage.PageTitle;
                transaction.IPAddress = Request.UserHostAddress;
                RockQueue.TransactionQueue.Enqueue( transaction );

                Context.Items.Add( "PersonViewed", "Handled" );
            }
        }