Example #1
0
        /// <summary>
        /// Outputs server control content to a provided <see cref="T:System.Web.UI.HtmlTextWriter" /> object and stores tracing information about the control if tracing is enabled.
        /// </summary>
        /// <param name="writer">The <see cref="T:System.Web.UI.HtmlTextWriter" /> object that receives the control content.</param>
        public override void RenderControl(HtmlTextWriter writer)
        {
            var rockPage = this.Page as RockPage;

            if (rockPage != null)
            {
                writer.AddAttribute("class", "tag-wrap");
                writer.RenderBeginTag(HtmlTextWriterTag.Div);
                base.RenderControl(writer);
                writer.RenderEndTag();

                var script = string.Format(@"
Rock.controls.tagList.initialize({{
    controlId: '{0}',
    entityTypeId: '{1}',
    currentPersonId: '{2}',
    entityGuid: '{3}',
    entityQualifierColumn: '{4}',
    entityQualifierValue: '{5}',
    preventTagCreation: {6},
    delaySave: {7}
}});",
                                           this.ClientID,
                                           EntityTypeId,
                                           rockPage.CurrentPersonId,
                                           EntityGuid.ToString(),
                                           string.IsNullOrWhiteSpace(EntityQualifierColumn) ? string.Empty : EntityQualifierColumn,
                                           string.IsNullOrWhiteSpace(EntityQualifierValue) ? string.Empty : EntityQualifierValue,
                                           (!AllowNewTags).ToString().ToLower(),
                                           DelaySave.ToString().ToLower());
                ScriptManager.RegisterStartupScript(this, this.GetType(), "tag_picker_" + this.ID, script, true);
            }
        }
Example #2
0
        public void ToString_ExtractsPackedValues()
        {
            var g0 = new EntityGuid(1, 2, 3);
            var g1 = new EntityGuid(-1, 0xF0, 0x89ABCDEF);

            Assert.That(g0.ToString(), Is.EqualTo("1:02:00000003"));
            Assert.That(g1.ToString(), Is.EqualTo("-1:f0:89abcdef"));
        }
Example #3
0
        public void ToGuid()
        {
            var entityGuid = new EntityGuid {
                a = 81985529216486895, b = 81985529216486895
            };

            Assert.AreEqual(entityGuid.ToString(), entityGuid.ToGuid().ToString("N"));
        }
Example #4
0
        /// <summary>
        /// Outputs server control content to a provided <see cref="T:System.Web.UI.HtmlTextWriter" /> object and stores tracing information about the control if tracing is enabled.
        /// </summary>
        /// <param name="writer">The <see cref="T:System.Web.UI.HtmlTextWriter" /> object that receives the control content.</param>
        public override void RenderControl(HtmlTextWriter writer)
        {
            var rockPage = this.Page as RockPage;

            if (rockPage != null)
            {
                writer.AddAttribute("class", "taglist " + this.CssClass);
                writer.RenderBeginTag(HtmlTextWriterTag.Div);

                writer.AddAttribute("class", "tag-wrap");
                writer.RenderBeginTag(HtmlTextWriterTag.Div);

                // Hide the source textbox until it's processed by the JS
                this.Style[HtmlTextWriterStyle.Display] = "none";

                string cssTemp = this.CssClass;
                this.CssClass = string.Empty;
                base.RenderControl(writer);
                this.CssClass = cssTemp;

                writer.RenderEndTag();

                writer.RenderEndTag();

                var script = string.Format(@"
Rock.controls.tagList.initialize({{
    controlId: '{0}',
    entityTypeId: '{1}',
    currentPersonId: '{2}',
    entityGuid: '{3}',
    entityQualifierColumn: '{4}',
    entityQualifierValue: '{5}',
    preventTagCreation: {6},
    delaySave: {7},
    categoryGuid: '{8}',
    includeInactive: {9}
}});",
                                           this.ClientID,
                                           EntityTypeId,
                                           rockPage.CurrentPerson != null ? rockPage.CurrentPerson.Id.ToString() : "",
                                           EntityGuid.ToString(),
                                           string.IsNullOrWhiteSpace(EntityQualifierColumn) ? string.Empty : EntityQualifierColumn,
                                           string.IsNullOrWhiteSpace(EntityQualifierValue) ? string.Empty : EntityQualifierValue,
                                           (!AllowNewTags).ToString().ToLower(),
                                           DelaySave.ToString().ToLower(),
                                           CategoryGuid.HasValue ? CategoryGuid.Value.ToString() : "",
                                           this.ShowInactiveTags.ToString().ToLower());
                ScriptManager.RegisterStartupScript(this, this.GetType(), "tag_picker_" + this.ID, script, true);
            }
        }
        public async Task UpdateReadmodelHandler()
        {
            EntityGuid = Guid.NewGuid();

            var queryRepository = new ReadModelRepositoryMongoDb(EventMongoDb);

            var readModelHandler = new ReadModelEventHandler <TestReadModelQuerries>(queryRepository,
                                                                                     new VersionRepositoryMongoDb(EventMongoDb), new FeedMock2());
            await readModelHandler.UpdateAsync();

            var result = await queryRepository.LoadAsync <TestReadModelQuerries>(EntityGuid.ToString());

            Assert.AreEqual(EntityGuid.ToString(), result.Value.Id);
            Assert.AreEqual(14, result.Value.Version);
            Assert.AreEqual("testName", result.Value.Name);
        }
        public async Task UpdateModel_TwoEntities()
        {
            EntityGuid  = Guid.NewGuid();
            EntityGuid2 = Guid.NewGuid();

            var queryRepository = new ReadModelRepositoryMongoDb(EventMongoDb);

            var readModelHandler = new ReadModelEventHandler <TestReadModelQuerries>(queryRepository,
                                                                                     new VersionRepositoryMongoDb(EventMongoDb), new FeedMock3());

            await readModelHandler.UpdateAsync();

            var result = await queryRepository.LoadAsync <TestReadModelQuerries>(EntityGuid.ToString());

            var result2 = await queryRepository.LoadAsync <TestReadModelQuerries>(EntityGuid2.ToString());

            Assert.AreEqual(EntityGuid.ToString(), result.Value.Id);
            Assert.AreEqual(EntityGuid2.ToString(), result2.Value.Id);
        }
        public async Task UpdateModel_VersionUpdatedExplicitly()
        {
            EntityGuid = Guid.NewGuid();

            var queryRepository = new ReadModelRepositoryMongoDb(EventMongoDb);

            var readModelHandler = new ReadModelEventHandler <TestReadModelQuerries_VerionedHandle>(
                queryRepository,
                new VersionRepositoryMongoDb(EventMongoDb),
                new FeedMockVersioned());

            await readModelHandler.UpdateAsync();

            var result = await queryRepository.LoadAsync <TestReadModelQuerries_VerionedHandle>(EntityGuid.ToString());

            Assert.AreEqual(EntityGuid.ToString(), result.Value.EntityId);
            Assert.AreEqual(12, result.Value.InnerVersion);
            Assert.AreEqual(14, result.Value.Version);
        }
        public async Task UpdateModel_EventsNotAppliedStillUpdatesVersion()
        {
            EntityGuid = Guid.NewGuid();

            var queryRepository = new ReadModelRepositoryMongoDb(EventMongoDb);

            var readModelHandler = new ReadModelEventHandler <TestReadModelQuerries_OnlyOneEventAndVersionIsCounted>(
                queryRepository,
                new VersionRepositoryMongoDb(EventMongoDb),
                new FeedMock5());

            await readModelHandler.UpdateAsync();

            var result = await queryRepository.LoadAsync <TestReadModelQuerries_OnlyOneEventAndVersionIsCounted>
                             (EntityGuid.ToString());

            Assert.AreEqual(14, result.Value.Version);
            Assert.AreEqual(null, result.Value.Name);
            Assert.AreEqual(EntityGuid.ToString(), result.Value.Id);
        }
        public async Task UpdateModel_EventsPresentThatAreNotHandleble()
        {
            EntityGuid  = Guid.NewGuid();
            EntityGuid2 = Guid.NewGuid();

            var queryRepository = new ReadModelRepositoryMongoDb(EventMongoDb);

            var readModelHandler = new ReadModelEventHandler <TestReadModelQuerries>(queryRepository, new VersionRepositoryMongoDb(EventMongoDb), new FeedMock4());

            await readModelHandler.UpdateAsync();

            var result = await queryRepository.LoadAsync <TestReadModelQuerries>(EntityGuid.ToString());

            var result2 = await queryRepository.LoadAsync <TestReadModelQuerries>(EntityGuid2.ToString());

            Assert.AreEqual(EntityGuid.ToString(), result.Value.Id);
            var condition = result2.Is <NotFound>();

            Assert.IsTrue(condition);
        }
        public async Task UpdateModel_TwoParallelReadModelHandler_SerializationBug()
        {
            EntityGuid  = Guid.NewGuid();
            EntityGuid2 = Guid.NewGuid();

            var queryRepository = new ReadModelRepositoryMongoDb(EventMongoDb);

            var readModelHandler = new ReadModelEventHandler <TestReadModelQuerries_TwoParallelFeeds1>(queryRepository, new VersionRepositoryMongoDb(EventMongoDb), new FeedMock6());

            var readModelHandler2 = new ReadModelEventHandler <TestReadModelQuerries_TwoParallelFeeds2>(queryRepository, new VersionRepositoryMongoDb(EventMongoDb), new FeedMock7());

            await readModelHandler.UpdateAsync();

            await readModelHandler2.UpdateAsync();

            var result = await queryRepository.LoadAsync <TestReadModelQuerries_TwoParallelFeeds1>(EntityGuid.ToString());

            var result2 = await queryRepository.LoadAsync <TestReadModelQuerries_TwoParallelFeeds2>(EntityGuid2.ToString());

            Assert.AreEqual(EntityGuid.ToString(), result.Value.Id);
            Assert.AreEqual(EntityGuid2.ToString(), result2.Value.IdTotallyDifferenzt);
        }